summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authoralecpl <alec@alec.pl>2009-07-07 16:38:31 +0000
committeralecpl <alec@alec.pl>2009-07-07 16:38:31 +0000
commitd559cba5f7b92f152dd0330e2870d5512cd34e51 (patch)
treec17c8f25f70d93fe05314105081248d2f99938d2
parentb6b593416bb1bef12c30b0cea8c92221d4b7a5c2 (diff)
- Added 'imap_debug' option, described 'sql_debug' option in config file
-rw-r--r--CHANGELOG1
-rw-r--r--config/main.inc.php.dist7
-rw-r--r--program/include/rcmail.php1
-rw-r--r--program/include/rcube_mdb2.php4
-rw-r--r--program/lib/imap.inc17
5 files changed, 23 insertions, 7 deletions
diff --git a/CHANGELOG b/CHANGELOG
index b98c2b227..f79862b80 100644
--- a/CHANGELOG
+++ b/CHANGELOG
@@ -1,6 +1,7 @@
CHANGELOG RoundCube Webmail
===========================
+- Added 'imap_debug' option
- Support strftime's format modifiers in date_* options (#1484806)
- Support %h variable in 'smtp_server' option (#1485766)
- Show SMTP errors in browser (#1485927)
diff --git a/config/main.inc.php.dist b/config/main.inc.php.dist
index d77372099..c60307ddb 100644
--- a/config/main.inc.php.dist
+++ b/config/main.inc.php.dist
@@ -14,7 +14,6 @@
$rcmail_config = array();
-
// system error reporting: 1 = log; 2 = report (not implemented yet), 4 = show, 8 = trace
$rcmail_config['debug_level'] = 1;
@@ -125,6 +124,12 @@ $rcmail_config['smtp_helo_host'] = '';
// Log sent messages
$rcmail_config['smtp_log'] = TRUE;
+// Log SQL queries to <log_dir>/sql or to syslog
+$rcmail_config['sql_debug'] = false;
+
+// Log IMAP conversation to <log_dir>/imap or to syslog
+$rcmail_config['imap_debug'] = false;
+
// How many seconds must pass between emails sent by a user
$rcmail_config['sendmail_delay'] = 0;
diff --git a/program/include/rcmail.php b/program/include/rcmail.php
index 22ec20b90..65bac3813 100644
--- a/program/include/rcmail.php
+++ b/program/include/rcmail.php
@@ -366,6 +366,7 @@ class rcmail
'imap' => $this->config->get('imap_auth_type', 'check'),
'delimiter' => isset($_SESSION['imap_delimiter']) ? $_SESSION['imap_delimiter'] : $this->config->get('imap_delimiter'),
'rootdir' => isset($_SESSION['imap_root']) ? $_SESSION['imap_root'] : $this->config->get('imap_root'),
+ 'debug_mode' => (bool) $this->config->get('imap_debug', 0),
);
$this->imap->set_options($options);
diff --git a/program/include/rcube_mdb2.php b/program/include/rcube_mdb2.php
index faf653539..a83b463b4 100644
--- a/program/include/rcube_mdb2.php
+++ b/program/include/rcube_mdb2.php
@@ -701,8 +701,6 @@ function mdb2_debug_handler(&$db, $scope, $message, $context = array())
{
$debug_output = $scope . '('.$db->db_index.'): ';
$debug_output .= $message . $db->getOption('log_line_break');
- write_log('sqllog', $debug_output);
+ write_log('sql', $debug_output);
}
}
-
-
diff --git a/program/lib/imap.inc b/program/lib/imap.inc
index 7b40c020b..a8f858ea6 100644
--- a/program/lib/imap.inc
+++ b/program/lib/imap.inc
@@ -197,7 +197,11 @@ function iil_xor($string, $string2) {
}
function iil_PutLine($fp, $string, $endln=true) {
-// console('C: '. rtrim($string));
+ global $my_prefs;
+
+ if(!empty($my_prefs['debug_mode']))
+ write_log('imap', 'C: '. rtrim($string));
+
return fputs($fp, $string . ($endln ? "\r\n" : ''));
}
@@ -225,6 +229,8 @@ function iil_PutLineC($fp, $string, $endln=true) {
}
function iil_ReadLine($fp, $size=1024) {
+ global $my_prefs;
+
$line = '';
if (!$fp) {
@@ -240,7 +246,8 @@ function iil_ReadLine($fp, $size=1024) {
if ($buffer === false) {
break;
}
-// console('S: '. chop($buffer));
+ if(!empty($my_prefs['debug_mode']))
+ write_log('imap', 'S: '. chop($buffer));
$line .= $buffer;
} while ($buffer[strlen($buffer)-1] != "\n");
@@ -265,6 +272,7 @@ function iil_MultLine($fp, $line, $escape=false) {
}
function iil_ReadBytes($fp, $bytes) {
+ global $my_prefs;
$data = '';
$len = 0;
do {
@@ -273,7 +281,8 @@ function iil_ReadBytes($fp, $bytes) {
if ($len == strlen($data)) {
break; //nothing was read -> exit to avoid apache lockups
}
-// console('[...] '. $d);
+ if(!empty($my_prefs['debug_mode']))
+ write_log('imap', 'S: '. $d);
$len = strlen($data);
} while ($len < $bytes);
@@ -553,6 +562,8 @@ function iil_Connect($host, $user, $password, $options=null) {
$my_prefs['rootdir'] = $optval;
} else if ($optkey == 'delimiter') {
$my_prefs['delimiter'] = $optval;
+ } else if ($optkey == 'debug_mode') {
+ $my_prefs['debug_mode'] = $optval;
}
}
}