Example #1
0
function tags_index_start()
{
    global $mybb, $db, $tags, $theme, $templates, $lang, $collapsedimg, $collapsed;
    if ($mybb->settings['tags_enabled'] == 0 || $mybb->settings['tags_index'] == 0) {
        return;
    }
    $lang->load('tags');
    $mybb->settings['tags_limit'] = (int) $mybb->settings['tags_limit'];
    $order_by = 'RAND()';
    if ($db->type == 'pgsql' || $db->type == 'sqlite') {
        $order_by = 'RANDOM()';
    }
    $query = DBTags::get("SUM(threads.views) as sumviews, tags.name", "tags.name != ''", array('orderBy' => $order_by, 'orderType' => '', 'limit' => "0, {$mybb->settings['tags_limit']}"));
    $tags = $comma = '';
    while ($tag = $db->fetch_array($query)) {
        if (!$tag['name']) {
            continue;
        }
        $tag['name'] = htmlspecialchars_uni($tag['name']);
        $tag['tag_link'] = get_tag_link($tag['name']);
        $tag['size'] = tags_getsize($tag['sumviews']);
        eval('$tags .= "' . $templates->get('tags_box_tag_sized') . '";');
        $comma = $lang->comma;
    }
    if ($tags != '') {
        eval('$tags = "' . $templates->get('tags_box') . '";');
    }
}
Example #2
0
function tags_showthread()
{
    global $mybb, $db, $theme, $lang, $templates, $thread, $tags, $collapsedimg, $collapsed;
    if ($mybb->settings['tags_enabled'] == 0 || tags_in_disforum($thread['fid'])) {
        return;
    }
    $lang->load('tags');
    $subject = $thread['subject'];
    $tid = $thread['tid'];
    $thread['tags'] = array();
    $query = DBTags::get("*", "threads.tid = '{$tid}'");
    while ($tag = $db->fetch_array($query)) {
        if ($tag['name'] && !in_array($tag['name'], $thread['tags'])) {
            array_push($thread['tags'], $tag['name']);
        }
    }
    if ($db->num_rows($query) == 0) {
        $subject = tags_string2tag($subject);
        $tags = explode(',', $subject);
        $tags_insert = array();
        foreach ($tags as $tag) {
            if ($tag && !in_array(array('tid' => $tid, 'name' => $db->escape_string($tag), 'hash' => md5($tag)), $tags_insert)) {
                array_push($tags_insert, array('tid' => $tid, 'name' => $db->escape_string($tag), 'hash' => md5($tag)));
            }
        }
        if (count($tags_insert) > 0) {
            $db->delete_query("tags", "tid={$tid}");
            $db->insert_query_multiple("tags", $tags_insert);
        }
        $thread['tags'] = $tags;
    }
    $tags = '';
    $comma = '';
    $i = 0;
    foreach ($thread['tags'] as $tag) {
        if ($tag == '' || $i >= 25) {
            continue;
        }
        $tag = htmlspecialchars_uni($tag);
        $tag_link = get_tag_link($tag);
        eval('$tags .= "' . $templates->get('tags_box_tag') . '";');
        $comma = $lang->comma;
        $i++;
    }
    $thread['tags_meta'] = htmlspecialchars_uni(implode(', ', $thread['tags']));
    if ($tags != '') {
        eval('$tags = "' . $templates->get('tags_box') . '";');
    }
}
Example #3
0
 static function findByTid($tid)
 {
     global $db;
     $dbTags = new DBTags();
     $query = $dbTags->get('*', 'tags.tid = ' . (int) $tid);
     return $db->fetch_array($query);
 }
Example #4
0
 $bad_tags = tags_getbads(true);
 $count = DBTags::countThreads("tags.hash IN ({$hash})");
 $pages = $count / $mybb->settings['tags_per_page'];
 $pages = ceil($pages);
 if ($page > $pages || $page <= 0) {
     $page = 1;
 }
 if ($page) {
     $start = ($page - 1) * $mybb->settings['tags_per_page'];
 } else {
     $start = 0;
     $page = 1;
 }
 $multipage = multipage($count, $mybb->settings['tags_per_page'], $page, get_tag_link($name));
 $bad_tags = tags_getbads(true);
 $query = DBTags::get("threads.tid, posts.message, posts.username, posts.uid, threads.subject, threads.views, threads.replies", "tags.hash IN ({$hash})", array('groupBy' => 'threads.tid', 'limit' => "{$start}, {$mybb->settings['tags_per_page']}"));
 $tags = '';
 while ($tag = $db->fetch_array($query)) {
     if (!$tag['tid']) {
         continue;
     }
     if ($mybb->seo_support == true) {
         $highlight = "?highlight=" . urlencode($name);
     } else {
         $highlight = "&amp;highlight=" . urlencode($name);
     }
     $tag['message'] = my_substr($tag['message'], 0, 500);
     $tag['message'] = $parser->parse_message($tag['message'], $parser_options);
     $tag['subject'] = htmlspecialchars_uni($parser->parse_badwords($tag['subject']));
     $tag['threadlink'] = get_thread_link($tag['tid']);
     $tag['profilelink'] = build_profile_link($tag['username'], $tag['uid']);