After widening the smilie popup window, you might want to change the number of smilies per row to fully utilize the increased width better. Here's how:
(warning: this requires modifying a core vbulletin file, an action that is best avoided unless necessary)
0. Decide how many smilies to show per row. Let say you want 5 smilies per row.
1. Customize template
smiliepopup_straggler into:
HTML Code:
<td class="$bgclass">$smiliehtml</td>
<td class="$bgclass" colspan="$remainingcols">$smilie[text]</td>
2. Open
misc.php and find the following code portion:
PHP Code:
foreach ($smcache AS $category => $smilies)
{
if (sizeof($bits) == 1)
{
eval('$smiliecells = "' . fetch_template('smiliepopup_straggler') . '";');
eval('$smiliebits .= "' . fetch_template('smiliepopup_row') . '";');
}
($hook = vBulletinHook::fetch_hook('misc_smiliespopup_category')) ? eval($hook) : false;
eval('$smiliebits .= "' . fetch_template('smiliepopup_category') . '";');
$bits = array();
foreach ($smilies AS $smilie)
{
($hook = vBulletinHook::fetch_hook('misc_smiliespopup_smilie')) ? eval($hook) : false;
$smilie['js'] = addslashes_js($smilie['text']);
$smiliehtml = "<img src=\"$smilie[path]\" id=\"smilie_$smilie[smilieid]\" alt=\"" . htmlspecialchars_uni($smilie['text']) . "\" title=\"" . htmlspecialchars_uni($smilie['title']) . "\" />";
eval('$bits[] = "' . fetch_template('smiliepopup_smilie') . '";');
if (sizeof($bits) == 2)
{
exec_switch_bg();
$smiliecells = implode('', $bits);
eval('$smiliebits .= "' . fetch_template('smiliepopup_row') . '";');
$bits = array();
}
}
}
if (sizeof($bits) == 1)
{
eval('$smiliecells = "' . fetch_template('smiliepopup_straggler') . '";');
eval('$smiliebits .= "' . fetch_template('smiliepopup_row') . '";');
}
3. Notice that for the following code block
PHP Code:
if (sizeof($bits) == 1)
{
eval('$smiliecells = "' . fetch_template('smiliepopup_straggler') . '";');
eval('$smiliebits .= "' . fetch_template('smiliepopup_row') . '";');
}
there are two of them, one at the top and one at the bottom of the code portion from 2. Replace both of them with
PHP Code:
if (sizeof($bits) < 5)
{
$remainingcols = (5 - sizeof($bits)) * 2 + 1;
eval('$smiliecells = "' . fetch_template('smiliepopup_straggler') . '";');
eval('$smiliebits .= "' . fetch_template('smiliepopup_row') . '";');
}
4. Find the line
PHP Code:
if (sizeof($bits) == 2)
from the code portion from 2. Replace it with
PHP Code:
if (sizeof($bits) == 5)
5. Now the smilie popup window should show 5 smilies per row.

