Thomas Bruederli
2012-11-14 e30500643fbe0c9f9237570b73e59992f776cf0c
Enable default behavior of the browser when shift/ctrl-click task links (e.g. open in new window/tab)
2 files modified
9 ■■■■ changed files
program/include/rcube_output_html.php 2 ●●● patch | view | raw | blame | history
program/js/app.js 7 ●●●● patch | view | raw | blame | history
program/include/rcube_output_html.php
@@ -1087,7 +1087,7 @@
            // make valid href to specific buttons
            if (in_array($attrib['command'], rcmail::$main_tasks)) {
                $attrib['href']    = $this->app->url(array('task' => $attrib['command']));
                $attrib['onclick'] = sprintf("%s.command('switch-task','%s',null,event); return false", rcmail::JS_OBJECT_NAME, $attrib['command']);
                $attrib['onclick'] = sprintf("return %s.command('switch-task','%s',this,event)", rcmail::JS_OBJECT_NAME, $attrib['command']);
            }
            else if ($attrib['task'] && in_array($attrib['task'], rcmail::$main_tasks)) {
                $attrib['href'] = $this->app->url(array('action' => $attrib['command'], 'task' => $attrib['task']));
program/js/app.js
@@ -507,6 +507,11 @@
    if (this.busy)
      return false;
    // let the browser handle this click (shift/ctrl usually opens the link in a new window/tab)
    if ((obj && (obj.href.indexOf(location.href) < 0)) && rcube_event.get_modifier(event)) {
      return true;
    }
    // command not supported or allowed
    if (!this.commands[command]) {
      // pass command to parent window
@@ -562,7 +567,7 @@
        break;
      case 'about':
        location.href = '?_task=settings&_action=about';
        this.redirect('?_task=settings&_action=about', false);
        break;
      case 'permaurl':