/** * Селектор файлов * @param string $current данное значение * @param string $type тип(file или tpl) * @return string HTML код */ public function files_selector($current, $type = 'file') { switch ($type) { case "file": $path = MODULES_PATH . '/' . BLOCKS_PATH; $regexp = '(\\w+)\\.php'; $empty = false; break; case "tpl": // Разрешим пустой блок //$allblock = '|' . mpc(blocks::allblock); $path = cut_path(tpl::o()->get_template_dir()) . blocks::blocks_path; $regexp = '(?(?=(?:(?:' . implode('|', array_map('mpc', self::$types)) . ')' . mpc(blocks::block_standart) . ')' . $allblock . ')\\/|(\\w+))\\.tpl'; $empty = true; break; default: return; } return input::o()->scurrent($current)->snull($empty)->select_folder($type, $path, false, '/^' . $regexp . '$/siu', 1); }
/** * Вывод бэктрейса * @return string бэктрейс */ private function print_backtrace() { $backtrace = debug_backtrace(); foreach ($backtrace as $value) { if (!$value['file']) { continue; } //if (!($value ['file'] == __FILE__ && $value ['line'] == __LINE__)) { $path = cut_path($value['file']); $debug[] = "<b>" . lang::o()->v('file') . ":</b> " . $path . "<br>\n\n\t\t\t<b>" . lang::o()->v('line') . ":</b> " . $value['line']; //} } $backtrace = implode("<br><font size=\"3\"> ⇓</font><br>", $debug); return $backtrace; }
/** * Свой вывод ошибок * @param int $errorno номер ошибки * @param string $errormsg текст ошибки * @param string $file файл с ошибкой * @param int $line диния с ошибкой * @return null */ function myerror_report($errorno, $errormsg, $file, $line) { if (error_reporting() == 0) { return; } $file = cut_path($file); $errormsg = cut_path($errormsg); switch ($errorno) { case E_USER_NOTICE: case E_STRICT: case E_NOTICE: return; break; case E_COMPILE_ERROR: case E_CORE_ERROR: case E_USER_ERROR: case E_RECOVERABLE_ERROR: case E_ERROR: $errtext = "Error"; break; case E_COMPILE_WARNING: case E_CORE_WARNING: case E_USER_WARNING: case E_WARNING: $errtext = "Warning"; break; case E_DEPRECATED: $errtext = "Deprecated"; break; case E_PARSE: $errtext = "Parsing Error"; break; //case E_STRICT : // $errtext = "Strict Error"; // break; //case E_STRICT : // $errtext = "Strict Error"; // break; default: $errtext = "Unknown Error"; break; } if (defined('INANNOUNCE')) { $bt = new fbenc(); $bt->err("[{$errtext}] №" . $errorno . ": " . $errormsg . "(" . $file . ":" . $line . ")"); } else { echo "<i>[{$errtext}]</i> №<b>" . $errorno . "</b>: " . $errormsg . " in <b>" . $file . "</b>, line <b>" . $line . "</b><br>"; } }