function displaytags() { global $vbulletin, $vbphrase, $db; if ($vbulletin->GPC['pagenumber'] < 1) { $vbulletin->GPC['pagenumber'] = 1; } if ($vbulletin->GPC['sort'] == 'dateline') { $where = 'WHERE canonicaltagid = 0'; $order = 'dateline DESC'; $synonyms_in_list = false; } else if ($vbulletin->GPC['sort'] == 'alphaall') { $where = ''; $order = 'tagtext ASC'; $synonyms_in_list = true; } else { $where = 'WHERE canonicaltagid = 0'; $order = 'tagtext ASC'; $synonyms_in_list = false; } $column_count = 3; $max_per_column = 15; $perpage = $column_count * $max_per_column; list($tag_count) = $db->query_first( "SELECT COUNT(*) AS total FROM " . TABLE_PREFIX . "tag $where", DBARRAY_NUM ); $start = ($vbulletin->GPC['pagenumber'] - 1) * $perpage; if ($start >= $tag_count) { $start = max(0, $tag_count - $perpage); } $tags = $db->query_read(" SELECT * FROM " . TABLE_PREFIX . "tag $where ORDER BY $order LIMIT $start, $perpage "); print_form_header('tag', '', false, true, 'tagsform'); print_table_header($vbphrase['tag_list'], 3); if ($db->num_rows($tags)) { $columns = array(); $counter = 0; // build page navigation $pagenav = tagcp_build_page_nav($vbulletin->GPC['pagenumber'], ceil($tag_count / $perpage), $vbulletin->GPC['sort']); $sort_links[''] = '<a href="tag.php?do=tags">' . $vbphrase['display_alphabetically'] . '</a>'; $sort_links['dateline'] = '<a href="tag.php?do=tags&sort=dateline">' . $vbphrase['display_newest'] . '</a>'; $sort_links['alphaall'] = '<a href="tag.php?do=tags&sort=alphaall">' . $vbphrase['display_alphabetically_all'] . '</a>'; //dont show the current sort unset($sort_links[$vbulletin->GPC['sort']]); print_description_row( "<div style=\"float: " . vB_Template_Runtime::fetchStyleVar('left') . "\">" . implode(" " , $sort_links) . "</div>$pagenav", false, 3, 'thead', 'right' ); // build columns while ($tag = $db->fetch_array($tags)) { $columnid = floor($counter++ / $max_per_column); $columns["$columnid"][] = tagcp_format_tag_entry($tag, $synonyms_in_list); } // make column values printable $cells = array(); for ($i = 0; $i < $column_count; $i++) { if ($columns["$i"]) { $cells[] = implode("<br />\n", $columns["$i"]); } else { $cells[] = ' '; } } print_column_style_code(array( 'width: 33%', 'width: 33%', 'width: 34%' )); print_cells_row($cells, false, false, -3); ?> <tr> <td colspan="<?php echo $column_count; ?>" align="center" class="tfoot"> <select id="select_tags" name="do"> <option value="tagmerge" id="select_tags_merge"><?php echo $vbphrase['merge_selected_synonym']; ?></option> <option value="tagdopromote" id="select_tags_delete"><?php echo $vbphrase['promote_synonyms_selected']; ?></option> <option value="tagkill" id="select_tags_delete"><?php echo $vbphrase['delete_selected']; ?></option> <optgroup label="____________________"> <option value="tagclear"><?php echo $vbphrase[deselect_all_tags]; ?></option> </optgroup> </select> <input type="hidden" name="page" value="<?php echo $vbulletin->GPC['pagenumber']; ?>" /> <input type="hidden" name="sort" value="<?php echo $vbulletin->GPC['sort']; ?>" /> <input type="submit" value="<?php echo $vbphrase[go]; ?>" id="tag_inlinego" class="button" /> </td> </tr> </table> <script type="text/javascript" src="../clientscript/vbulletin_inlinemod.js?v=<?php echo $vboptions[simpleversion]; ?>"></script> <script type="text/javascript"> <!-- inlineMod_tags = new vB_Inline_Mod('inlineMod_tags', 'tag', 'tagsform', '<?php echo $vbphrase[go_x]; ?>', 'vbulletin_inline', 'tag'); /* vBmenu.register("inlinemodsel"); */ //--> function js_show_synlist(trigger, listid) { list = document.getElementById(listid); list.style.display = 'block'; trigger.onclick = function() {return js_hide_synlist(trigger, listid)}; trigger.getElementsByTagName('img')[0].src = '../cpstyles/<?php echo $vbulletin->options['cpstylefolder'] ?>/collapse_generic.gif'; return false; } function js_hide_synlist(trigger, listid) { list = document.getElementById(listid); list.style.display = 'none'; trigger.onclick = function() {return js_show_synlist(trigger, listid)}; trigger.getElementsByTagName('img')[0].src = '../cpstyles/<?php echo $vbulletin->options['cpstylefolder'] ?>/collapse_generic_collapsed.gif'; return false; } </script> </form> <?php } else { print_description_row($vbphrase['no_tags_defined'], false, 3, '', 'center'); print_table_footer(); } construct_hidden_code('page', $vbulletin->GPC['pagenumber']); construct_hidden_code('sort', $vbulletin->GPC['sort']); print_form_header('tag', 'taginsert'); print_input_row($vbphrase['add_tag'], 'tagtext'); print_submit_row(); }
function displaytags() { global $vbulletin, $vbphrase, $vboptions; $assertor = vB::getDbAssertor(); if ($vbulletin->GPC['pagenumber'] < 1) { $vbulletin->GPC['pagenumber'] = 1; } $synonyms_in_list = $vbulletin->GPC['sort'] == 'alphaall' ? true : false; $column_count = 3; $max_per_column = 15; $perpage = $column_count * $max_per_column; $tag_counts = $assertor->getRow('vBForum:getTagCountSort', array(vB_dB_Query::TYPE_KEY => vB_dB_Query::QUERY_METHOD, 'sort' => $vbulletin->GPC['sort'])); $tag_count = $tag_counts['total']; $start = ($vbulletin->GPC['pagenumber'] - 1) * $perpage; if ($start >= $tag_count) { $start = max(0, $tag_count - $perpage); } $tags = $assertor->assertQuery('vBForum:getTagsSort', array(vB_dB_Query::TYPE_KEY => vB_dB_Query::QUERY_METHOD, 'sort' => $vbulletin->GPC['sort'], 'start' => $start, vB_dB_Query::PARAM_LIMIT => $perpage)); print_form_header('tag', '', false, true, 'tagsform'); print_table_header($vbphrase['tag_list'], 3); if ($tags and $tags->valid()) { $columns = array(); $counter = 0; // build page navigation $pagenav = tagcp_build_page_nav($vbulletin->GPC['pagenumber'], ceil($tag_count / $perpage), $vbulletin->GPC['sort']); $sort_links[''] = '<a href="tag.php?do=tags">' . $vbphrase['display_alphabetically'] . '</a>'; $sort_links['dateline'] = '<a href="tag.php?do=tags&sort=dateline">' . $vbphrase['display_newest'] . '</a>'; $sort_links['alphaall'] = '<a href="tag.php?do=tags&sort=alphaall">' . $vbphrase['display_alphabetically_all'] . '</a>'; //dont show the current sort unset($sort_links[$vbulletin->GPC['sort']]); print_description_row("<div style=\"float: " . vB_Template_Runtime::fetchStyleVar('left') . "\">" . implode(" ", $sort_links) . "</div>{$pagenav}", false, 3, 'thead', 'right'); // build columns foreach ($tags as $tag) { $columnid = floor($counter++ / $max_per_column); $columns["{$columnid}"][] = tagcp_format_tag_entry($tag, $synonyms_in_list); } // make column values printable $cells = array(); for ($i = 0; $i < $column_count; $i++) { if ($columns["{$i}"]) { $cells[] = implode("<br />\n", $columns["{$i}"]); } else { $cells[] = ' '; } } print_column_style_code(array('width: 33%', 'width: 33%', 'width: 34%')); print_cells_row($cells, false, false, -3); ?> <tr> <td colspan="<?php echo $column_count; ?> " align="center" class="tfoot"> <select id="select_tags" name="do"> <option value="tagmerge" id="select_tags_merge"><?php echo $vbphrase['merge_selected_synonym']; ?> </option> <option value="tagdopromote" id="select_tags_delete"><?php echo $vbphrase['promote_synonyms_selected']; ?> </option> <option value="tagkill" id="select_tags_delete"><?php echo $vbphrase['delete_selected']; ?> </option> <optgroup label="____________________"> <option value="tagclear"><?php echo $vbphrase[deselect_all_tags]; ?> </option> </optgroup> </select> <input type="hidden" name="page" value="<?php echo $vbulletin->GPC['pagenumber']; ?> " /> <input type="hidden" name="sort" value="<?php echo $vbulletin->GPC['sort']; ?> " /> <input type="submit" value="<?php echo $vbphrase[go]; ?> " id="tag_inlinego" class="button" /> </td> </tr> <?php echo '</table>'; ?> <script type="text/javascript" src="<?php echo $vboptions['bburl']; ?> /clientscript/vbulletin_inlinemod.js?v=<?php echo $vboptions['simpleversion']; ?> "></script> <script type="text/javascript"> <!-- inlineMod_tags = new vB_Inline_Mod('inlineMod_tags', 'tag', 'tagsform', '<?php echo $vbphrase[go_x]; ?> ', 'vbulletin_inline', 'tag'); /* vBmenu.register("inlinemodsel"); */ //--> function js_show_synlist(trigger, listid) { list = document.getElementById(listid); list.style.display = 'block'; trigger.onclick = function() {return js_hide_synlist(trigger, listid)}; trigger.getElementsByTagName('img')[0].src = '<?php echo $vbulletin->options['bburl']; ?> /cpstyles/<?php echo $vbulletin->options['cpstylefolder']; ?> /collapse_generic.gif'; return false; } function js_hide_synlist(trigger, listid) { list = document.getElementById(listid); list.style.display = 'none'; trigger.onclick = function() {return js_show_synlist(trigger, listid)}; trigger.getElementsByTagName('img')[0].src = '<?php echo $vbulletin->options['bburl']; ?> /cpstyles/<?php echo $vbulletin->options['cpstylefolder']; ?> /collapse_generic_collapsed.gif'; return false; } </script> <?php echo '</form>'; } else { print_description_row($vbphrase['no_tags_defined'], false, 3, '', 'center'); print_table_footer(); } construct_hidden_code('page', $vbulletin->GPC['pagenumber']); construct_hidden_code('sort', $vbulletin->GPC['sort']); print_form_header('tag', 'taginsert'); print_input_row($vbphrase['add_tag'], 'tagtext'); print_submit_row(); }