summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorAleksander Machniak <alec@alec.pl>2014-09-10 16:32:28 +0200
committerAleksander Machniak <alec@alec.pl>2014-09-10 16:32:28 +0200
commitdcc4469844f8ce98bd8323b684e40cf64643e5ae (patch)
tree568c1ab6bb3d402a22435376a26167dce04104cd
parent1985eb2e6d77fcb77c95569f43e1b0f4c91bed88 (diff)
Don't init output in CLI mode
Fixes infinite recurssion on raise_error() call when executing scripts out of the INSTALL_PATH. Also use 'rcube' if 'rcmail' is not needed.
-rwxr-xr-xbin/cleandb.sh2
-rwxr-xr-xbin/decrypt.sh2
-rwxr-xr-xbin/indexcontacts.sh2
-rwxr-xr-xbin/moduserprefs.sh2
-rw-r--r--program/include/rcmail.php8
5 files changed, 9 insertions, 7 deletions
diff --git a/bin/cleandb.sh b/bin/cleandb.sh
index add039364..165d33f38 100755
--- a/bin/cleandb.sh
+++ b/bin/cleandb.sh
@@ -30,7 +30,7 @@ $primary_keys = array(
);
// connect to DB
-$RCMAIL = rcmail::get_instance();
+$RCMAIL = rcube::get_instance();
$db = $RCMAIL->get_dbh();
$db->db_connect('w');
diff --git a/bin/decrypt.sh b/bin/decrypt.sh
index ff7c43038..7f83f3a7f 100755
--- a/bin/decrypt.sh
+++ b/bin/decrypt.sh
@@ -60,7 +60,7 @@ if ($argc < 2) {
die("Usage: " . basename($argv[0]) . " encrypted-hdr-part [encrypted-hdr-part ...]\n");
}
-$RCMAIL = rcmail::get_instance();
+$RCMAIL = rcube::get_instance();
for ($i = 1; $i < $argc; $i++) {
printf("%s\n", $RCMAIL->decrypt($argv[$i]));
diff --git a/bin/indexcontacts.sh b/bin/indexcontacts.sh
index c85a535a7..df403807c 100755
--- a/bin/indexcontacts.sh
+++ b/bin/indexcontacts.sh
@@ -25,7 +25,7 @@ require_once INSTALL_PATH.'program/include/clisetup.php';
ini_set('memory_limit', -1);
// connect to DB
-$RCMAIL = rcmail::get_instance();
+$RCMAIL = rcube::get_instance();
$db = $RCMAIL->get_dbh();
$db->db_connect('w');
diff --git a/bin/moduserprefs.sh b/bin/moduserprefs.sh
index 9bbc885a6..8a9725fa4 100755
--- a/bin/moduserprefs.sh
+++ b/bin/moduserprefs.sh
@@ -47,7 +47,7 @@ $pref_name = trim($args[0]);
$pref_value = $args['delete'] ? null : trim($args[1]);
// connect to DB
-$rcmail = rcmail::get_instance();
+$rcmail = rcube::get_instance();
$db = $rcmail->get_dbh();
$db->db_connect('w');
diff --git a/program/include/rcmail.php b/program/include/rcmail.php
index ece0606ae..e1a62767d 100644
--- a/program/include/rcmail.php
+++ b/program/include/rcmail.php
@@ -116,11 +116,13 @@ class rcmail extends rcube
$_SESSION['task'] = $this->task;
}
- // init output class
- if (!empty($_REQUEST['_remote']))
+ // init output class (not in CLI mode)
+ if (!empty($_REQUEST['_remote'])) {
$GLOBALS['OUTPUT'] = $this->json_init();
- else
+ }
+ else if ($_SERVER['REMOTE_ADDR']) {
$GLOBALS['OUTPUT'] = $this->load_gui(!empty($_REQUEST['_framed']));
+ }
// load plugins
$this->plugins->init($this, $this->task);