Thomas Bruederli
2014-07-28 d4783319a086b09eb50ac6ad5da93eb1eeb771ca
Set 'compose_extwin' env property on every step; accept a list of URL parameters for the 'compose' command
6 files modified
17 ■■■■■ changed files
program/include/rcmail.php 3 ●●●●● patch | view | raw | blame | history
program/js/app.js 8 ●●●● patch | view | raw | blame | history
program/steps/addressbook/func.inc 1 ●●●● patch | view | raw | blame | history
program/steps/addressbook/show.inc 1 ●●●● patch | view | raw | blame | history
program/steps/mail/func.inc 2 ●●● patch | view | raw | blame | history
program/steps/mail/show.inc 2 ●●● patch | view | raw | blame | history
program/include/rcmail.php
@@ -427,6 +427,9 @@
            $this->output->set_env('user_id', $this->user->get_hash());
        }
        // set compose mode for all tasks (message compose step can be triggered from everywhere)
        $this->output->set_env('compose_extwin', $this->config->get('compose_extwin',false));
        // add some basic labels to client
        $this->output->add_label('loading', 'servererror', 'connerror', 'requesttimedout',
            'refreshing', 'windowopenerror');
program/js/app.js
@@ -1052,7 +1052,7 @@
        if (this.task == 'mail') {
          url._mbox = this.env.mailbox;
          if (props)
             url._to = props;
            url._to = props;
          // also send search request so we can go back to search result after message is sent
          if (this.env.search_request)
            url._search = this.env.search_request;
@@ -1080,8 +1080,12 @@
            break;
          }
        }
        else if (props)
        else if (props && typeof props == 'string') {
          url._to = props;
        }
        else if (props && typeof props == 'object') {
          $.extend(url, props);
        }
        this.open_compose_step(url);
        break;
program/steps/addressbook/func.inc
@@ -81,7 +81,6 @@
    $OUTPUT->set_env('search_mods', $search_mods);
    $OUTPUT->set_env('address_sources', $js_list);
    $OUTPUT->set_env('writable_source', $writeable);
    $OUTPUT->set_env('compose_extwin', $RCMAIL->config->get('compose_extwin',false));
    $OUTPUT->set_pagetitle($RCMAIL->gettext('addressbook'));
    $_SESSION['addressbooks_count'] = $count;
program/steps/addressbook/show.inc
@@ -32,7 +32,6 @@
if ($cid && ($record = $CONTACTS->get_record($cid, true))) {
    $OUTPUT->set_env('readonly', $CONTACTS->readonly || $record['readonly']);
    $OUTPUT->set_env('cid', $record['ID']);
    $OUTPUT->set_env('compose_extwin', $RCMAIL->config->get('compose_extwin',false));
}
// get address book name (for display)
program/steps/mail/func.inc
@@ -110,7 +110,7 @@
    // set configuration
    $RCMAIL->set_env_config(array('delete_junk', 'flag_for_deletion', 'read_when_deleted',
        'skip_deleted', 'display_next', 'message_extwin', 'compose_extwin', 'forward_attachment'));
        'skip_deleted', 'display_next', 'message_extwin', 'forward_attachment'));
    if (!$OUTPUT->ajax_call) {
        $OUTPUT->add_label('checkingmail', 'deletemessage', 'movemessagetotrash',
program/steps/mail/show.inc
@@ -80,7 +80,7 @@
    // set configuration
    $RCMAIL->set_env_config(array('delete_junk', 'flag_for_deletion', 'read_when_deleted',
        'skip_deleted', 'display_next', 'compose_extwin', 'forward_attachment'));
        'skip_deleted', 'display_next', 'forward_attachment'));
    // set special folders
    foreach (array('drafts', 'trash', 'junk') as $mbox) {