| | |
| | | $this->register_action('about', array($this, 'action')); |
| | | $this->register_action('license', array($this, 'action')); |
| | | |
| | | $this->add_hook('startup', array($this, 'startup')); |
| | | $this->add_hook('error_page', array($this, 'error_page')); |
| | | } |
| | | |
| | | function startup($args) |
| | | { |
| | | $rcmail = rcmail::get_instance(); |
| | | |
| | | // add taskbar button |
| | |
| | | // register UI objects |
| | | $rcmail->output->add_handlers(array( |
| | | 'helpcontent' => array($this, 'content'), |
| | | 'tablink' => array($this, 'tablink'), |
| | | )); |
| | | |
| | | if ($rcmail->action == 'about') |
| | |
| | | $rcmail->output->set_pagetitle($this->gettext('help')); |
| | | |
| | | $rcmail->output->send('help.help'); |
| | | } |
| | | |
| | | function tablink($attrib) |
| | | { |
| | | $rcmail = rcmail::get_instance(); |
| | | |
| | | $attrib['name'] = 'helplink' . $attrib['action']; |
| | | $attrib['href'] = $rcmail->url(array('_action' => $attrib['action'], '_extwin' => !empty($_REQUEST['_extwin']) ? 1 : null)); |
| | | |
| | | // title might be already translated here, so revert to it's initial value |
| | | // so button() will translate it correctly |
| | | $attrib['title'] = $attrib['label']; |
| | | |
| | | return $rcmail->output->button($attrib); |
| | | } |
| | | |
| | | function content($attrib) |
| | |
| | | return $rcmail->output->frame($attrib); |
| | | } |
| | | |
| | | function error_page($args) |
| | | { |
| | | $rcmail = rcmail::get_instance(); |
| | | |
| | | if ($args['code'] == 403 && $rcmail->request_status == rcube::REQUEST_ERROR_URL && ($url = $rcmail->config->get('help_csrf_info'))) { |
| | | $args['text'] .= '<p>' . html::a(array('href' => $url, 'target' => '_blank'), $this->gettext('csrfinfo')) . '</p>'; |
| | | } |
| | | |
| | | return $args; |
| | | } |
| | | |
| | | private function resolve_language($path) |
| | | { |