function save_error_data($fc)
{
    global $gpc;
    $fid = md5(microtime());
    $cache = new CacheItem($fid, 'temp/errordata/');
    if ($cache->exists() == false) {
        foreach ($fc as $key => $row) {
            $fc[$key] = $gpc->unescape($row);
        }
        $cache->set($fc);
        $cache->export();
    }
    return $fid;
}
 function cb_hlcode($matches)
 {
     global $lang;
     $pid = $this->noparse_id();
     list(, $sclang, $code, $nl) = $matches;
     $rows = explode("\n", $code);
     if (count($rows) > 1) {
         $code = $code2 = $this->code_prepare($code);
         $a = 0;
         $aa = array();
         $unique = md5($code);
         $cache = new CacheItem($unique, 'cache/geshicode/');
         if ($cache->exists() == false) {
             $export = array('language' => $sclang, 'source' => $code);
             $cache->set($export);
             $cache->export();
         }
         foreach ($rows as $row) {
             $a++;
             $aa[] = "{$a}: ";
         }
         $aa = implode("<br />", $aa);
         $this->noparse[$pid] = '<strong class="bb_blockcode_header"><a target="_blank" href="popup.php?action=hlcode&amp;fid=' . $unique . SID2URL_x . '">' . $lang->phrase('bb_ext_sourcecode') . '</a></strong><div class="bb_blockcode"><table><tr><td width="1%">' . $aa . '</td><td width="99%">' . $this->nl2br($code2) . '</td></tr></table></div>';
     } else {
         $code2 = $this->code_prepare($code, count($rows) <= 1);
         $this->noparse[$pid] = '<code class="bb_inlinecode">' . $code2 . '</code>';
         if (!empty($nl)) {
             $this->noparse[$pid] .= '<br />';
         }
     }
     return '<!PID:' . $pid . '>';
 }
 function cb_hlcode($sclang, $code)
 {
     global $lang;
     $pid = $this->noparse_id();
     $code = trim($code);
     $rows = preg_split('/(\\r\\n|\\r|\\n)/', $code);
     $code2 = preg_replace('/\\[b\\](.+?)\\[\\/b\\]/is', "<strong>\\1</strong>", $code);
     $code2 = str_replace("]", "&#93;", $code2);
     $code2 = str_replace("[", "&#91;", $code2);
     $code2 = str_replace("\t", "&nbsp;&nbsp;&nbsp;&nbsp;", $code2);
     if (count($rows) > 1) {
         $a = 0;
         $aa = array();
         $unique = md5($code);
         $cache = new CacheItem($unique, 'cache/geshicode/');
         if ($cache->exists() == false) {
             $export = array('language' => $sclang, 'source' => trim($code));
             $cache->set($export);
             $cache->export();
         }
         foreach ($rows as $row) {
             $a++;
             $aa[] = "{$a}:&nbsp;";
         }
         $aa = implode("<br />", $aa);
         $this->noparse[$pid] = '<strong class="bb_blockcode_header"><a target="_blank" href="popup.php?action=hlcode&amp;fid=' . $unique . SID2URL_x . '">' . $lang->phrase('bb_ext_sourcecode') . '</a></strong><div class="bb_blockcode"><table><tr><td width="1%">' . $aa . '</td><td width="99%">' . $this->nl2br($code2) . '</td></tr></table></div>';
     } else {
         $this->noparse[$pid] = '<code class="bb_inlinecode">' . $this->nl2br($code2) . '</code>';
     }
     return '<!PID:' . $pid . '>';
 }