if (db_get_field("SELECT COUNT(*) FROM ?:tags WHERE tag = ?s", $tag['tag'])) { db_query("UPDATE ?:tags SET status = ?s WHERE tag = ?s", $tag['status'], $tag['tag']); } else { $t = db_query("INSERT INTO ?:tags ?e", $tag); } } } return array(CONTROLLER_STATUS_OK, "tags.manage"); } if ($mode == 'manage') { $params = $_REQUEST; $params['count_objects'] = true; list($tags, $search) = fn_get_tags($params, Registry::get('settings.Appearance.admin_elements_per_page')); $view->assign('tags', $tags); $view->assign('search', $search); $view->assign('tag_objects', fn_get_tag_objects()); // ajax autocomplete mode } elseif ($mode == 'list') { if (defined('AJAX_REQUEST')) { $tags = db_get_fields("SELECT tag FROM ?:tags WHERE tag LIKE ?l", $_REQUEST['q'] . '%'); Registry::get('ajax')->assign('autocomplete', $tags); exit; } } elseif ($mode == 'delete') { if (!empty($_REQUEST['tag_id'])) { fn_delete_tags_by_ids((array) $_REQUEST['tag_id']); } return array(CONTROLLER_STATUS_REDIRECT, "tags.manage"); } function fn_delete_tags_by_ids($tag_ids) {
foreach ($_REQUEST['tags_data'] as $tag_id => $tag_data) { fn_update_tag($tag_data, $tag_id); } } if ($mode == 'update') { $tag_id = fn_update_tag($_REQUEST['tag_data'], $_REQUEST['tag_id']); } return array(CONTROLLER_STATUS_OK, "tags.manage"); } if ($mode == 'manage') { $params = $_REQUEST; $params['count_objects'] = true; list($tags, $search) = fn_get_tags($params, Registry::get('settings.Appearance.admin_elements_per_page')); Registry::get('view')->assign('tags', $tags); Registry::get('view')->assign('search', $search); Registry::get('view')->assign('tag_objects', fn_get_tag_objects()); // ajax autocomplete mode } elseif ($mode == 'list') { if (defined('AJAX_REQUEST')) { $tags = fn_get_tag_names(array('tag' => $_REQUEST['q'])); Registry::get('ajax')->assign('autocomplete', $tags); exit; } } elseif ($mode == 'delete' && !empty($auth['user_id'])) { if (!empty($_REQUEST['tag_id'])) { fn_delete_tag($_REQUEST['tag_id']); } elseif (!empty($_REQUEST['tag_data'])) { $params = $_REQUEST['tag_data']; $params['user_id'] = $auth['user_id']; fn_delete_tags_by_params($params); }
fn_delete_tags_by_params($params); } if (defined('AJAX_REQUEST')) { Tygh::$app['ajax']->assign('tag_name', fn_get_tag_names($params)); exit; } } return array(CONTROLLER_STATUS_OK, 'tags.manage'); } if ($mode == 'manage') { $params = $_REQUEST; $params['count_objects'] = true; list($tags, $search) = fn_get_tags($params, Registry::get('settings.Appearance.admin_elements_per_page')); Tygh::$app['view']->assign('tags', $tags); Tygh::$app['view']->assign('search', $search); Tygh::$app['view']->assign('tag_objects', fn_get_tag_objects()); // ajax autocomplete mode } elseif ($mode == 'list') { if (defined('AJAX_REQUEST')) { $tags = fn_get_tag_names(array('tag' => $_REQUEST['q'])); Tygh::$app['ajax']->assign('autocomplete', $tags); exit; } } function fn_get_tag_objects() { $types = array(); if (Registry::get('addons.tags.tags_for_products') == 'Y') { $types['P'] = array('name' => 'products', 'url' => 'products.manage'); } if (Registry::get('addons.tags.tags_for_pages') == 'Y') {