From 4daaf297478aa66eb359e2989d729d98c3f45793 Mon Sep 17 00:00:00 2001 From: alecpl <alec@alec.pl> Date: Fri, 16 Sep 2011 07:37:44 -0400 Subject: [PATCH] - Fix default folders settings (according to namespaces) for new users too --- program/include/rcube_json_output.php | 55 ++++++++++++++++++++++++++++++++++--------------------- 1 files changed, 34 insertions(+), 21 deletions(-) diff --git a/program/include/rcube_json_output.php b/program/include/rcube_json_output.php index 3b95a49..ade9cc0 100644 --- a/program/include/rcube_json_output.php +++ b/program/include/rcube_json_output.php @@ -5,7 +5,7 @@ | program/include/rcube_json_output.php | | | | This file is part of the Roundcube Webmail client | - | Copyright (C) 2008-2010, Roundcube Dev. - Switzerland | + | Copyright (C) 2008-2010, The Roundcube Dev Team | | Licensed under the GNU GPL | | | | PURPOSE: | @@ -35,13 +35,13 @@ */ private $config; private $charset = RCMAIL_CHARSET; - private $env = array(); private $texts = array(); private $commands = array(); private $callbacks = array(); private $message = null; public $browser; + public $env = array(); public $type = 'js'; public $ajax_call = true; @@ -75,7 +75,11 @@ */ public function set_pagetitle($title) { - $name = $this->config->get('product_name'); + if ($this->config->get('devel_mode') && !empty($_SESSION['username'])) + $name = $_SESSION['username']; + else + $name = $this->config->get('product_name'); + $this->command('set_pagetitle', empty($name) ? $title : $name.' :: '.$title); } @@ -134,14 +138,14 @@ public function command() { $cmd = func_get_args(); - + if (strpos($cmd[0], 'plugin.') === 0) $this->callbacks[] = $cmd; else $this->commands[] = $cmd; } - - + + /** * Add a localized label to the client environment */ @@ -150,7 +154,7 @@ $args = func_get_args(); if (count($args) == 1 && is_array($args[0])) $args = $args[0]; - + foreach ($args as $name) { $this->texts[$name] = rcube_label($name); } @@ -164,17 +168,22 @@ * @param string $type Message type [notice|confirm|error] * @param array $vars Key-value pairs to be replaced in localized text * @param boolean $override Override last set message + * @param int $timeout Message displaying time in seconds * @uses self::command() */ - public function show_message($message, $type='notice', $vars=null, $override=true) + public function show_message($message, $type='notice', $vars=null, $override=true, $timeout=0) { if ($override || !$this->message) { + if (rcube_label_exists($message)) { + if (!empty($vars)) + $vars = array_map('Q', $vars); + $msgtext = rcube_label(array('name' => $message, 'vars' => $vars)); + } + else + $msgtext = $message; + $this->message = $message; - $this->command( - 'display_message', - rcube_label(array('name' => $message, 'vars' => $vars)), - $type - ); + $this->command('display_message', $msgtext, $type, $timeout * 1000); } } @@ -203,8 +212,8 @@ $this->remote_response("window.setTimeout(\"location.href='{$location}'\", $delay);"); exit; } - - + + /** * Send an AJAX response to the client. */ @@ -213,8 +222,8 @@ $this->remote_response(); exit; } - - + + /** * Send an AJAX response with executable JS code * @@ -237,17 +246,21 @@ unset($this->env['task'], $this->env['action'], $this->env['comm_path']); $rcmail = rcmail::get_instance(); - $response = array('action' => $rcmail->action, 'unlock' => (bool)$_REQUEST['_unlock']); - + $response['action'] = $rcmail->action; + + if ($unlock = get_input_value('_unlock', RCUBE_INPUT_GPC)) { + $response['unlock'] = $unlock; + } + if (!empty($this->env)) $response['env'] = $this->env; - + if (!empty($this->texts)) $response['texts'] = $this->texts; // send function calls $response['exec'] = $this->get_js_commands() . $add; - + if (!empty($this->callbacks)) $response['callbacks'] = $this->callbacks; -- Gitblit v1.9.1