diff options
Diffstat (limited to 'app')
-rw-r--r-- | app/Core/Helper.php | 1 | ||||
-rw-r--r-- | app/Core/Tool.php | 20 | ||||
-rw-r--r-- | app/Helper/MailHelper.php | 48 | ||||
-rw-r--r-- | app/Model/SwimlaneModel.php | 16 | ||||
-rw-r--r-- | app/ServiceProvider/HelperProvider.php | 1 |
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']); |