From ed1d212ae2daea5e4bd043417610177093e99f19 Mon Sep 17 00:00:00 2001
From: Aleksander Machniak <alec@alec.pl>
Date: Sat, 16 Jan 2016 03:03:51 -0500
Subject: [PATCH] Improved SVG cleanup code
---
plugins/help/help.php | 27 +++++++++++++++++++++++++--
1 files changed, 25 insertions(+), 2 deletions(-)
diff --git a/plugins/help/help.php b/plugins/help/help.php
index 37fd908..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
@@ -77,8 +83,14 @@
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);
}
@@ -129,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