thomascube
2009-07-24 186938dac6d2be1c69ed114ece0b37565769d49f
Use write_log() to log bugs. This will also trigger the write_log plugin hook as requested in #1485998

2 files modified
31 ■■■■ changed files
program/include/bugs.inc 28 ●●●● patch | view | raw | blame | history
program/include/main.inc 3 ●●●●● patch | view | raw | blame | history
program/include/bugs.inc
@@ -5,7 +5,7 @@
 | program/include/bugs.inc                                              |
 |                                                                       |
 | This file is part of the RoudCube Webmail client                      |
 | Copyright (C) 2005-2007, RoudCube Dev - Switzerland                   |
 | Copyright (C) 2005-2009, RoudCube Dev - Switzerland                   |
 | Licensed under the GNU GPL                                            |
 |                                                                       |
 | PURPOSE:                                                              |
@@ -69,38 +69,20 @@
  global $CONFIG;
  $program = strtoupper($arg_arr['type']);
  if (empty($CONFIG['log_date_format']))
    $CONFIG['log_date_format'] = 'd-M-Y H:i:s O';
  // write error to local log file
  if ($CONFIG['debug_level'] & 1)
  {
    $post_query = ($_SERVER['REQUEST_METHOD'] == 'POST' ? '?_task='.urlencode($_POST['_task']).'&_action='.urlencode($_POST['_action']) : '');
    $log_entry = sprintf("[%s] %s Error: %s%s (%s %s)\n",
      date($CONFIG['log_date_format']),
    $log_entry = sprintf("%s Error: %s%s (%s %s)\n",
      $program,
      $arg_arr['message'],
      $arg_arr['file'] ? sprintf(' in %s on line %d', $arg_arr['file'], $arg_arr['line']) : '',
      $_SERVER['REQUEST_METHOD'],
      $_SERVER['REQUEST_URI'] . $post_query);
    if (empty($CONFIG['log_dir']))
      $CONFIG['log_dir'] = INSTALL_PATH.'logs';
    // try to open specific log file for writing
    if ($CONFIG['log_driver'] == 'syslog')
    if (!write_log('errors', $log_entry))
    {
      syslog(LOG_ERR, $log_entry);
    }
    else if ($fp = @fopen($CONFIG['log_dir'].'/errors', 'a'))
    {
      // log_driver == 'file' is the default, assumed here.
      fwrite($fp, $log_entry);
      fclose($fp);
    }
    else
    {
      // send error to PHPs error handler
      // send error to PHPs error handler if write_log didn't succeed
      trigger_error($arg_arr['message']);
    }
  }
program/include/main.inc
@@ -1012,6 +1012,7 @@
  if ($CONFIG['log_driver'] == 'syslog') {
    $prio = $name == 'errors' ? LOG_ERR : LOG_INFO;
    syslog($prio, $log_entry);
    return true;
  }
  else {
    // log_driver == 'file' is assumed here
@@ -1023,8 +1024,10 @@
      fwrite($fp, $log_entry);
      fflush($fp);
      fclose($fp);
      return true;
    }
  }
  return false;
}