X-Git-Url: https://git.mxchange.org/?a=blobdiff_plain;ds=inline;f=include%2Ftext.php;h=c9babba940f8f06e31770f638407bb5a3839b169;hb=81c87885cf61247608a0fa8e738707510e737ace;hp=4a23b7ac37fa35b96e6c79c105ebc50399cc764b;hpb=28b3fa4f1fad67816ae6904f94a20d0ee58b2ced;p=friendica.git diff --git a/include/text.php b/include/text.php index 4a23b7ac37..c9babba940 100644 --- a/include/text.php +++ b/include/text.php @@ -1,12 +1,13 @@ save_timestamp($stamp1, "file"); }} +/** + * @brief An alternative logger for development. + * Works largely as logger() but allows developers + * to isolate particular elements they are targetting + * personally without background noise + * + * log levels: + * LOGGER_NORMAL (default) + * LOGGER_TRACE + * LOGGER_DEBUG + * LOGGER_DATA + * LOGGER_ALL + * + * @global App $a + * @global dba $db + * @global array $LOGGER_LEVELS + * @param string $msg + * @param int $level + */ + +function dlogger($msg, $level = 0) { + $a = get_app(); + global $db; + + // turn off logger in install mode + if ( + $a->module == 'install' + || ! ($db && $db->connected) + ) { + return; + } + + $logfile = get_config('system','dlogfile'); + + if (! $logfile) { + return; + } + + if (count($LOGGER_LEVELS) == 0) { + foreach (get_defined_constants() as $k => $v) { + if (substr($k, 0, 7) == "LOGGER_") { + $LOGGER_LEVELS[$v] = substr($k, 7, 7); + } + } + } + + $process_id = session_id(); + + if ($process_id == '') { + $process_id = get_app()->process_id; + } + + $callers = debug_backtrace(); + $logline = sprintf("%s@\t%s:\t%s:\t%s\t%s\t%s\n", + datetime_convert(), + $process_id, + basename($callers[0]['file']), + $callers[0]['line'], + $callers[1]['function'], + $msg + ); + + $stamp1 = microtime(true); + @file_put_contents($logfile, $logline, FILE_APPEND); + $a->save_timestamp($stamp1, "file"); +} if(! function_exists('activity_match')) { /** @@ -2125,47 +2192,48 @@ function format_network_name($network, $url = 0) { * @param string $lang Programming language * @return string Formated html */ -function text_highlight($s,$lang) { - if($lang === 'js') +function text_highlight($s, $lang) { + if ($lang === 'js') { $lang = 'javascript'; - - if(! strpos('Text_Highlighter',get_include_path())) { - set_include_path(get_include_path() . PATH_SEPARATOR . 'library/Text_Highlighter'); } - require_once('library/Text_Highlighter/Text/Highlighter.php'); - require_once('library/Text_Highlighter/Text/Highlighter/Renderer/Html.php'); + // @TODO: Replace Text_Highlighter_Renderer_Html by scrivo/highlight.php + + // Autoload the library to make constants available + class_exists('Text_Highlighter_Renderer_Html'); + $options = array( 'numbers' => HL_NUMBERS_LI, 'tabsize' => 4, - ); + ); $tag_added = false; - $s = trim(html_entity_decode($s,ENT_COMPAT)); - $s = str_replace(" ","\t",$s); + $s = trim(html_entity_decode($s, ENT_COMPAT)); + $s = str_replace(' ', "\t", $s); // The highlighter library insists on an opening php tag for php code blocks. If // it isn't present, nothing is highlighted. So we're going to see if it's present. // If not, we'll add it, and then quietly remove it after we get the processed output back. - if($lang === 'php') { - if(strpos('setRenderer($renderer); $o = $hl->highlight($s); - $o = str_replace([" ","\n"],[" ",''],$o); + $o = str_replace("\n", '', $o); + - if($tag_added) { - $b = substr($o,0,strpos($o,'
' . $o . '
');
+ return '' . $o . '
';
}