[ Index ]

PHP Cross Reference of Nuke-Evolution v2.0.5

title

Body

[close]

/includes/ -> nbbcode.php (source)

   1  <?php
   2  
   3  /*********************************************
   4    CPG Dragonfly™ CMS
   5    ********************************************
   6    Copyright (c) 2004 - 2006 by CPG-Nuke Dev Team
   7    http://dragonflycms.org
   8  
   9    Dragonfly is released under the terms and conditions
  10    of the GNU GPL version 2 or any later version
  11    
  12    $Revision: 9.25 $
  13    $Author: djmaze $
  14  **********************************************/
  15  
  16  /*
  17      This was orginally derived from DragonFly CMS/CPG Nuke
  18      but was modified to work with nuke by other coders that 
  19      removed the copyright information and distributed it
  20      on other sites.
  21  */
  22  
  23  /*=======================================================================
  24   Nuke-Evolution Basic: Enhanced PHP-Nuke Web Portal System
  25   =======================================================================*/
  26  
  27  /*****[CHANGES]**********************************************************
  28  -=[Base]=-
  29        Caching System                           v1.0.0       10/29/2005
  30   ************************************************************************/
  31  
  32  if (!defined('NUKE_EVO')) {
  33      die("You can't access this file directly...");
  34  }
  35  
  36  global $db, $prefix, $smilies_path, $bbbttns_path, $bb_codes, $smilies_close, $bbcode_common, $currentlang, $nukeurl;
  37  
  38  if(file_exists(NUKE_LANGUAGE_DIR.'bbcode/lang-'.$currentlang.'.php')) {
  39      include_once(NUKE_LANGUAGE_DIR.'bbcode/lang-'.$currentlang.'.php');
  40  } else {
  41      include_once(NUKE_LANGUAGE_DIR.'bbcode/lang-english.php');
  42  }
  43  
  44  require_once(NUKE_CLASSES_DIR.'class.nbbcode.php');
  45  
  46  $ThemeSel = get_theme();
  47  global $smilies_path;
  48  $smilies_path = (file_exists("themes/$ThemeSel/images/smiles/icon_smile.gif")) ? "themes/$ThemeSel/images/smiles/" : 'modules/Forums/images/smiles/';
  49  $bbbttns_path = 'images/bbcode/';
  50  
  51  $bb_codes['quote'] = '<table width="90%" cellspacing="1" cellpadding="3" border="0" align="center" class="bodyline"><tr>
  52      <td><span class="genmed"><strong>Quote:</strong></span></td>
  53  </tr><tr>
  54      <td class="quote">';
  55  $bb_codes['quote_name'] = '<table width="90%" cellspacing="1" cellpadding="3" border="0" align="center" class="bodyline"><tr>
  56      <td><span class="genmed"><strong>\\1 Wrote:</strong></span></td>
  57  </tr><tr>
  58      <td class="quote">';
  59  $bb_codes['quote_close'] = '</td></tr></table>';
  60  $bb_codes['code_start'] = '<table width="90%" cellspacing="1" cellpadding="3" border="0" align="center" class="bodyline"><tr>
  61          <td><span class="genmed"><strong>Code:</strong></span></td>
  62  </tr><tr>
  63      <td class="code"><code>';
  64  $bb_codes['code_end'] =  '</code></td></tr></table>';
  65  $bb_codes['php_start'] = '<table border="0" align="center" width="90%" cellpadding="3" cellspacing="1" class="bodyline"><tr>
  66      <td><span class="genmed"><strong>PHP:</strong></span></td>
  67  </tr><tr>
  68      <td class="code">';
  69  $bb_codes['php_end'] = '</td></tr></table>';
  70  $bb_codes['win_start'] = '<html>
  71  <head>
  72    <title>Smiley Selection</title>
  73    <link rel="stylesheet" href="themes/'.$ThemeSel.'/style/style.css" type="text/css" />
  74  </head>
  75  <body>
  76  <script language="javascript" type="text/javascript">
  77  <!--
  78  function emoticon(form, field, text) {
  79      text = \' \' + text + \' \';
  80      if (opener.document.forms[form].elements[field].createTextRange && opener.document.forms[form].elements[field].caretPos) {
  81          var caretPos = opener.document.forms[form].elements[field].caretPos;
  82          caretPos.text = caretPos.text.charAt(caretPos.text.length - 1) == \' \' ? text + \' \' : text;
  83          opener.document.forms[form].elements[field].focus();
  84      } else {
  85          opener.document.forms[form].elements[field].value += text;
  86          opener.document.forms[form].elements[field].focus();
  87      }
  88  }
  89  //-->
  90  </script>';
  91  $bb_codes['win_end'] = '<br />
  92  <div align="center"><a href="javascript:window.close();" class="genmed">'.$smilies_close.'</a></div>
  93  </body></html>';
  94  if (file_exists('themes/'.$ThemeSel.'/bbcode.inc')) {
  95      include('themes/'.$ThemeSel.'/bbcode.inc');
  96  }
  97  
  98  function get_codelang($var, $array) {
  99      return (isset($array[$var])) ? $array[$var] : $var;
 100  }
 101  
 102  function smilies_table($mode, $field='message', $form='post')
 103  {
 104      global $bb_codes, $db, $prefix, $smilies_path, $nukeurl;
 105      global $smilies_more, $smilies_desc, $bbcode_common;
 106      $url = $nukeurl.'/modules.php?name=Forums&file=posting&amp;mode=smilies&amp;popup=1';
 107  
 108      $inline_cols = 4;
 109      $inline_rows = 5;
 110      $window_cols = 8;
 111  
 112      $content = '';
 113      if ($mode == 'window') {
 114          $content = $bb_codes['win_start'];
 115      } else if (!defined('BBCODE_JS_ACTIVE')) {
 116          $content .= '<script language="JavaScript" type="text/javascript">
 117                      b_help = "'. $bbcode_common['bold'][0].' '.$bbcode_common['bold'][1].'";
 118                      i_help = "'. $bbcode_common['italic'][0].' '.$bbcode_common['italic'][1].'";
 119                      u_help = "'. $bbcode_common['underline'][0].' '.$bbcode_common['underline'][1].'";
 120                      quote_help = "'. $bbcode_common['quote'][0].' '.$bbcode_common['quote'][1].'";
 121                      code_help = "'. $bbcode_common['code'][0].' '.$bbcode_common['code'][1].'";
 122                      php_help = "'. $bbcode_common['php'][0].' '.$bbcode_common['php'][1].'";
 123                      img_help = "'. $bbcode_common['img'][0].' '.$bbcode_common['img'][1].'";
 124                      fc_help = "'. $bbcode_common['fc'][0].' '.$bbcode_common['fc'][1].'";
 125                      fs_help = "'. $bbcode_common['fs'][0].' '.$bbcode_common['fs'][1].'";
 126                      ft_help = "'. $bbcode_common['ft'][0].' '.$bbcode_common['ft'][1].'";
 127                      rtl_help = "'. $bbcode_common['rtl'][0].' '.$bbcode_common['rtl'][1].'";
 128                      ltr_help = "'. $bbcode_common['ltr'][0].' '.$bbcode_common['ltr'][1].'";
 129                      mail_help = "'. $bbcode_common['mail'][0].' '.$bbcode_common['mail'][1].'";
 130                      url_help= "'. $bbcode_common['url'][0].' '.$bbcode_common['url'][1].'";
 131                      right_help= "'. $bbcode_common['right'][0].' '.$bbcode_common['right'][1].'";
 132                      left_help= "'. $bbcode_common['left'][0].' '.$bbcode_common['left'][1].'";
 133                      center_help= "'. $bbcode_common['center'][0].' '.$bbcode_common['center'][1].'";
 134                      justify_help= "'. $bbcode_common['justify'][0].' '.$bbcode_common['justify'][1].'";
 135                      marqr_help= "'. $bbcode_common['marqr'][0].' '.$bbcode_common['marqr'][1].'";
 136                      marql_help= "'. $bbcode_common['marql'][0].' '.$bbcode_common['marql'][1].'";
 137                      marqu_help= "'. $bbcode_common['marqu'][0].' '.$bbcode_common['marqu'][1].'";
 138                      marqd_help= "'. $bbcode_common['marqd'][0].' '.$bbcode_common['marqd'][1].'";
 139                      hr_help= "'. $bbcode_common['hr'][0].' '.$bbcode_common['hr'][1].'";
 140                      video_help="'. $bbcode_common['video'][0].' '.$bbcode_common['video'][1].'";
 141                      flash_help="'. $bbcode_common['flash'][0].' '.$bbcode_common['flash'][1].'";</script>
 142                      <script language="JavaScript" src="includes/bbcode.js" type="text/javascript"></script>';
 143          define('BBCODE_JS_ACTIVE', 1);
 144      }
 145      if ($mode == 'onerow') {
 146          $content .= '
 147  <table width="450" border="0" cellspacing="0" cellpadding="0">';
 148      } else {
 149          $content .= '
 150  <table width="100" border="0" cellspacing="0" cellpadding="5">';
 151      }
 152      $smilies = get_smilies();
 153      if (is_array($smilies)) {
 154          $num_smilies = 0;
 155          $rowset = array();
 156          for ($i=0; $i<count($smilies); ++$i) {
 157              if (empty($rowset[$smilies[$i]['smile_url']])) {
 158                  $rowset[$smilies[$i]['smile_url']]['code'] = str_replace("'", "\\'", str_replace('\\', '\\\\', $smilies[$i]['code']));
 159                  $rowset[$smilies[$i]['smile_url']]['emoticon'] = get_codelang($smilies[$i]['emoticon'],$smilies_desc);
 160                  $num_smilies++;
 161              }
 162          }
 163  
 164          if ($num_smilies) {
 165              $smilies_count = ($mode == 'inline') ? min(19, $num_smilies) : $num_smilies;
 166              $smilies_split_row = ($mode == 'inline') ? $inline_cols - 1 : $window_cols - 1;
 167  
 168              $s_colspan = $row = $col = 0;
 169  
 170              while (list($smile_url, $data) = each($rowset)) {
 171                  if (!$col) {
 172                      $content .= '<tr align="center" valign="middle">';
 173                  }
 174                  $content .= "<td><a href=\"javascript:emoticon('".$form."', '".$field."', '".$data['code']."')\"><img src=\"" . $smilies_path . $smile_url . "\" border=\"0\" alt=\"".$data['emoticon']."\" title=\"".$data['emoticon']."\" /></a></td>";
 175                  $s_colspan = max($s_colspan, $col + 1);
 176  
 177                  if ($mode == 'onerow') {
 178                      if ($col >= 15) {
 179                          if ($num_smilies > 15) {
 180                              $content .= "<td colspan=\"$s_colspan\" class=\"nav\"><a href=\"$url\" onclick=\"window.open('$url', '_smilies', 'HEIGHT=200,resizable=yes,scrollbars=yes,WIDTH=230');return false;\" target=\"_smilies\" class=\"nav\">$smilies_more</a></td>";
 181                          }
 182                          break;
 183                      }
 184                      $col++;
 185                  }
 186                  else if ($col == $smilies_split_row) {
 187                      $content .= '</tr>';
 188                      $col = 0;
 189                      if ($mode == 'inline' && $row == $inline_rows - 1) {
 190                          break;
 191                      }
 192                      $row++;
 193                  }
 194                  else { $col++; }
 195              }
 196              if ($col > 0) { $content .= '</tr>'; }
 197  
 198              if ($mode == 'inline' && $num_smilies > $inline_rows * $inline_cols) {
 199                  $content .= "<tr align=\"center\">
 200                      <td colspan=\"$s_colspan\" class=\"nav\"><a href=\"$url\" onclick=\"window.open('$url', '_smilies', 'HEIGHT=200,resizable=yes,scrollbars=yes,WIDTH=230');return false;\" target=\"_smilies\" class=\"nav\">$smilies_more</a></td>
 201                  </tr>";
 202              }
 203          }
 204      }
 205      $content .= "\n</table>\n";
 206      if ($mode == 'window') { $content .= $bb_codes['win_end']; }
 207      return $content;
 208  }
 209  if(!function_exists('bbcode_table')){
 210      function bbcode_table($field='message', $form='post', $allowed=0)
 211      {
 212          global $bbbttns_path, $color_desc, $font_desc, $textcolor1, $bbcode_common;
 213          $content = '';
 214          if (!defined('BBCODE_JS_ACTIVE')) {
 215              $content .= '<script language="JavaScript" src="includes/bbcode.js" type="text/javascript"></script>';
 216              define('BBCODE_JS_ACTIVE', 1);
 217          }
 218          $content .= '<table cellpadding="0" cellspacing="0" border="0">
 219      <tr>
 220          <td>
 221              <img alt="'.$bbcode_common['bold'][0].'" class="bbcbutton" onmouseover="helpline(\''.$form.'\',\''.$field.'\',\'b\')" onclick="BBCcode(\''.$form.'\',\''.$field.'\',this)" name="b" src="'.$bbbttns_path.'b.gif" border="0" />
 222              <img alt="'.$bbcode_common['italic'][0].'" class="bbcbutton" onmouseover="helpline(\''.$form.'\',\''.$field.'\',\'i\')" onclick="BBCcode(\''.$form.'\',\''.$field.'\',this)" name="i" src="'.$bbbttns_path.'i.gif" border="0" />
 223              <img alt="'.$bbcode_common['underline'][0].'" class="bbcbutton" onmouseover="helpline(\''.$form.'\',\''.$field.'\',\'u\')" onclick="BBCcode(\''.$form.'\',\''.$field.'\',this)" name="u" src="'.$bbbttns_path.'u.gif" border="0" />
 224      &nbsp;&nbsp;
 225              <img alt="'.$bbcode_common['ltr'][0].'" class="bbcbutton" onmouseover="helpline(\''.$form.'\',\''.$field.'\',\'ltr\')" onclick="BBCdir(\''.$form.'\',\''.$field.'\',\'ltr\')" name="dirltr" src="'.$bbbttns_path.'ltr.gif" border="0" />
 226              <img alt="'.$bbcode_common['rtl'][0].'" class="bbcbutton" onmouseover="helpline(\''.$form.'\',\''.$field.'\',\'rtl\')" onclick="BBCdir(\''.$form.'\',\''.$field.'\',\'rtl\')" name="dirrtl" src="'.$bbbttns_path.'rtl.gif" border="0" />
 227      &nbsp;&nbsp;
 228              <img alt="'.$bbcode_common['url'][0].'" class="bbcbutton" onmouseover="helpline(\''.$form.'\',\''.$field.'\',\'url\')" onclick="BBCurl(\''.$form.'\',\''.$field.'\')" name="url" src="'.$bbbttns_path.'url.gif" border="0" />
 229              <img alt="'.$bbcode_common['mail'][0].'" class="bbcbutton" onmouseover="helpline(\''.$form.'\',\''.$field.'\',\'mail\')" onclick="BBCwmi(\''.$form.'\',\''.$field.'\',\'email\')" name="email" src="'.$bbbttns_path.'email.gif" border="0" />';
 230      if ($allowed) {
 231              $content .= '
 232      &nbsp;&nbsp;
 233              <img alt="'.$bbcode_common['justify'][0].'" class="bbcbutton" onmouseover="helpline(\''.$form.'\',\''.$field.'\',\'justify\')" onclick="BBCode(\''.$form.'\',\''.$field.'\',\'align\',this)" name="justify" src="'.$bbbttns_path.'align_justify.gif" border="0" />
 234              <img alt="'.$bbcode_common['left'][0].'" class="bbcbutton" onmouseover="helpline(\''.$form.'\',\''.$field.'\',\'left\')" onclick="BBCode(\''.$form.'\',\''.$field.'\',\'align\',this)" name="left" src="'.$bbbttns_path.'align_left.gif" border="0" />
 235              <img alt="'.$bbcode_common['center'][0].'" class="bbcbutton" onmouseover="helpline(\''.$form.'\',\''.$field.'\',\'center\')" onclick="BBCode(\''.$form.'\',\''.$field.'\',\'align\',this)" name="center" src="'.$bbbttns_path.'align_center.gif" border="0" />
 236              <img alt="'.$bbcode_common['right'][0].'" class="bbcbutton" onmouseover="helpline(\''.$form.'\',\''.$field.'\',\'right\')" onclick="BBCode(\''.$form.'\',\''.$field.'\',\'align\',this)" name="right" src="'.$bbbttns_path.'align_right.gif" border="0" />';
 237      }
 238          $content .= '
 239      &nbsp;&nbsp;
 240              <select onmouseover="helpline(\''.$form.'\',\''.$field.'\',\'fc\')" onchange="BBCfc(\''.$form.'\',\''.$field.'\',this)" title="'.$color_desc['color'].'">
 241                  <option class="genmed" value="'.$textcolor1.'" style="color: black; background-color: rgb(250, 250, 250);">'.$color_desc['Default'].'</option>
 242                  <option class="genmed" value="maroon" style="color: maroon; background-color: rgb(250, 250, 250);">'.$color_desc['Dark Red'].'</option>
 243                  <option class="genmed" value="red" style="color: red; background-color: rgb(250, 250, 250);">'.$color_desc['Red'].'</option>
 244                  <option class="genmed" value="orange" style="color: orange; background-color: rgb(250, 250, 250);">'.$color_desc['Orange'].'</option>
 245                  <option class="genmed" value="brown" style="color: brown; background-color: rgb(250, 250, 250);">'.$color_desc['Brown'].'</option>
 246                  <option class="genmed" value="yellow" style="color: yellow; background-color: rgb(250, 250, 250);">'.$color_desc['Yellow'].'</option>
 247                  <option class="genmed" value="green" style="color: green; background-color: rgb(250, 250, 250);">'.$color_desc['Green'].'</option>
 248                  <option class="genmed" value="olive" style="color: olive; background-color: rgb(250, 250, 250);">'.$color_desc['Olive'].'</option>
 249                  <option class="genmed" value="cyan" style="color: cyan; background-color: rgb(250, 250, 250);">'.$color_desc['Cyan'].'</option>
 250                  <option class="genmed" value="blue" style="color: blue; background-color: rgb(250, 250, 250);">'.$color_desc['Blue'].'</option><option class="genmed" value="darkblue" style="color: darkblue; background-color: rgb(250, 250, 250);">'.$color_desc['Dark Blue'].'</option>
 251                  <option class="genmed" value="indigo" style="color: indigo; background-color: rgb(250, 250, 250);">'.$color_desc['Indigo'].'</option>
 252                  <option class="genmed" value="violet" style="color: violet; background-color: rgb(250, 250, 250);">'.$color_desc['Violet'].'</option>
 253                  <option class="genmed" value="white" style="color: white; background-color: rgb(250, 250, 250);">'.$color_desc['White'].'</option>
 254                  <option class="genmed" value="black" style="color: black; background-color: rgb(250, 250, 250);">'.$color_desc['Black'].'</option>
 255              </select>';
 256          if ($allowed) {
 257              $content .= '
 258          </td>
 259      </tr><tr>
 260          <td>
 261              <img alt="'.$bbcode_common['img'][0].'" class="bbcbutton" onmouseover="helpline(\''.$form.'\',\''.$field.'\',\'img\')" onclick="BBCwmi(\''.$form.'\',\''.$field.'\',\'img\')" name="img" src="'.$bbbttns_path.'img.gif" border="0" />
 262              <img alt="'.$bbcode_common['flash'][0].'" class="bbcbutton" onmouseover="helpline(\''.$form.'\',\''.$field.'\',\'flash\')" onclick="BBCmm(\''.$form.'\',\''.$field.'\',\'flash\')" name="flash" src="'.$bbbttns_path.'flash.gif" border="0" />
 263              <img alt="'.$bbcode_common['video'][0].'" class="bbcbutton" onmouseover="helpline(\''.$form.'\',\''.$field.'\',\'video\')" onclick="BBCmm(\''.$form.'\',\''.$field.'\',\'video\')" name="video" src="'.$bbbttns_path.'video.gif" border="0" />
 264      &nbsp;&nbsp;
 265              <img alt="'.$bbcode_common['quote'][0].'" class="bbcbutton" onmouseover="helpline(\''.$form.'\',\''.$field.'\',\'quote\')" onclick="BBCcode(\''.$form.'\',\''.$field.'\',this)" name="quote" src="'.$bbbttns_path.'quote.gif" border="0" />
 266              <img alt="'.$bbcode_common['code'][0].'" class="bbcbutton" onmouseover="helpline(\''.$form.'\',\''.$field.'\',\'code\')" onclick="BBCcode(\''.$form.'\',\''.$field.'\',this)" name="code" src="'.$bbbttns_path.'code.gif" border="0" />
 267              <img alt="'.$bbcode_common['php'][0].'" class="bbcbutton" onmouseover="helpline(\''.$form.'\',\''.$field.'\',\'php\')" onclick="BBCcode(\''.$form.'\',\''.$field.'\',this)" name="php" src="'.$bbbttns_path.'php.gif" border="0" />
 268          &nbsp;&nbsp;
 269              <img alt="'.$bbcode_common['hr'][0].'" class="bbcbutton" onmouseover="helpline(\''.$form.'\',\''.$field.'\',\'hr\')" onclick="BBChr(\''.$form.'\',\''.$field.'\')" name="hr" src="'.$bbbttns_path.'hr.gif" border="0" />
 270      &nbsp;&nbsp;
 271              <img alt="'.$bbcode_common['marqd'][0].'" class="bbcbutton" onmouseover="helpline(\''.$form.'\',\''.$field.'\',\'marqd\')" onclick="BBCode(\''.$form.'\',\''.$field.'\',\'marq\',this)" name="down" src="'.$bbbttns_path.'marq_down.gif" border="0" />
 272              <img alt="'.$bbcode_common['marqu'][0].'" class="bbcbutton" onmouseover="helpline(\''.$form.'\',\''.$field.'\',\'marqu\')" onclick="BBCode(\''.$form.'\',\''.$field.'\',\'marq\',this)" name="up" src="'.$bbbttns_path.'marq_up.gif" border="0" />
 273              <img alt="'.$bbcode_common['marql'][0].'" class="bbcbutton" onmouseover="helpline(\''.$form.'\',\''.$field.'\',\'marql\')" onclick="BBCode(\''.$form.'\',\''.$field.'\',\'marq\',this)" name="left" src="'.$bbbttns_path.'marq_left.gif" border="0" />
 274              <img alt="'.$bbcode_common['marqr'][0].'" class="bbcbutton" onmouseover="helpline(\''.$form.'\',\''.$field.'\',\'marqr\')" onclick="BBCode(\''.$form.'\',\''.$field.'\',\'marq\',this)" name="right" src="'.$bbbttns_path.'marq_right.gif" border="0" />
 275      &nbsp;&nbsp;
 276              <select onmouseover="helpline(\''.$form.'\',\''.$field.'\',\'fs\')" onchange="BBCfs(\''.$form.'\',\''.$field.'\',this)" title="'.get_codelang('size', $font_desc).'">
 277              <option value="7" class="genmed">'.get_codelang('Tiny', $font_desc).'</option>
 278              <option value="9" class="genmed">'.get_codelang('Small', $font_desc).'</option>
 279              <option value="12" class="genmed" selected="selected">'.get_codelang('Normal', $font_desc).'</option>
 280              <option value="18" class="genmed">'.get_codelang('Large', $font_desc).'</option>
 281              <option  value="24" class="genmed">'.get_codelang('Huge', $font_desc).'</option>
 282              </select>';
 283          }
 284          $content .= '
 285          </td>
 286      </tr><tr>
 287          <td>
 288              <input type="text" name="help'.$field.'" size="66" maxlength="100" value="Tip: Styles can be applied quickly to selected text" class="helpline" />
 289          </td>
 290        </tr>
 291      </table>';
 292  
 293          return $content;
 294      }
 295  }
 296  
 297  function get_smilies() {
 298     global $db, $prefix, $cache;
 299     static $smilies;
 300  /*****[BEGIN]******************************************
 301   [ Base:    Caching System                     v3.0.0 ]
 302   ******************************************************/
 303      if(($smilies = $cache->load('smilies', 'config')) === false) {
 304  /*****[END]********************************************
 305   [ Base:    Caching System                     v3.0.0 ]
 306   ******************************************************/
 307          $smilies = $db->sql_ufetchrowset('SELECT * FROM '.$prefix.'_bbsmilies');
 308          if(count($smilies))
 309          {
 310              usort($smilies, 'sort_smiley');
 311  /*****[BEGIN]******************************************
 312   [ Base:    Caching System                     v3.0.0 ]
 313   ******************************************************/
 314              $cache->save('smilies', 'config', $smilies);
 315  /*****[END]********************************************
 316   [ Base:    Caching System                     v3.0.0 ]
 317   ******************************************************/
 318          }
 319      }
 320      return $smilies;
 321  }
 322  
 323  function set_smilies($message, $url='') {
 324      static $orig, $repl;
 325      if (!isset($orig)) {
 326          global $smilies_path, $smilies_desc, $nukeurl;
 327          $orig = $repl = array();
 328          $smilies = get_smilies();
 329          $url = (empty($url)) ? $nukeurl : $url;
 330          if (!empty($url) && substr($url, -1) != '/') { $url .= '/'; }
 331          for ($i = 0; $i < count($smilies); $i++) {
 332              $smilies[$i]['code'] = str_replace('#', '\#', preg_quote($smilies[$i]['code']));
 333              $orig[] = "#([\s])".$smilies[$i]['code']."([\s<])#si";
 334              $repl[] = '\\1<img src="' . $url . $smilies_path . $smilies[$i]['smile_url'] . '" alt="'.get_codelang($smilies[$i]['emoticon'],$smilies_desc).'" title="'.get_codelang($smilies[$i]['emoticon'],$smilies_desc).'" border="0" />\\2';
 335          }
 336      }
 337      if (count($orig)) {
 338          $message = preg_replace($orig, $repl, " $message ");
 339          $message = substr($message, 1, -1);
 340      }
 341      return $message;
 342  }
 343  
 344  function sort_smiley($a, $b)
 345  {
 346      if (strlen($a['code']) == strlen($b['code'])) { return 0; }
 347      return (strlen($a['code']) > strlen($b['code'])) ? -1 : 1;
 348  }
 349  
 350  # bbencode_first_pass() prepare bbcode for db insert
 351  function encode_bbcode($text)
 352  {
 353      return BBCode::encode($text);
 354  }
 355  function decode_bb_all($text, $allowed=0, $allow_html=false,