(GPLv2) or write to the Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA02110-1301, USA. ********************************************************************************/ if (stristr(htmlentities($_SERVER['PHP_SELF']), 'inc_bbcode.php')) { die("
Error: This file cannot be opened directly!
"); } //BBCode - Forum - News - Articles - Guides function bb2html($string,$smiles=1) { if (memRunHooks('BBCode',array(&$string))) { $patterns = array( '`\[b\](.+?)\[/b\]`is', '`\[i\](.+?)\[/i\]`is', '`\[u\](.+?)\[/u\]`is', '`\[strike\](.+?)\[/strike\]`is', '`\[color=#([0-9a-zA-Z]{3,6})\](.+?)\[/color\]`is', '`\[email\](.+?)\[/email\]`is', //'`\[img\](.+?)\[/img\]`is', '`\[url=([a-z0-9]+://)([\w\-]+\.([\w\-]+\.)*[\w]+(:[0-9]+)?(/[^ \"\n\r\t<]*?)?)\](.*?)\[/url\]`si', '`\[url\]([a-z0-9]+?://){1}([\w\-]+\.([\w\-]+\.)*[\w]+(:[0-9]+)?(/[^ \"\n\r\t<]*)?)\[/url\]`si', '`\[url\]((www|ftp)\.([\w\-]+\.)*[\w]+(:[0-9]+)?(/[^ \"\n\r\t<]*?)?)\[/url\]`si', '`\[flash=([0-9]+),([0-9]+)\](.+?)\[/flash\]`is', '`\[youtube=([0-9]+),([0-9]+)\](.+?)\[/youtube\]`is', '`\[quote\](.+?)\[/quote\]`is', '`\[size=([0-9]+)\](.+?)\[/size\]`is', '`\[left\](.+?)\[/left\]`is', '`\[center\](.+?)\[/center\]`is', '`\[right\](.+?)\[/right\]`is', '`\[embed=([0-9]+),([0-9]+)\](.+?)\[/embed\]`is' ); $replaces = array( '\\1', '\\1', '\\1', '\\1', '\2', '\1', //'', '\6', '\1\2', '\1', '', '', '
quote
\1
', '\2', '
\1
', '
\1
', '
\1
', '' ); //=========================================== //IMG //=========================================== $max_width = 400; $max_height = 400; preg_match_all("`\[img\](.+?)\[/img\]`is",$string,$outstr,PREG_SET_ORDER); foreach($outstr as $image) { $info = @getimagesize($image[1]); if($info[0]>$max_width OR $info[1]>$max_height) { $string = str_replace($image[0],'
View Image resized (Original file: '.$info[0].'x'.$info[1].')
Thumb
', $string); } else { $string = str_replace($image[0],'Image',$string); } } //=========================================== //CODE //=========================================== //Extract [code]...[/code] preg_match_all('`\[code\](.+?)\[/code\]`is',$string,$outstr,PREG_PATTERN_ORDER); $numcodes = count($outstr[0]); $string_cleaned = $string; for ($a=0;$a<=$numcodes;$a++) { $string_cleaned = preg_replace('`\[code\](.+?)\[/code\]`is','___CODE_'.$a.'___',$string_cleaned,1); } //Convert BBCode $string_cleaned = nl2br(preg_replace($patterns,$replaces,$string_cleaned)); $string_cleaned = urlToLink($string_cleaned); //Break long links //$string_cleaned = preg_replace('#\(.+?)\#ise',"''.stripslashes(breakLongLinks('\$2')).''",$string_cleaned); //Restore [code]...[/code] $string = $string_cleaned; for ($a=0;$a<$numcodes;$a++) { $outstr[1][$a] = str_replace("'","'",$outstr[1][$a]); $string = preg_replace('#(___CODE_)('.$a.')(___)#ise',"'
code
400? \'400px\': \'auto\' );\">'.highlightcode(\$outstr[1][$a]).'
'",$string,1); } memRunHooks('BBCodeEnd',array(&$string)); } return ($smiles==1) ? bb2smile($string) : $string ; } function minibb2html($string,$smiles=1) { if (memRunHooks('BBCodeMini',array(&$string))) { $patterns = array( '`\[b\](.+?)\[/b\]`is', '`\[i\](.+?)\[/i\]`is', '`\[u\](.+?)\[/u\]`is', '`\[strike\](.+?)\[/strike\]`is', '`\[color=#([0-9a-zA-Z]{6})\](.+?)\[/color\]`is', '`\[email\](.+?)\[/email\]`is', '`\[url=([a-z0-9]+://)([\w\-]+\.([\w\-]+\.)*[\w]+(:[0-9]+)?(/[^ \"\n\r\t<]*?)?)\](.*?)\[/url\]`si', '`\[url\]([a-z0-9]+?://){1}([\w\-]+\.([\w\-]+\.)*[\w]+(:[0-9]+)?(/[^ \"\n\r\t<]*)?)\[/url\]`si', '`\[url\]((www|ftp)\.([\w\-]+\.)*[\w]+(:[0-9]+)?(/[^ \"\n\r\t<]*?)?)\[/url\]`si', '`\[size=([0-9]+)\](.+?)\[/size\]`is' ); $replaces = array( '\\1', '\\1', '\\1', '\\1', '\2', '\1', '\6', '\1\2', '\1', '\2' ); //Convert BBCode $string = nl2br(preg_replace($patterns,$replaces,$string)); $string = urlToLink($string); memRunHooks('BBCodeMiniEnd',array(&$string)); } return ($smiles==1) ? bb2smile($string) : $string ; } //BBSmiles - Forum function bb2smile($string) { global $dblink; $result = $dblink->get_list("SELECT * FROM memht_smiles"); foreach ($result as $row) { $title = outCode($row['title']); $img = outCode($row['img']); $code = outCode($row['code']); $string = str_replace($code, "Smile", $string); } return $string; } function smileBox($form,$element,$columns=0,$totnum=16) { global $dblink; //Columns argument deprecated $sbcontent = "
"; $result = $dblink->get_list("SELECT * FROM memht_smiles LIMIT $totnum"); foreach ($result as $row) { $sbtitle = outCode($row['title']); $sbimg = outCode($row['img']); $sbcode = outCode($row['code']); $sbcontent .= "$sbtitle\n"; } $sbcontent .= "
"._SHOWALL_."
\n"; $sbcontent .= "
\n"; echo $sbcontent; } function bbcodeToolbar($form,$element,$style="public") { $content = ""; switch ($style) { case "mini": $content .= "Start"; $content .= "B"; $content .= "I"; $content .= "U"; $content .= "F"; $content .= "S"; $content .= "U"; $content .= "E"; $content .= "E"; break; case "public": $content .= "S"; $content .= "B"; $content .= "I"; $content .= "U"; $content .= "F"; $content .= "S"; $content .= "L"; $content .= "C"; $content .= "R"; $content .= "S"; $content .= "I"; $content .= "F"; $content .= "Y"; $content .= "S"; $content .= "U"; $content .= "E"; $content .= "S"; $content .= "Q"; $content .= "C"; $content .= "E"; break; } echo $content; } ?>