summaryrefslogtreecommitdiff
path: root/app/Helper/AppHelper.php
diff options
context:
space:
mode:
Diffstat (limited to 'app/Helper/AppHelper.php')
-rw-r--r--app/Helper/AppHelper.php128
1 files changed, 128 insertions, 0 deletions
diff --git a/app/Helper/AppHelper.php b/app/Helper/AppHelper.php
new file mode 100644
index 00000000..e6f6412d
--- /dev/null
+++ b/app/Helper/AppHelper.php
@@ -0,0 +1,128 @@
+<?php
+
+namespace Kanboard\Helper;
+
+use Kanboard\Core\Base;
+
+/**
+ * Application Helper
+ *
+ * @package helper
+ * @author Frederic Guillot
+ */
+class AppHelper extends Base
+{
+ /**
+ * Get config variable
+ *
+ * @access public
+ * @param string $param
+ * @param mixed $default_value
+ * @return mixed
+ */
+ public function config($param, $default_value = '')
+ {
+ return $this->config->get($param, $default_value);
+ }
+
+ /**
+ * Make sidebar menu active
+ *
+ * @access public
+ * @param string $controller
+ * @param string $action
+ * @param string $plugin
+ * @return string
+ */
+ public function checkMenuSelection($controller, $action = '', $plugin = '')
+ {
+ $result = strtolower($this->getRouterController()) === strtolower($controller);
+
+ if ($result && $action !== '') {
+ $result = strtolower($this->getRouterAction()) === strtolower($action);
+ }
+
+ if ($result && $plugin !== '') {
+ $result = strtolower($this->getPluginName()) === strtolower($plugin);
+ }
+
+ return $result ? 'class="active"' : '';
+ }
+
+ /**
+ * Get plugin name from route
+ *
+ * @access public
+ * @return string
+ */
+ public function getPluginName()
+ {
+ return $this->router->getPlugin();
+ }
+
+ /**
+ * Get router controller
+ *
+ * @access public
+ * @return string
+ */
+ public function getRouterController()
+ {
+ return $this->router->getController();
+ }
+
+ /**
+ * Get router action
+ *
+ * @access public
+ * @return string
+ */
+ public function getRouterAction()
+ {
+ return $this->router->getAction();
+ }
+
+ /**
+ * Get javascript language code
+ *
+ * @access public
+ * @return string
+ */
+ public function jsLang()
+ {
+ return $this->config->getJsLanguageCode();
+ }
+
+ /**
+ * Get current timezone
+ *
+ * @access public
+ * @return string
+ */
+ public function getTimezone()
+ {
+ return $this->config->getCurrentTimezone();
+ }
+
+ /**
+ * Get session flash message
+ *
+ * @access public
+ * @return string
+ */
+ public function flashMessage()
+ {
+ $success_message = $this->flash->getMessage('success');
+ $failure_message = $this->flash->getMessage('failure');
+
+ if (! empty($success_message)) {
+ return '<div class="alert alert-success alert-fade-out">'.$this->helper->text->e($success_message).'</div>';
+ }
+
+ if (! empty($failure_message)) {
+ return '<div class="alert alert-error">'.$this->helper->text->e($failure_message).'</div>';
+ }
+
+ return '';
+ }
+}