| | |
| | | /** |
| | | * Class to create HTML page output using a skin template |
| | | * |
| | | * @package View |
| | | * @package Framework |
| | | * @subpackage View |
| | | */ |
| | | class rcube_output_html extends rcube_output |
| | | { |
| | |
| | | // fallback to deprecated template names |
| | | if (!is_readable($path) && $this->deprecated_templates[$realname]) { |
| | | $path = "$skin_path/templates/" . $this->deprecated_templates[$realname] . ".html"; |
| | | rcube::raise_error(array( |
| | | 'code' => 502, 'type' => 'php', |
| | | 'file' => __FILE__, 'line' => __LINE__, |
| | | 'message' => "Using deprecated template '" . $this->deprecated_templates[$realname] |
| | | . "' in $skin_path/templates. Please rename to '$realname'"), |
| | | true, false); |
| | | |
| | | if (is_readable($path)) { |
| | | rcube::raise_error(array( |
| | | 'code' => 502, 'type' => 'php', |
| | | 'file' => __FILE__, 'line' => __LINE__, |
| | | 'message' => "Using deprecated template '" . $this->deprecated_templates[$realname] |
| | | . "' in $skin_path/templates. Please rename to '$realname'"), |
| | | true, false); |
| | | } |
| | | } |
| | | |
| | | if (is_readable($path)) { |
| | | $this->config->set('skin_path', $skin_path); |
| | | $this->base_path = $skin_path; |
| | | $this->base_path = preg_replace('!plugins/\w+/!', '', $skin_path); // set base_path to core skin directory (not plugin's skin) |
| | | break; |
| | | } |
| | | else { |
| | |
| | | // 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'])); |