* @copyright Copyright (c) CMSWorks.ru, littledev.ru * @license BSD * */ defined('COT_CODE') or die('Wrong URL.'); if ($cfg['plugin']['tagslance']['projects'] && cot_auth('plug', 'tags', 'W')) { require_once cot_incfile('tags', 'plug'); // I18n if (cot_get_caller() == 'i18n.projects') { global $i18n_locale; $tags_extra = array('tag_locale' => $i18n_locale); } else { $tags_extra = null; } $rtags = cot_import('rtags', 'P', 'TXT'); $tags = cot_tag_parse($rtags); $old_tags = cot_tag_list($id, 'projects', $tags_extra); $kept_tags = array(); $new_tags = array(); // Find new tags, count old tags that have been left $cnt = 0; foreach ($tags as $tag) { $p = array_search($tag, $old_tags); if ($p !== false) { $kept_tags[] = $old_tags[$p]; $cnt++; } else { $new_tags[] = $tag; } } // Remove old tags that have been removed $rem_tags = array_diff($old_tags, $kept_tags);
* @version 1.0.0 * @author CMSWorks Team * @copyright Copyright (c) CMSWorks.ru, littledev.ru * @license BSD * */ defined('COT_CODE') or die('Wrong URL.'); if ($cfg['plugin']['tagslance']['projects']) { if (!isset($tags)) { require_once cot_incfile('projects', 'plug'); if (cot_plugin_active('i18n') && $i18n_enabled && $i18n_notmain) { $tags_extra = array('tag_locale' => $i18n_locale); } else { $tags_extra = null; } $item_id = $item['item_id']; $tags = cot_tag_list($item_id, 'projects', $tags_extra); } if (count($tags) > 0) { $tag_i = 0; foreach ($tags as $tag) { $tag_u = $cfg['plugin']['tags']['translit'] ? cot_translit_encode($tag) : $tag; $tl = $lang != 'en' && $tag_u != $tag ? 1 : null; $t->assign(array('PRJ_TAGS_ROW_TAG' => $cfg['plugin']['tags']['title'] ? htmlspecialchars(cot_tag_title($tag)) : htmlspecialchars($tag), 'PRJ_TAGS_ROW_URL' => cot_url('plug', array('e' => 'tags', 'a' => 'projects', 't' => str_replace(' ', '-', $tag_u), 'tl' => $tl)))); $t->parse('MAIN.PRJ_TAGS_ROW'); $tag_i++; } } else { $t->assign(array('PRJ_NO_TAGS' => $L['tags_Tag_cloud_none'])); $t->parse('MAIN.PRJ_NO_TAGS'); } }
function cot_tag_search_projects($query) { global $db, $t, $L, $lang, $cfg, $usr, $qs, $d, $db_tag_references, $db_projects, $o, $row, $sys; if (!cot_module_active('projects')) { return; } $query = cot_tag_parse_query($query, 'p.item_id'); if (empty($query)) { return; } $totalitems = $db->query("SELECT DISTINCT COUNT(*)\n\t\tFROM {$db_tag_references} AS r LEFT JOIN {$db_projects} AS p\n\t\t\tON r.tag_item = p.item_id\n\t\tWHERE r.tag_area = 'projects' AND ({$query}) AND p.item_state = 0")->fetchColumn(); switch ($o) { case 'title': $order = 'ORDER BY `item_title`'; break; case 'date': $order = 'ORDER BY `item_date` DESC'; break; case 'category': $order = 'ORDER BY `item_cat`'; break; default: $order = ''; } /* == Hook == */ foreach (cot_getextplugins('tags.search.projects.query') as $pl) { include $pl; } /* ===== */ $sql = $db->query("SELECT DISTINCT p.* {$join_columns}\n\t\tFROM {$db_tag_references} AS r LEFT JOIN {$db_projects} AS p\n\t\t\tON r.tag_item = p.item_id {$join_tables}\n\t\tWHERE r.tag_area = 'projects' AND ({$query}) AND p.item_id IS NOT NULL AND p.item_state = 0 {$join_where}\n\t\t{$order}\n\t\tLIMIT {$d}, {$cfg['maxrowsperpage']}"); $t->assign('TAGS_RESULT_TITLE', $L['tags_Found_in_projects']); $pcount = $sql->rowCount(); /* == Hook : Part 1 == */ $extp = cot_getextplugins('tags.search.projects.loop'); /* ===== */ if ($pcount > 0) { foreach ($sql->fetchAll() as $row) { $tags = cot_tag_list($row['item_id'], 'projects'); $tag_list = ''; $tag_i = 0; foreach ($tags as $tag) { $tag_t = $cfg['plugin']['tags']['title'] ? cot_tag_title($tag) : $tag; $tag_u = $cfg['plugin']['tags']['translit'] ? cot_translit_encode($tag) : $tag; $tl = $lang != 'en' && $tag_u != $tag ? 1 : null; if ($tag_i > 0) { $tag_list .= ', '; } $tag_list .= cot_rc_link(cot_url('plug', array('e' => 'tags', 'a' => 'projects', 't' => str_replace(' ', '-', $tag_u), 'tl' => $tl)), htmlspecialchars($tag_t)); $tag_i++; } $t->assign(cot_generate_projecttags($row, 'TAGS_RESULT_ROW_')); $t->assign(array('TAGS_RESULT_ROW_TITLE' => htmlspecialchars($row['item_title']), 'TAGS_RESULT_ROW_PATH' => cot_breadcrumbs(cot_structure_buildpath('projects', $row['item_cat']), false), 'TAGS_RESULT_ROW_TAGS' => $tag_list)); /* == Hook : Part 2 == */ foreach ($extp as $pl) { include $pl; } /* ===== */ $t->parse('MAIN.TAGS_RESULT.TAGS_RESULT_ROW'); } $sql->closeCursor(); $qs_u = $cfg['plugin']['tags']['translit'] ? cot_translit_encode($qs) : $qs; $tl = $lang != 'en' && $qs_u != $qs ? 1 : null; $pagenav = cot_pagenav('plug', array('e' => 'tags', 'a' => 'projects', 't' => $qs_u, 'tl' => $tl), $d, $totalitems, $cfg['maxrowsperpage']); $t->assign(array('TAGS_PAGEPREV' => $pagenav['prev'], 'TAGS_PAGENEXT' => $pagenav['next'], 'TAGS_PAGNAV' => $pagenav['main'])); /* == Hook == */ foreach (cot_getextplugins('tags.search.projects.tags') as $pl) { include $pl; } /* ===== */ } if ($pcount == 0) { $t->parse('MAIN.TAGS_RESULT.TAGS_RESULT_NONE'); } $t->parse('MAIN.TAGS_RESULT'); }
* @version 1.0.0 * @author CMSWorks Team * @copyright Copyright (c) CMSWorks.ru, littledev.ru * @license BSD * */ defined('COT_CODE') or die('Wrong URL.'); if ($cfg['plugin']['tagslance']['market']) { if (!isset($tags)) { require_once cot_incfile('market', 'plug'); if (cot_plugin_active('i18n') && $i18n_enabled && $i18n_notmain) { $tags_extra = array('tag_locale' => $i18n_locale); } else { $tags_extra = null; } $item_id = $item['item_id']; $tags = cot_tag_list($item_id, 'market', $tags_extra); } if (count($tags) > 0) { $tag_i = 0; foreach ($tags as $tag) { $tag_u = $cfg['plugin']['tags']['translit'] ? cot_translit_encode($tag) : $tag; $tl = $lang != 'en' && $tag_u != $tag ? 1 : null; $t->assign(array('PRD_TAGS_ROW_TAG' => $cfg['plugin']['tags']['title'] ? htmlspecialchars(cot_tag_title($tag)) : htmlspecialchars($tag), 'PRD_TAGS_ROW_URL' => cot_url('plug', array('e' => 'tags', 'a' => 'market', 't' => str_replace(' ', '-', $tag_u), 'tl' => $tl)))); $t->parse('MAIN.PRD_TAGS_ROW'); $tag_i++; } } else { $t->assign(array('PRD_NO_TAGS' => $L['tags_Tag_cloud_none'])); $t->parse('MAIN.PRD_NO_TAGS'); } }
* @copyright Copyright (c) CMSWorks.ru, littledev.ru * @license BSD * */ defined('COT_CODE') or die('Wrong URL.'); if ($cfg['plugin']['tagslance']['market'] && cot_auth('plug', 'tags', 'W')) { require_once cot_incfile('tags', 'plug'); // I18n if (cot_get_caller() == 'i18n.market') { global $i18n_locale; $tags_extra = array('tag_locale' => $i18n_locale); } else { $tags_extra = null; } $rtags = cot_import('rtags', 'P', 'TXT'); $tags = cot_tag_parse($rtags); $old_tags = cot_tag_list($id, 'market', $tags_extra); $kept_tags = array(); $new_tags = array(); // Find new tags, count old tags that have been left $cnt = 0; foreach ($tags as $tag) { $p = array_search($tag, $old_tags); if ($p !== false) { $kept_tags[] = $old_tags[$p]; $cnt++; } else { $new_tags[] = $tag; } } // Remove old tags that have been removed $rem_tags = array_diff($old_tags, $kept_tags);
* @copyright (c) Cotonti Team * @license https://github.com/Cotonti/Cotonti/blob/master/License.txt */ defined('COT_CODE') or die('Wrong URL'); if ($cfg['plugin']['tags']['pages'] && cot_auth('plug', 'tags', 'W')) { require_once cot_incfile('tags', 'plug'); // I18n if (cot_get_caller() == 'i18n.page') { global $i18n_locale; $tags_extra = array('tag_locale' => $i18n_locale); } else { $tags_extra = null; } $rtags = cot_import('rtags', 'P', 'TXT'); $tags = cot_tag_parse($rtags); $old_tags = cot_tag_list($id, 'pages', $tags_extra); $kept_tags = array(); $new_tags = array(); // Find new tags, count old tags that have been left $cnt = 0; foreach ($tags as $tag) { $p = array_search($tag, $old_tags); if ($p !== false) { $kept_tags[] = $old_tags[$p]; $cnt++; } else { $new_tags[] = $tag; } } // Remove old tags that have been removed $rem_tags = array_diff($old_tags, $kept_tags);
/* ==================== [BEGIN_COT_EXT] Hooks=admin.page.loop Tags=admin.page.inc.tpl:{ADMIN_TAGS_ROW_TAG},{ADMIN_TAGS_ROW_URL} [END_COT_EXT] ==================== */ /** * Shows tags in page administration area * * @package Tags * @copyright (c) Cotonti Team * @license https://github.com/Cotonti/Cotonti/blob/master/License.txt */ defined('COT_CODE') or die('Wrong URL'); if ($cfg['plugin']['tags']['pages']) { require_once cot_incfile('tags', 'plug'); $item_id = $row['page_id']; $tags = cot_tag_list($item_id); if (count($tags) > 0) { $tag_i = 0; foreach ($tags as $tag) { $tag_u = $cfg['plugin']['tags']['translit'] ? cot_translit_encode($tag) : $tag; $tl = $lang != 'en' && $tag_u != $tag ? 1 : null; $t->assign(array('ADMIN_TAGS_ROW_TAG' => $cfg['plugin']['tags']['title'] ? htmlspecialchars(cot_tag_title($tag)) : htmlspecialchars($tag), 'ADMIN_TAGS_ROW_URL' => cot_url('plug', array('e' => 'tags', 'a' => 'pages', 't' => str_replace(' ', '-', $tag_u), 'tl' => $tl)))); $t->parse('PAGE.PAGE_ROW.ADMIN_TAGS_ROW'); $tag_i++; } } else { $t->parse('PAGE.PAGE_ROW.ADMIN_NO_TAGS'); } }
<?php /* ==================== [BEGIN_COT_EXT] Hooks=tags.search.pages.loop [END_COT_EXT] ==================== */ /** * Tag search for i18n pages * * @package I18n * @copyright (c) Cotonti Team * @license https://github.com/Cotonti/Cotonti/blob/master/License.txt */ defined('COT_CODE') or die('Wrong URL'); if (!empty($row['ipage_title'])) { $tags = cot_tag_list($row['page_id'], 'pages', array('tag_locale' => $row['ipage_locale'])); $tag_list = ''; $tag_i = 0; foreach ($tags as $tag) { $tag_t = $cfg['plugin']['tags']['title'] ? cot_tag_title($tag) : $tag; $tag_u = $cfg['plugin']['tags']['translit'] ? cot_translit_encode($tag) : $tag; $tl = $lang != 'en' && $tag_u != $tag ? 1 : null; if ($tag_i > 0) { $tag_list .= ', '; } $tag_list .= cot_rc_link(cot_url('plug', array('e' => 'tags', 'a' => 'pages', 't' => str_replace(' ', '-', $tag_u), 'tl' => $tl)), htmlspecialchars($tag_t), 'rel="nofollow"'); $tag_i++; } $t->assign(array('TAGS_RESULT_ROW_URL' => empty($row['page_alias']) ? cot_url('page', 'c=' . $row['page_cat'] . '&id=' . $row['page_id'] . '&l=' . $row['ipage_locale']) : cot_url('page', 'c=' . $row['page_cat'] . '&al=' . $row['page_alias'] . '&l=' . $row['ipage_locale']), 'TAGS_RESULT_ROW_TITLE' => htmlspecialchars($row['ipage_title']), 'TAGS_RESULT_ROW_PATH' => cot_breadcrumbs(cot_i18n_build_catpath('page', $row['page_cat'], $row['ipage_locale']), false), 'TAGS_RESULT_ROW_TAGS' => $tag_list)); }
* @license https://github.com/Cotonti/Cotonti/blob/master/License.txt */ defined('COT_CODE') or die('Wrong URL'); if ($cfg['plugin']['tags']['forums']) { require_once cot_incfile('tags', 'plug'); $item_id = $row['ft_id']; if (!isset($tags_rowset_list)) { // Load tags for all entries with 1 query $rowset_copy = $sql_forums_rowset; reset($rowset_copy); $tag_items = array(); foreach ($rowset_copy as $t_row) { $tag_items[] = $t_row['ft_id']; } unset($rowset_copy); $tags_rowset_list = cot_tag_list($tag_items, 'forums'); } $tags = isset($tags_rowset_list[$item_id]) ? $tags_rowset_list[$item_id] : array(); if (count($tags) > 0) { $tc_html = $L['Tags'] . ': '; $tag_i = 0; foreach ($tags as $tag) { $tag_t = $cfg['plugin']['tags']['title'] ? htmlspecialchars(cot_tag_title($tag)) : htmlspecialchars($tag); $tag_u = $cfg['plugin']['tags']['translit'] ? cot_translit_encode($tag) : $tag; $tl = $lang != 'en' && $tag_u != $tag ? 1 : null; if ($tag_i > 0) { $tc_html .= ', '; } $tc_html .= cot_rc('tags_link_tag', array('url' => cot_url('plug', array('e' => 'tags', 'a' => 'forums', 't' => str_replace(' ', '-', $tag_u), 'tl' => $tl)), 'tag_title' => $tag_t)); $tag_i++; }
* @version 1.0.0 * @author CMSWorks Team * @copyright Copyright (c) CMSWorks.ru, littledev.ru * @license BSD * */ defined('COT_CODE') or die('Wrong URL.'); if ($cfg['plugin']['tagslance']['folio']) { if (!isset($tags)) { require_once cot_incfile('folio', 'plug'); if (cot_plugin_active('i18n') && $i18n_enabled && $i18n_notmain) { $tags_extra = array('tag_locale' => $i18n_locale); } else { $tags_extra = null; } $item_id = $item['item_id']; $tags = cot_tag_list($item_id, 'folio', $tags_extra); } if (count($tags) > 0) { $tag_i = 0; foreach ($tags as $tag) { $tag_u = $cfg['plugin']['tags']['translit'] ? cot_translit_encode($tag) : $tag; $tl = $lang != 'en' && $tag_u != $tag ? 1 : null; $t->assign(array('PRD_TAGS_ROW_TAG' => $cfg['plugin']['tags']['title'] ? htmlspecialchars(cot_tag_title($tag)) : htmlspecialchars($tag), 'PRD_TAGS_ROW_URL' => cot_url('plug', array('e' => 'tags', 'a' => 'folio', 't' => str_replace(' ', '-', $tag_u), 'tl' => $tl)))); $t->parse('MAIN.PRD_TAGS_ROW'); $tag_i++; } } else { $t->assign(array('PRD_NO_TAGS' => $L['tags_Tag_cloud_none'])); $t->parse('MAIN.PRD_NO_TAGS'); } }
* @version 1.0.0 * @author CMSWorks Team * @copyright Copyright (c) CMSWorks.ru, littledev.ru * @license BSD * */ defined('COT_CODE') or die('Wrong URL.'); if ($cfg['plugin']['tagslance']['folio']) { require_once cot_incfile('tags', 'plug'); if (cot_plugin_active('i18n') && $i18n_enabled && $i18n_notmain) { $tags_extra = array('tag_locale' => $i18n_locale); } else { $tags_extra = null; } $item_id = $item['item_id']; if (!isset($tags_rowset_list)) { $tags_rowset_list = cot_tag_list(array_keys($sqllist_idset), 'folio', $tags_extra); } $tags = isset($tags_rowset_list[$item_id]) ? $tags_rowset_list[$item_id] : array(); if (count($tags) > 0) { $tag_i = 0; foreach ($tags as $tag) { $tag_u = $cfg['plugin']['tags']['translit'] ? cot_translit_encode($tag) : $tag; $tl = $lang != 'en' && $tag_u != $tag ? 1 : null; $t->assign(array('PRD_ROW_TAGS_ROW_TAG' => $cfg['plugin']['tags']['title'] ? htmlspecialchars(cot_tag_title($tag)) : htmlspecialchars($tag), 'PRD_ROW_TAGS_ROW_URL' => cot_url('plug', array('e' => 'tags', 'a' => 'folio', 't' => str_replace(' ', '-', $tag_u), 'tl' => $tl)))); $t->parse('MAIN.PRD_ROWS.PRD_ROW_TAGS_ROW'); $tag_i++; } } else { $t->assign(array('PRD_ROW_NO_TAGS' => $L['tags_Tag_cloud_none'])); $t->parse('MAIN.PRD_ROWS.PRD_ROW_NO_TAGS'); }
* @version 1.0.0 * @author CMSWorks Team * @copyright Copyright (c) CMSWorks.ru, littledev.ru * @license BSD * */ defined('COT_CODE') or die('Wrong URL.'); if ($cfg['plugin']['tagslance']['market']) { require_once cot_incfile('tags', 'plug'); if (cot_plugin_active('i18n') && $i18n_enabled && $i18n_notmain) { $tags_extra = array('tag_locale' => $i18n_locale); } else { $tags_extra = null; } $item_id = $item['item_id']; if (!isset($tags_rowset_list)) { $tags_rowset_list = cot_tag_list(array_keys($sqllist_idset), 'market', $tags_extra); } $tags = isset($tags_rowset_list[$item_id]) ? $tags_rowset_list[$item_id] : array(); if (count($tags) > 0) { $tag_i = 0; foreach ($tags as $tag) { $tag_u = $cfg['plugin']['tags']['translit'] ? cot_translit_encode($tag) : $tag; $tl = $lang != 'en' && $tag_u != $tag ? 1 : null; $t->assign(array('PRD_ROW_TAGS_ROW_TAG' => $cfg['plugin']['tags']['title'] ? htmlspecialchars(cot_tag_title($tag)) : htmlspecialchars($tag), 'PRD_ROW_TAGS_ROW_URL' => cot_url('plug', array('e' => 'tags', 'a' => 'market', 't' => str_replace(' ', '-', $tag_u), 'tl' => $tl)))); $t->parse('MAIN.PRD_ROWS.PRD_ROW_TAGS_ROW'); $tag_i++; } } else { $t->assign(array('PRD_ROW_NO_TAGS' => $L['tags_Tag_cloud_none'])); $t->parse('MAIN.PRD_ROWS.PRD_ROW_NO_TAGS'); }
<?php /* ==================== [BEGIN_COT_EXT] Hooks=page.main [END_COT_EXT] ==================== */ /** * Generates page keywords * * @package Tags * @copyright (c) Cotonti Team * @license https://github.com/Cotonti/Cotonti/blob/master/License.txt */ defined('COT_CODE') or die('Wrong URL'); if ($cfg['plugin']['tags']['pages']) { require_once cot_incfile('tags', 'plug'); // I18n or not i18n if (cot_plugin_active('i18n') && $i18n_enabled && $i18n_notmain) { $tags_extra = array('tag_locale' => $i18n_locale); } else { $tags_extra = null; } $item_id = $pag['page_id']; $tags = cot_tag_list($item_id, 'pages', $tags_extra); $tag_keywords = implode(', ', $tags); if (!empty($tag_keywords) && empty($pag['page_keywords'])) { $out['keywords'] = $tag_keywords; } }
/** * Search by tag in forums * * @param string $query User-entered query string * @global CotDB $db */ function cot_tag_search_forums($query) { global $db, $t, $L, $lang, $cfg, $usr, $qs, $d, $db_tag_references, $db_forum_topics, $o, $row; if (!cot_module_active('forums')) { return; } $query = cot_tag_parse_query($query, 't.ft_id'); if (empty($query)) { return; } $maxperpage = cot::$cfg['maxrowsperpage'] && is_numeric(cot::$cfg['maxrowsperpage']) && cot::$cfg['maxrowsperpage'] > 0 ? cot::$cfg['maxrowsperpage'] : 15; $join_columns = ''; $join_tables = ''; $join_where = ''; switch ($o) { case 'title': $order = 'ORDER BY `ft_title`'; break; case 'date': $order = 'ORDER BY `ft_updated` DESC'; break; case 'category': $order = 'ORDER BY `ft_cat`'; break; default: $order = ''; } /* == Hook == */ foreach (cot_getextplugins('tags.search.forums.query') as $pl) { include $pl; } /* ===== */ $totalitems = $db->query("SELECT DISTINCT COUNT(*)\n\t\tFROM {$db_tag_references} AS r LEFT JOIN {$db_forum_topics} AS t\n\t\t\tON r.tag_item = t.ft_id {$join_tables}\n\t\tWHERE r.tag_area = 'forums' AND ({$query}) {$join_where}")->fetchColumn(); $sql = $db->query("SELECT DISTINCT t.ft_id, t.ft_cat, t.ft_title {$join_columns}\n\t\tFROM {$db_tag_references} AS r LEFT JOIN {$db_forum_topics} AS t\n\t\t\tON r.tag_item = t.ft_id {$join_tables}\n\t\tWHERE r.tag_area = 'forums' AND ({$query}) AND t.ft_id IS NOT NULL {$join_where}\n\t\t{$order}\n\t\tLIMIT {$d}, {$maxperpage}"); $t->assign('TAGS_RESULT_TITLE', $L['tags_Found_in_forums']); if ($sql->rowCount() > 0) { while ($row = $sql->fetch()) { $tags = cot_tag_list($row['ft_id'], 'forums'); $tag_list = ''; $tag_i = 0; foreach ($tags as $tag) { $tag_t = $cfg['plugin']['tags']['title'] ? cot_tag_title($tag) : $tag; $tag_u = $cfg['plugin']['tags']['translit'] ? cot_translit_encode($tag) : $tag; $tl = $lang != 'en' && $tag_u != $tag ? 1 : null; if ($tag_i > 0) { $tag_list .= ', '; } $tag_list .= cot_rc_link(cot_url('plug', array('e' => 'tags', 'a' => 'forums', 't' => str_replace(' ', '-', $tag_u), 'tl' => $tl)), htmlspecialchars($tag_t)); $tag_i++; } $master = $row['fs_masterid'] > 0 ? array($row['fs_masterid'], $row['fs_mastername']) : false; $t->assign(array('TAGS_RESULT_ROW_URL' => cot_url('forums', 'm=posts&q=' . $row['ft_id']), 'TAGS_RESULT_ROW_TITLE' => htmlspecialchars($row['ft_title']), 'TAGS_RESULT_ROW_PATH' => cot_breadcrumbs(cot_forums_buildpath($row['ft_cat']), false), 'TAGS_RESULT_ROW_TAGS' => $tag_list)); $t->parse('MAIN.TAGS_RESULT.TAGS_RESULT_ROW'); } $sql->closeCursor(); $qs_u = $cfg['plugin']['tags']['translit'] ? cot_translit_encode($qs) : $qs; $tl = $lang != 'en' && $qs_u != $qs ? 1 : null; $pagenav = cot_pagenav('plug', array('e' => 'tags', 'a' => 'forums', 't' => $qs_u, 'tl' => $tl), $d, $totalitems, $maxperpage); $t->assign(array('TAGS_PAGEPREV' => $pagenav['prev'], 'TAGS_PAGENEXT' => $pagenav['next'], 'TAGS_PAGNAV' => $pagenav['main'])); } else { $t->parse('MAIN.TAGS_RESULT.TAGS_RESULT_NONE'); } $t->parse('MAIN.TAGS_RESULT'); }
<?php /* ==================== [BEGIN_COT_EXT] Hooks=forums.posts.main [END_COT_EXT] ==================== */ /** * Generates keywords from topic tags * * @package Tags * @copyright (c) Cotonti Team * @license https://github.com/Cotonti/Cotonti/blob/master/License.txt */ defined('COT_CODE') or die('Wrong URL'); if ($cfg['plugin']['tags']['forums']) { require_once cot_incfile('tags', 'plug'); $tags = cot_tag_list($q, 'forums'); $tag_keywords = implode(', ', $tags); $out['keywords'] = $tag_keywords; }
<?php /** * [BEGIN_COT_EXT] * Hooks=market.add.tags * [END_COT_EXT] */ /** * plugin tagslance for Cotonti Siena * * @package tagslance * @version 1.0.0 * @author CMSWorks Team * @copyright Copyright (c) CMSWorks.ru, littledev.ru * @license BSD * */ defined('COT_CODE') or die('Wrong URL.'); if ($cfg['plugin']['tagslance']['market'] && cot_auth('plug', 'tags', 'W')) { require_once cot_incfile('tags', 'plug'); $t->assign(array('PRDADD_TOP_TAGS' => $L['Tags'], 'PRDADD_TOP_TAGS_HINT' => $L['tags_comma_separated'], 'PRDADD_FORM_TAGS' => cot_rc('tags_input_editpage', array('tags' => '')))); if (cot_get_caller() == 'i18n.market') { $t->assign(array('I18N_PRD_TAGS' => implode(', ', cot_tag_list($id)), 'I18N_IPRD_TAGS' => cot_rc('tags_input_editpage', array('tags' => '')))); } $t->parse('MAIN.TAGS'); }
if (cot_plugin_active('i18n') && $i18n_enabled && $i18n_notmain) { $tags_extra = array('tag_locale' => $i18n_locale); } else { $tags_extra = null; } $item_id = $pag['page_id']; if (!isset($tags_rowset_list)) { // Load tags for all entries with 1 query $rowset_copy = $sql_rowset; reset($rowset_copy); $tag_items = array(); foreach ($rowset_copy as $t_row) { $tag_items[] = $t_row['page_id']; } unset($rowset_copy); $tags_rowset_list = cot_tag_list($tag_items, 'pages', $tags_extra); } $tags = isset($tags_rowset_list[$item_id]) ? $tags_rowset_list[$item_id] : array(); if (count($tags) > 0) { $tag_ii = 0; foreach ($tags as $tag) { $tag_u = $cfg['plugin']['tags']['translit'] ? cot_translit_encode($tag) : $tag; $tl = $lang != 'en' && $tag_u != $tag ? 1 : null; $news->assign(array('PAGE_TAGS_ROW_TAG' => $cfg['plugin']['tags']['title'] ? htmlspecialchars(cot_tag_title($tag)) : htmlspecialchars($tag), 'PAGE_TAGS_ROW_TAG_COUNT' => $tag_ii, 'PAGE_TAGS_ROW_URL' => cot_url('plug', array('e' => 'tags', 'a' => 'pages', 't' => str_replace(' ', '-', $tag_u), 'tl' => $tl)))); $news->parse('NEWS.PAGE_ROW.PAGE_TAGS.PAGE_TAGS_ROW'); $tag_ii++; } $news->parse('NEWS.PAGE_ROW.PAGE_TAGS'); } else { $news->parse('NEWS.PAGE_ROW.PAGE_NO_TAGS'); }
* @version 1.0.0 * @author CMSWorks Team * @copyright Copyright (c) CMSWorks.ru, littledev.ru * @license BSD * */ defined('COT_CODE') or die('Wrong URL.'); if ($cfg['plugin']['tagslance']['projects']) { require_once cot_incfile('tags', 'plug'); if (cot_plugin_active('i18n') && $i18n_enabled && $i18n_notmain) { $tags_extra = array('tag_locale' => $i18n_locale); } else { $tags_extra = null; } $item_id = $item['item_id']; if (!isset($tags_rowset_list)) { $tags_rowset_list = cot_tag_list(array_keys($sqllist_idset), 'projects', $tags_extra); } $tags = isset($tags_rowset_list[$item_id]) ? $tags_rowset_list[$item_id] : array(); if (count($tags) > 0) { $tag_i = 0; foreach ($tags as $tag) { $tag_u = $cfg['plugin']['tags']['translit'] ? cot_translit_encode($tag) : $tag; $tl = $lang != 'en' && $tag_u != $tag ? 1 : null; $t_pr->assign(array('PRJ_ROW_TAGS_ROW_TAG' => $cfg['plugin']['tags']['title'] ? htmlspecialchars(cot_tag_title($tag)) : htmlspecialchars($tag), 'PRJ_ROW_TAGS_ROW_URL' => cot_url('plug', array('e' => 'tags', 'a' => 'projects', 't' => str_replace(' ', '-', $tag_u), 'tl' => $tl)))); $t_pr->parse('PROJECTS.PRJ_ROWS.PRJ_ROW_TAGS_ROW'); $tag_i++; } } else { $t_pr->assign(array('PRJ_ROW_NO_TAGS' => $L['tags_Tag_cloud_none'])); $t_pr->parse('PROJECTS.PRJ_ROWS.PRJ_ROW_NO_TAGS'); }
* @copyright Copyright (c) CMSWorks.ru, littledev.ru * @license BSD * */ defined('COT_CODE') or die('Wrong URL.'); if ($cfg['plugin']['tagslance']['folio'] && cot_auth('plug', 'tags', 'W')) { require_once cot_incfile('tags', 'plug'); // I18n if (cot_get_caller() == 'i18n.folio') { global $i18n_locale; $tags_extra = array('tag_locale' => $i18n_locale); } else { $tags_extra = null; } $rtags = cot_import('rtags', 'P', 'TXT'); $tags = cot_tag_parse($rtags); $old_tags = cot_tag_list($id, 'folio', $tags_extra); $kept_tags = array(); $new_tags = array(); // Find new tags, count old tags that have been left $cnt = 0; foreach ($tags as $tag) { $p = array_search($tag, $old_tags); if ($p !== false) { $kept_tags[] = $old_tags[$p]; $cnt++; } else { $new_tags[] = $tag; } } // Remove old tags that have been removed $rem_tags = array_diff($old_tags, $kept_tags);