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:
Code:
$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:
Code:
// 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:
Code:
print_submit_row($vbphrase['add_new_bb_code'], false, 6);
and replace with this:
Code:
// 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).