function get_snippet_items_by_tag($tag) { if (empty($tag)) { return get_snippet_items(); } else { $stmt = $GLOBALS['db']->prepare(' select s.*, l.`name` language from `snippets` s left join `languages` l on l.`id` = s.`language_id` where s.`approved` = 1 and s.`tags` like ? order by s.`date_created` desc'); $stmt->execute(array('%' . urldecode($tag) . '%')); return $stmt->fetchAll(); } }
<?php /** * Template created by Gregory Chris */ load_model('snippets'); $params = array(); $params['items'] = get_snippet_items(); $params['search_string'] = ''; $params['tag'] = ''; $params['language'] = ''; if ($GLOBALS['url_params'][0] == 'tag' && !empty($GLOBALS['url_params'][1])) { // load snippets with specific tag $params['items'] = get_snippet_items_by_tag($GLOBALS['url_params'][1]); $params['tag'] = htmlentities(urldecode($GLOBALS['url_params'][1]), ENT_NOQUOTES, 'utf-8'); } if ($GLOBALS['url_params'][0] == 'load' && !empty($GLOBALS['url_params'][1]) && is_numeric($GLOBALS['url_params'][1]) && $GLOBALS['url_params'][1] > 0) { // load snippets with specific tag $item = get_snippet_item($GLOBALS['url_params'][1]); die(highlight_string($item['code'], true)); } if ($GLOBALS['url_params'][0] == 'search' && !empty($GLOBALS['url_params'][1])) { // load snippets with specific tag $params['items'] = get_snippet_item_by_name($GLOBALS['url_params'][1]); $params['search_string'] = str_replace('\\', '\', htmlentities(urldecode($GLOBALS['url_params'][1]), ENT_QUOTES, 'utf-8')); } if ($GLOBALS['url_params'][0] == 'language' && !empty($GLOBALS['url_params'][1])) { // load snippets with specific tag $params['items'] = get_snippet_item_by_language($GLOBALS['url_params'][1]); $params['language'] = urldecode($GLOBALS['url_params'][1]); }