summaryrefslogtreecommitdiff
path: root/app
diff options
context:
space:
mode:
Diffstat (limited to 'app')
-rw-r--r--app/Core/Helper.php1
-rw-r--r--app/Core/Tool.php20
-rw-r--r--app/Helper/MailHelper.php48
-rw-r--r--app/Model/SwimlaneModel.php16
-rw-r--r--app/ServiceProvider/HelperProvider.php1
5 files changed, 66 insertions, 20 deletions
diff --git a/app/Core/Helper.php b/app/Core/Helper.php
index f34b6190..43151be8 100644
--- a/app/Core/Helper.php
+++ b/app/Core/Helper.php
@@ -27,6 +27,7 @@ use Pimple\Container;
* @property \Kanboard\Helper\LayoutHelper $layout
* @property \Kanboard\Helper\ProjectHeaderHelper $projectHeader
* @property \Kanboard\Helper\ProjectActivityHelper $projectActivity
+ * @property \Kanboard\Helper\MailHelper $mail
*/
class Helper
{
diff --git a/app/Core/Tool.php b/app/Core/Tool.php
index 3423998d..bfa6c955 100644
--- a/app/Core/Tool.php
+++ b/app/Core/Tool.php
@@ -13,26 +13,6 @@ use Pimple\Container;
class Tool
{
/**
- * Get the mailbox hash from an email address
- *
- * @static
- * @access public
- * @param string $email
- * @return string
- */
- public static function getMailboxHash($email)
- {
- if (! strpos($email, '@') || ! strpos($email, '+')) {
- return '';
- }
-
- list($local_part, ) = explode('@', $email);
- list(, $identifier) = explode('+', $local_part);
-
- return $identifier;
- }
-
- /**
* Build dependency injection container from an array
*
* @static
diff --git a/app/Helper/MailHelper.php b/app/Helper/MailHelper.php
new file mode 100644
index 00000000..6c7eeff0
--- /dev/null
+++ b/app/Helper/MailHelper.php
@@ -0,0 +1,48 @@
+<?php
+
+namespace Kanboard\Helper;
+
+use Kanboard\Core\Base;
+
+/**
+ * Class MailHelper
+ *
+ * @package Kanboard\Helper
+ * @author Frederic Guillot
+ */
+class MailHelper extends Base
+{
+ /**
+ * Get the mailbox hash from an email address
+ *
+ * @access public
+ * @param string $email
+ * @return string
+ */
+ public function getMailboxHash($email)
+ {
+ if (! strpos($email, '@') || ! strpos($email, '+')) {
+ return '';
+ }
+
+ list($localPart, ) = explode('@', $email);
+ list(, $identifier) = explode('+', $localPart);
+
+ return $identifier;
+ }
+
+ /**
+ * Filter mail subject
+ *
+ * @access public
+ * @param string $subject
+ * @return string
+ */
+ public function filterSubject($subject)
+ {
+ $subject = str_replace('RE: ', '', $subject);
+ $subject = str_replace('FW: ', '', $subject);
+
+ return $subject;
+ }
+}
diff --git a/app/Model/SwimlaneModel.php b/app/Model/SwimlaneModel.php
index 87591b99..35e39879 100644
--- a/app/Model/SwimlaneModel.php
+++ b/app/Model/SwimlaneModel.php
@@ -90,6 +90,22 @@ class SwimlaneModel extends Base
}
/**
+ * Get first active swimlane for a project
+ *
+ * @access public
+ * @param integer $project_id
+ * @return array
+ */
+ public function getFirstActiveSwimlane($project_id)
+ {
+ return $this->db->table(self::TABLE)
+ ->eq('is_active', self::ACTIVE)
+ ->eq('project_id', $project_id)
+ ->orderBy('position', 'asc')
+ ->findOne();
+ }
+
+ /**
* Get default swimlane properties
*
* @access public
diff --git a/app/ServiceProvider/HelperProvider.php b/app/ServiceProvider/HelperProvider.php
index 114212d2..a909e3cf 100644
--- a/app/ServiceProvider/HelperProvider.php
+++ b/app/ServiceProvider/HelperProvider.php
@@ -37,6 +37,7 @@ class HelperProvider implements ServiceProviderInterface
$container['helper']->register('avatar', '\Kanboard\Helper\AvatarHelper');
$container['helper']->register('projectHeader', '\Kanboard\Helper\ProjectHeaderHelper');
$container['helper']->register('projectActivity', '\Kanboard\Helper\ProjectActivityHelper');
+ $container['helper']->register('mail', '\Kanboard\Helper\MailHelper');
$container['template'] = new Template($container['helper']);