diff options
author | zotlabs <mike@macgirvin.com> | 2016-12-21 23:35:54 -0800 |
---|---|---|
committer | zotlabs <mike@macgirvin.com> | 2016-12-21 23:35:54 -0800 |
commit | f2bfdfdeddea86784ce2d17b3c35e46a1c582b79 (patch) | |
tree | 5845446bc4aaf9305e33e8392906f00afd1a027d /include | |
parent | 9d49faca614a08d2414f657619ad56db414c230b (diff) | |
download | volse-hubzilla-f2bfdfdeddea86784ce2d17b3c35e46a1c582b79.tar.gz volse-hubzilla-f2bfdfdeddea86784ce2d17b3c35e46a1c582b79.tar.bz2 volse-hubzilla-f2bfdfdeddea86784ce2d17b3c35e46a1c582b79.zip |
provide separate logging (if configured) for btlogger which is used to catch really subtle issues which don't always leave an audit trail. Similar to dbfail.out, the file btlogger.out (if it exists and is write-able) will only log these unusual situations with backtraces so we can find the culprits.
Diffstat (limited to 'include')
-rw-r--r-- | include/bb2diaspora.php | 5 | ||||
-rw-r--r-- | include/connections.php | 12 | ||||
-rw-r--r-- | include/text.php | 15 |
3 files changed, 31 insertions, 1 deletions
diff --git a/include/bb2diaspora.php b/include/bb2diaspora.php index 87a8551ae..1759154f0 100644 --- a/include/bb2diaspora.php +++ b/include/bb2diaspora.php @@ -128,6 +128,11 @@ function markdown_to_bb($s, $use_zrl = false) { $s = str_replace("
","\r",$s); $s = str_replace("
\n>","",$s); + if(is_array($s)) { + btlogger('markdown_to_bb called with array. ' . print_r($s,true), LOGGER_NORMAL, LOG_WARNING); + return ''; + } + $s = html_entity_decode($s,ENT_COMPAT,'UTF-8'); // if empty link text replace with the url diff --git a/include/connections.php b/include/connections.php index 44003bc93..31e941e95 100644 --- a/include/connections.php +++ b/include/connections.php @@ -634,6 +634,18 @@ function update_vcard($arr,$vcard = null) { $fn = $arr['fn']; + + // This isn't strictly correct and could be a cause for concern. + // 'N' => array_reverse(explode(' ', $fn)) + + + // What we really want is + // 'N' => Adams;John;Quincy;Reverend,Dr.;III + // which is a very difficult parsing problem especially if you allow + // the surname to contain spaces. The only way to be sure to get it + // right is to provide a form to input all the various fields and not + // try to extract it from the FN. + if(! $vcard) { $vcard = new \Sabre\VObject\Component\VCard([ 'FN' => $fn, diff --git a/include/text.php b/include/text.php index d6151d8ef..c4fafd8ef 100644 --- a/include/text.php +++ b/include/text.php @@ -656,11 +656,24 @@ function logger($msg, $level = LOGGER_NORMAL, $priority = LOG_INFO) { function btlogger($msg, $level = LOGGER_NORMAL, $priority = LOG_INFO) { logger($msg, $level, $priority); + + if(file_exists('btlogger.log') && is_writable('btlogger.log')) { + $stack = debug_backtrace(DEBUG_BACKTRACE_IGNORE_ARGS, 2); + $where = basename($stack[0]['file']) . ':' . $stack[0]['line'] . ':' . $stack[1]['function'] . ': '; + $s = datetime_convert() . ':' . log_priority_str($priority) . ':' . session_id() . ':' . $where . $msg . PHP_EOL; + @file_put_contents('btlogger.log', $s, FILE_APPEND); + } + if(version_compare(PHP_VERSION, '5.4.0') >= 0) { $stack = debug_backtrace(DEBUG_BACKTRACE_IGNORE_ARGS); if($stack) { for($x = 1; $x < count($stack); $x ++) { - logger('stack: ' . basename($stack[$x]['file']) . ':' . $stack[$x]['line'] . ':' . $stack[$x]['function'] . '()',$level, $priority); + $s = 'stack: ' . basename($stack[$x]['file']) . ':' . $stack[$x]['line'] . ':' . $stack[$x]['function'] . '()'; + logger($s,$level, $priority); + + if(file_exists('btlogger.log') && is_writable('btlogger.log')) { + @file_put_contents('btlogger.log', $s, FILE_APPEND); + } } } } |