PHP Code:
if (($vbulletin->options['allowedbbcodes'] & ALLOW_BBCODE_SIZE) OR $force_all)
{
// [SIZE=XXX]
$tag_list['option']['size'] = array(
'callback' => 'handle_bbcode_size',
'option_regex' => '#^[0-9\+\-]+$#',
'strip_empty' => true
);
}
PHP Code:
/***Handles a [size] tag.********************** */
function handle_bbcode_size($text, $size = '')
{
if ($size)
{
switch ($size)
{
case '1':
$size = '12px';
break;
case '2':
$size = '15px';
break;
case '3':
$size = '18px';
break;
case '4':
$size = '21px';
break;
case '5':
$size = '24px';
break;
case '6':
$size = '27px';
break;
case '7':
$size = '30px';
break;
}
}
else
{
$size = '15px';
}
return '<span style="font-size:' . $size . '">' . $text. '</span>';
}
It's working

But there is another problem now.
I enter some text in WYSIWYG text area and select the text, then i pick a size like 5.
It changes the font size perfectly. (in the page source code it still says <font*)
I click the preview button (in newreply), the page reloads and it still displays font size as "5".
I check the page source code both in the preview table cell and WYSIWYG text area and they both display "<span style***" which is correct.
I click the preview button once again and this time i notice the text's font size is converted to default size and the size tag is completely removed.
Then I opened vbulletin_textedit.js and changed the line below:
Code:
option.innerHTML = '<font size="' + sizeoptions[n] + '">' + sizeoptions[n] + '</font>';
to:
Code:
option.innerHTML = '<span style="font-size:' + sizeoptions[n] + '">' + sizeoptions[n] + '</span>';
It didn't work. Something is still adding "<font size" tag...