From 0344b168276f80189e2254c75a762aff5b517b6b Mon Sep 17 00:00:00 2001
From: Aleksander Machniak <alec@alec.pl>
Date: Sun, 22 May 2016 06:32:57 -0400
Subject: [PATCH] Fix priority icon(s) position
---
plugins/help/help.php | 36 ++++++++++++++++++++++++++++++++++--
1 files changed, 34 insertions(+), 2 deletions(-)
diff --git a/plugins/help/help.php b/plugins/help/help.php
index ab665d0..029ab97 100644
--- a/plugins/help/help.php
+++ b/plugins/help/help.php
@@ -33,6 +33,12 @@
$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
@@ -61,6 +67,7 @@
// register UI objects
$rcmail->output->add_handlers(array(
'helpcontent' => array($this, 'content'),
+ 'tablink' => array($this, 'tablink'),
));
if ($rcmail->action == 'about')
@@ -71,6 +78,20 @@
$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)
@@ -120,13 +141,24 @@
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)
{
// resolve language placeholder
- $rcmail = rcmail::get_instance();
+ $rcmail = rcmail::get_instance();
$langmap = $rcmail->config->get('help_language_map', array('*' => 'en_US'));
- $lang = !empty($langmap[$_SESSION['language']]) ? $langmap[$_SESSION['language']] : $langmap['*'];
+ $lang = $langmap[$_SESSION['language']] ?: $langmap['*'];
+
return str_replace('%l', $lang, $path);
}
}
--
Gitblit v1.9.1