summaryrefslogtreecommitdiff
path: root/app/Model/NotificationType.php
diff options
context:
space:
mode:
Diffstat (limited to 'app/Model/NotificationType.php')
-rw-r--r--app/Model/NotificationType.php36
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;
+ }
}