diff options
Diffstat (limited to 'app/Model/NotificationType.php')
-rw-r--r-- | app/Model/NotificationType.php | 36 |
1 files changed, 32 insertions, 4 deletions
diff --git a/app/Model/NotificationType.php b/app/Model/NotificationType.php index 50d6080f..e05cc686 100644 --- a/app/Model/NotificationType.php +++ b/app/Model/NotificationType.php @@ -13,7 +13,7 @@ use Pimple\Container; abstract class NotificationType extends Base { /** - * Mail transport instances + * Container * * @access private * @var \Pimple\Container @@ -21,7 +21,7 @@ abstract class NotificationType extends Base private $classes; /** - * Mail transport instances + * Notification type labels * * @access private * @var array @@ -29,6 +29,14 @@ abstract class NotificationType extends Base private $labels = array(); /** + * Hidden notification types + * + * @access private + * @var array + */ + private $hiddens = array(); + + /** * Constructor * * @access public @@ -47,15 +55,24 @@ abstract class NotificationType extends Base * @param string $type * @param string $label * @param string $class + * @param boolean $hidden + * @return NotificationType */ - public function setType($type, $label, $class) + public function setType($type, $label, $class, $hidden = false) { $container = $this->container; - $this->labels[$type] = $label; + + if ($hidden) { + $this->hiddens[] = $type; + } else { + $this->labels[$type] = $label; + } $this->classes[$type] = function () use ($class, $container) { return new $class($container); }; + + return $this; } /** @@ -80,4 +97,15 @@ abstract class NotificationType extends Base { return $this->labels; } + + /** + * Get all hidden notification types + * + * @access public + * @return array + */ + public function getHiddenTypes() + { + return $this->hiddens; + } } |