BirdOPrey5
11-26-2010, 03:54 PM
I have so many BB Codes, many of them videos, that listing all my BB Codes in Admin CP is a huge strain on my browser- it has started freezing and bugging out- I've had to get rid of many of the "examples" so they don't load.
It would be great if someone could make a mod to make the BB Code list in Admin CP separate into pages, maybe 10 BB Codes per page.
Any takers?
Unfortunately you have to edit admincp/bbcode.php (unless someone can figure out how to do it another way...). You probably want to copy the original first if you don't have it handy.
Anyway, look for this:
$bbcodes = $db->query_read("SELECT * FROM " . TABLE_PREFIX . "bbcode");
print_form_header('bbcode', 'add');
print_table_header($vbphrase['bb_code_manager'], 6);
print_cells_row(array($vbphrase['title'], $vbphrase['bb_code'], $vbphrase['html'], $vbphrase['replacement'], $vbphrase['button_image'], $vbphrase['controls']), 1, '', -5);
around line 326 and replace with this:
// Start of paging code
$pagelen = 10;
$bbcodecount = $db->query_first("SELECT COUNT(*) as count FROM " . TABLE_PREFIX . "bbcode");
$count = $bbcodecount['count'];
$pagecount = intval(($count + $pagelen - 1) / $pagelen);
$showpaging = ($pagecount > 1);
$first = (($page - 1) * $pagelen) + 1;
$last = $first + $pagelen - 1;
if ($showpaging)
{
$vbulletin->input->clean_gpc('r', 'page', TYPE_INT);
$page = $vbulletin->GPC['page'];
if (empty($page) || $page < 1)
$page = 1;
else if ($page > $pagecount)
$page = $pagecount;
$first = (($page - 1) * $pagelen) + 1;
$last = $first + $pagelen - 1;
$showpaging = ($pagecount > 1);
$bbcodes = $db->query_read("SELECT * FROM " . TABLE_PREFIX . "bbcode LIMIT " . (($page - 1) * $pagelen) . ", $pagelen");
}
else
{
$first = 1;
$last = $count;
$bbcodes = $db->query_read("SELECT * FROM " . TABLE_PREFIX . "bbcode");
}
print_form_header('bbcode', 'modify');
print_table_header($vbphrase['bb_code_manager']." - Showing $first to $last of $count", 6);
// end of paging code
// Original (non-paging) code
//$bbcodes = $db->query_read("SELECT * FROM " . TABLE_PREFIX . "bbcode");
//
//print_form_header('bbcode', 'add');
//$headtext = $vbphrase['bb_code_manager'];
//print_table_header($vbphrase['bb_code_manager'], 6);
print_cells_row(array($vbphrase['title'], $vbphrase['bb_code'], $vbphrase['html'], $vbphrase['replacement'], $vbphrase['button_image'], $vbphrase['controls']), 1, '', -5);
(the page length is hard-coded to 10).
then scroll down to this:
print_submit_row($vbphrase['add_new_bb_code'], false, 6);
and replace with this:
// start of paging code
if ($showpaging)
{
if ($page == 1)
{
construct_hidden_code('page', $page + 1);
print_submit_row($vbphrase['next_page'], 0, 6);
}
else if ($page < $pagecount)
{
construct_hidden_code('page', $page + 1);
print_submit_row($vbphrase['next_page'], 0, $colspan, $vbphrase['prev_page'], '', true);
}
else
{
print_submit_row($vbphrase['first_page'], 0, $colspan, $vbphrase['prev_page'], '', true);
}
}
else
{
print_table_footer();
}
print_form_header('bbcode', 'add');
// end of paging code
print_submit_row($vbphrase['add_new_bb_code'], false, 6);
I hate fooling around with stuff like paging controls so I stole it from the user search page, and that meant I had to make the "Add" button be its own little table. You might be able to figure out something else if that bothers you (I think it could be it's own button control or link since it doesn't actually submit any form data).
BirdOPrey5
11-26-2010, 08:43 PM
Wow thanks. :up: It's working great... "Showing 1 to 10 of 82" ;)
Really appreciate it.
Holy cow, 82? You weren't kidding.
BTW, I meant to say that it's hard-coded to 10 per page but you can change it easily by changing $pagelen.
BirdOPrey5
11-26-2010, 11:48 PM
Thanks, I did change it to 20... when I get a chance I may try to add a "quick" page jump drop down or something... I will post the code here if I do it for anyone else who may care.
vBulletin® v3.8.12 by vBS, Copyright ©2000-2025, vBulletin Solutions Inc.