Ejemplo n.º 1
0
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&amp;sort=dateline">' . $vbphrase['display_newest'] . '</a>';
		$sort_links['alphaall'] = '<a href="tag.php?do=tags&amp;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("&nbsp;&nbsp;" , $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[] = '&nbsp;';
			}
		}

		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();
}
Ejemplo n.º 2
0
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&amp;sort=dateline">' . $vbphrase['display_newest'] . '</a>';
        $sort_links['alphaall'] = '<a href="tag.php?do=tags&amp;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("&nbsp;&nbsp;", $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[] = '&nbsp;';
            }
        }
        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();
}