diff options
author | Frederic Guillot <fred@kanboard.net> | 2016-03-04 20:10:34 -0500 |
---|---|---|
committer | Frederic Guillot <fred@kanboard.net> | 2016-03-04 20:10:34 -0500 |
commit | 8f3e2b2e5c62a6130f6c8867ab335fb4c1a32c5c (patch) | |
tree | ce28cdc2dba9c31560ef753ac1b4dc39d567b7a6 /app/Helper/HookHelper.php | |
parent | f32507d423c46e8e9612b5239728e6c617e4cbcb (diff) |
Helper refactoring
Diffstat (limited to 'app/Helper/HookHelper.php')
-rw-r--r-- | app/Helper/HookHelper.php | 66 |
1 files changed, 66 insertions, 0 deletions
diff --git a/app/Helper/HookHelper.php b/app/Helper/HookHelper.php new file mode 100644 index 00000000..e8abc875 --- /dev/null +++ b/app/Helper/HookHelper.php @@ -0,0 +1,66 @@ +<?php + +namespace Kanboard\Helper; + +use Kanboard\Core\Base; + +/** + * Template Hook helpers + * + * @package helper + * @author Frederic Guillot + */ +class HookHelper extends Base +{ + /** + * Add assets JS or CSS + * + * @access public + * @param string $type + * @param string $hook + * @return string + */ + public function asset($type, $hook) + { + $buffer = ''; + + foreach ($this->hook->getListeners($hook) as $file) { + $buffer .= $this->helper->asset->$type($file); + } + + return $buffer; + } + + /** + * Render all attached hooks + * + * @access public + * @param string $hook + * @param array $variables + * @return string + */ + public function render($hook, array $variables = array()) + { + $buffer = ''; + + foreach ($this->hook->getListeners($hook) as $template) { + $buffer .= $this->template->render($template, $variables); + } + + return $buffer; + } + + /** + * Attach a template to a hook + * + * @access public + * @param string $hook + * @param string $template + * @return \Helper\Hook + */ + public function attach($hook, $template) + { + $this->hook->on($hook, $template); + return $this; + } +} |