<?php

define('_PROJECT_DIR', getcwd() . '/../../'); // Директория проекта, относительно неё строится всё остальное
define('_ROOT_DIR', getcwd() . '/');       // Директория где точка входа (index.php)
define('_SHOP_DIR', getcwd() . '/../');      // Директория где точка входа в магазин (index.php)

const _ENGINE_DIR = _PROJECT_DIR . 'engine/';   // Директория с движкой
const _SITE_PATH = 'admin/';                          // Если index.php внутри какого-то пути http, например admin/
const _BASE_DIR = _ENGINE_DIR . 'admin/';         // Базовая директория, внутри которой модули и шаблоны
const __REAL_CAT_OBJ_ = '_sys_cat_admin';

header("Content-type: text/html; charset=utf-8");

define(_DEBUG_, true);

require_once(_ENGINE_DIR . 'bootstrap.php');

$str = $_GET['str'];
$group_id = intval($_GET['group_id']);
$ret = [];




if(!$auth->is_login()) {
    echo json_encode($ret);
    die();
}


if ($_GET['add']) {


    if ($group_id > 0 && $str != "") {

        $url_part = genFilterUrlPart($str);


        $core_db->q('INSERT INTO `global_tags_titles` (`tag_group_id`,`title`,`url_part`) values ("'.intval($group_id).'","'.db_escape_string($str).'","'.db_escape_string($url_part).'")');
        $id = $core_db->insert_id();


        die('<option value="'.$id.'" selected>'.$str.'</option>');
    }

} else {

    if ($_GET['preload'] && $group_id > 0) {

        $obj = new cobject('global_tags_titles');
        $cnt = $obj->getSize(" AND global_tags_titles.tag_group_id = " . $group_id);
        $ret = [];
        if ($cnt < 30) {
            $sql = "SELECT global_tags_titles.id, global_tags_titles.title as val
						FROM global_tags_titles 
					WHERE global_tags_titles.tag_group_id = " . $group_id . " ORDER BY `title`";
            $db2 = $core_db->q($sql);
            while($db2->nr()) {
                $line = [];
                $line['value'] = $db2->f('id');
                //		$line['text'] = '<small class="attrgrpname">'.$db2->f('title').'</small> '.$db2->f('val');
                $line['text'] = $db2->f('val');
                $ret[] = $line;
            }

        }
        echo json_encode($ret);
    } else {
        $sql = "SELECT global_tags_titles.id, global_tags_titles.title as val, global_tags_groups.title
					FROM global_tags_titles 
				LEFT JOIN `global_tags_groups` ON (`global_tags_groups`.id = tag_group_id)
				WHERE global_tags_titles.title like '".db_escape_string($str)."%' ";

        if ($group_id > 0) {
            $sql .= " AND global_tags_titles.tag_group_id = " . $group_id . " ";
        }

        $sql .= " order by title asc Limit 50";

        $db2 = $core_db->q($sql);
        while($db2->nr()) {
            $line = [];
            $line['value'] = $db2->f('id');
            //		$line['text'] = '<small class="attrgrpname">'.$db2->f('title').'</small> '.$db2->f('val');
            $line['text'] = $db2->f('val');
            $ret[] = $line;
        }
        echo json_encode($ret);
    }

}

die();


function genFilterUrlPart($title) {



    $obj = new cobject('global_tags_titles');

    $url_base = 'f-'.translit($title);
    $url_base = preg_replace('/[^a-z0-9\-]/', '', strtolower($url_base));
    $url_base = preg_replace('/\-{2,}/', '-', $url_base);


    $url_part = $url_base;
    $i = 0;
    while ($obj->getSize(' AND `url_part` = "'.db_escape_string($url_part).'" ')) {
        $i++;
        $url_part = $url_base . '-' .$i;
    }

    return $url_part;
}
