This is what I did with mine, works like a charm, and is much easier on the end user:
I created two User Profile Fields:
Type: Single-Line Text Box
Title: Font Color
Description: Enter your preferred font color for each post
Private Field: Yes
Field Searchable on Members List: No
Show on Members List: No
Type: Singe Selection Menu
Title: Font Face
Description: Select your preferred font face for each post
Options:
{
Arial
Arial Black
Arial Narrow
Book Antiqua
Century Gothic
Comic Sans MS
Courier New
Fixedsys
Franklin Gothic Medium
Garamond
Georgia
Impact
Lucida Console
Lucida Sans Unicode
Microsoft Sans Serif
Palatino Linotype
System
Tahoma
Times New Roman
Trebuchet MS
Verdana
}
Private Field: Yes
Field Searchable on Members List: No
Show on Members List: No
Then in your functions_newpost file edit do this (where fieldx is the field number for font color, and fieldx2 is the field number for font face):
Code:
// Darth Cow's auto BB code hack
if ($bbuserinfo['fieldx'] != "" && $bbuserinfo['fieldx2'] != "")
{
$auto_bb_opentag = "[color=" . $bbuserinfo['fieldx'] . "]" . "[FONT=" . $bbuserinfo['fieldx2'] . "]";
}
else if ($bbuserinfo['fieldx'] != "")
{
$auto_bb_opentag = "[color=" . $bbuserinfo['fieldx'] . "]";
}
else if ($bbuserinfo['field16'] != "")
{
$auto_bb_opentag = "[font=" . $bbuserinfo['fieldx2'] . "]";
}
else
{
$auto_bb_opentag ;
}
preg_match_all("/\[(\w+)(\=\"?\'?(\w+\s*)+\"?\'?)?\]/",$auto_bb_opentag, $auto_bb_tags, PREG_SET_ORDER);
$auto_bb_closetags = array_reverse($auto_bb_tags);
$auto_bb_closetag = "";
foreach ($auto_bb_closetags as $auto_bb_tag)
{
$auto_bb_closetag .= "[/" . $auto_bb_tag[1] . "]";
}
$post['message'] = $auto_bb_opentag . $post['message'] . $auto_bb_closetag;
// End hack
It is working absolutely flawlessly for me