From 44e91721b0edec28b4e37d3c6b8847854c108233 Mon Sep 17 00:00:00 2001 From: Frédéric Guillot Date: Sun, 17 Aug 2014 09:15:38 -0700 Subject: Fix encoding issue in mail subject --- app/Core/Translator.php | 11 ++++++++ app/Model/Notification.php | 39 ++++++++++++++++++++-------- app/Templates/notification_task_creation.php | 4 +-- app/Templates/notification_task_update.php | 4 +-- 4 files changed, 43 insertions(+), 15 deletions(-) (limited to 'app') diff --git a/app/Core/Translator.php b/app/Core/Translator.php index 14a2d372..c34a40ba 100644 --- a/app/Core/Translator.php +++ b/app/Core/Translator.php @@ -46,6 +46,17 @@ class Translator self::$enable_escaping = false; } + /** + * Enable HTML escaping for translations + * + * @static + * @access public + */ + public static function enableEscaping() + { + self::$enable_escaping = true; + } + /** * Get a translation * diff --git a/app/Model/Notification.php b/app/Model/Notification.php index e0f932a4..a92ce73e 100644 --- a/app/Model/Notification.php +++ b/app/Model/Notification.php @@ -2,6 +2,7 @@ namespace Model; +use Core\Translator; use Core\Template; use Event\TaskNotificationListener; use Event\CommentNotificationListener; @@ -114,30 +115,46 @@ class Notification extends Base */ public function getMailSubject($template, array $data) { + Translator::disableEscaping(); + switch ($template) { case 'notification_file_creation': - return t('[%s][New attachment] %s (#%d)', $data['task']['project_name'], $data['task']['title'], $data['task']['id']); + $subject = t('[%s][New attachment] %s (#%d)', $data['task']['project_name'], $data['task']['title'], $data['task']['id']); + break; case 'notification_comment_creation': - return t('[%s][New comment] %s (#%d)', $data['task']['project_name'], $data['task']['title'], $data['task']['id']); + $subject = t('[%s][New comment] %s (#%d)', $data['task']['project_name'], $data['task']['title'], $data['task']['id']); + break; case 'notification_comment_update': - return t('[%s][Comment updated] %s (#%d)', $data['task']['project_name'], $data['task']['title'], $data['task']['id']); + $subject = t('[%s][Comment updated] %s (#%d)', $data['task']['project_name'], $data['task']['title'], $data['task']['id']); + break; case 'notification_subtask_creation': - return t('[%s][New subtask] %s (#%d)', $data['task']['project_name'], $data['task']['title'], $data['task']['id']); + $subject = t('[%s][New subtask] %s (#%d)', $data['task']['project_name'], $data['task']['title'], $data['task']['id']); + break; case 'notification_subtask_update': - return t('[%s][Subtask updated] %s (#%d)', $data['task']['project_name'], $data['task']['title'], $data['task']['id']); + $subject = t('[%s][Subtask updated] %s (#%d)', $data['task']['project_name'], $data['task']['title'], $data['task']['id']); + break; case 'notification_task_creation': - return t('[%s][New task] %s (#%d)', $data['task']['project_name'], $data['task']['title'], $data['task']['id']); + $subject = t('[%s][New task] %s (#%d)', $data['task']['project_name'], $data['task']['title'], $data['task']['id']); + break; case 'notification_task_update': - return t('[%s][Task updated] %s (#%d)', $data['task']['project_name'], $data['task']['title'], $data['task']['id']); + $subject = t('[%s][Task updated] %s (#%d)', $data['task']['project_name'], $data['task']['title'], $data['task']['id']); + break; case 'notification_task_close': - return t('[%s][Task closed] %s (#%d)', $data['task']['project_name'], $data['task']['title'], $data['task']['id']); + $subject = t('[%s][Task closed] %s (#%d)', $data['task']['project_name'], $data['task']['title'], $data['task']['id']); + break; case 'notification_task_open': - return t('[%s][Task opened] %s (#%d)', $data['task']['project_name'], $data['task']['title'], $data['task']['id']); + $subject = t('[%s][Task opened] %s (#%d)', $data['task']['project_name'], $data['task']['title'], $data['task']['id']); + break; case 'notification_task_due': - return t('[%s][Due tasks]', $data['project']); + $subject = t('[%s][Due tasks]', $data['project']); + break; + default: + $subject = t('[Kanboard] Notification'); } - return t('[Kanboard] Notification'); + Translator::enableEscaping(); + + return $subject; } /** diff --git a/app/Templates/notification_task_creation.php b/app/Templates/notification_task_creation.php index 9515e889..69beda92 100644 --- a/app/Templates/notification_task_creation.php +++ b/app/Templates/notification_task_creation.php @@ -11,13 +11,13 @@
  • - +
  • - + diff --git a/app/Templates/notification_task_update.php b/app/Templates/notification_task_update.php index 28be9db2..3f61dd2f 100644 --- a/app/Templates/notification_task_update.php +++ b/app/Templates/notification_task_update.php @@ -11,13 +11,13 @@
  • - +
  • - + -- cgit v1.2.3