summaryrefslogtreecommitdiff
path: root/app/Helper/Url.php
diff options
context:
space:
mode:
authorFrederic Guillot <fred@kanboard.net>2016-03-04 20:10:34 -0500
committerFrederic Guillot <fred@kanboard.net>2016-03-04 20:10:34 -0500
commit8f3e2b2e5c62a6130f6c8867ab335fb4c1a32c5c (patch)
treece28cdc2dba9c31560ef753ac1b4dc39d567b7a6 /app/Helper/Url.php
parentf32507d423c46e8e9612b5239728e6c617e4cbcb (diff)
Helper refactoring
Diffstat (limited to 'app/Helper/Url.php')
-rw-r--r--app/Helper/Url.php171
1 files changed, 0 insertions, 171 deletions
diff --git a/app/Helper/Url.php b/app/Helper/Url.php
deleted file mode 100644
index 7de8a571..00000000
--- a/app/Helper/Url.php
+++ /dev/null
@@ -1,171 +0,0 @@
-<?php
-
-namespace Kanboard\Helper;
-
-use Kanboard\Core\Base;
-
-/**
- * Url helpers
- *
- * @package helper
- * @author Frederic Guillot
- */
-class Url extends Base
-{
- private $base = '';
- private $directory = '';
-
- /**
- * Helper to generate a link to the documentation
- *
- * @access public
- * @param string $label
- * @param string $file
- * @return string
- */
- public function doc($label, $file)
- {
- return $this->link($label, 'doc', 'show', array('file' => $file), false, '', '', true);
- }
-
- /**
- * HTML Link tag
- *
- * @access public
- * @param string $label Link label
- * @param string $controller Controller name
- * @param string $action Action name
- * @param array $params Url parameters
- * @param boolean $csrf Add a CSRF token
- * @param string $class CSS class attribute
- * @param boolean $new_tab Open the link in a new tab
- * @param string $anchor Link Anchor
- * @return string
- */
- public function link($label, $controller, $action, array $params = array(), $csrf = false, $class = '', $title = '', $new_tab = false, $anchor = '')
- {
- return '<a href="'.$this->href($controller, $action, $params, $csrf, $anchor).'" class="'.$class.'" title=\''.$title.'\' '.($new_tab ? 'target="_blank"' : '').'>'.$label.'</a>';
- }
-
- /**
- * HTML Hyperlink
- *
- * @access public
- * @param string $controller Controller name
- * @param string $action Action name
- * @param array $params Url parameters
- * @param boolean $csrf Add a CSRF token
- * @param string $anchor Link Anchor
- * @param boolean $absolute Absolute or relative link
- * @return string
- */
- public function href($controller, $action, array $params = array(), $csrf = false, $anchor = '', $absolute = false)
- {
- return $this->build('&amp;', $controller, $action, $params, $csrf, $anchor, $absolute);
- }
-
- /**
- * Generate controller/action url
- *
- * @access public
- * @param string $controller Controller name
- * @param string $action Action name
- * @param array $params Url parameters
- * @param string $anchor Link Anchor
- * @param boolean $absolute Absolute or relative link
- * @return string
- */
- public function to($controller, $action, array $params = array(), $anchor = '', $absolute = false)
- {
- return $this->build('&', $controller, $action, $params, false, $anchor, $absolute);
- }
-
- /**
- * Get application base url
- *
- * @access public
- * @return string
- */
- public function base()
- {
- if (empty($this->base)) {
- $this->base = $this->config->get('application_url') ?: $this->server();
- }
-
- return $this->base;
- }
-
- /**
- * Get application base directory
- *
- * @access public
- * @return string
- */
- public function dir()
- {
- if ($this->directory === '' && $this->request->getMethod() !== '') {
- $this->directory = str_replace('\\', '/', dirname($this->request->getServerVariable('PHP_SELF')));
- $this->directory = $this->directory !== '/' ? $this->directory.'/' : '/';
- $this->directory = str_replace('//', '/', $this->directory);
- }
-
- return $this->directory;
- }
-
- /**
- * Get current server base url
- *
- * @access public
- * @return string
- */
- public function server()
- {
- if ($this->request->getServerVariable('SERVER_NAME') === '') {
- return 'http://localhost/';
- }
-
- $url = $this->request->isHTTPS() ? 'https://' : 'http://';
- $url .= $this->request->getServerVariable('SERVER_NAME');
- $url .= $this->request->getServerVariable('SERVER_PORT') == 80 || $this->request->getServerVariable('SERVER_PORT') == 443 ? '' : ':'.$this->request->getServerVariable('SERVER_PORT');
- $url .= $this->dir() ?: '/';
-
- return $url;
- }
-
- /**
- * Build relative url
- *
- * @access private
- * @param string $separator Querystring argument separator
- * @param string $controller Controller name
- * @param string $action Action name
- * @param array $params Url parameters
- * @param boolean $csrf Add a CSRF token
- * @param string $anchor Link Anchor
- * @param boolean $absolute Absolute or relative link
- * @return string
- */
- private function build($separator, $controller, $action, array $params = array(), $csrf = false, $anchor = '', $absolute = false)
- {
- $path = $this->route->findUrl($controller, $action, $params);
- $qs = array();
-
- if (empty($path)) {
- $qs['controller'] = $controller;
- $qs['action'] = $action;
- $qs += $params;
- } else {
- unset($params['plugin']);
- }
-
- if ($csrf) {
- $qs['csrf_token'] = $this->token->getCSRFToken();
- }
-
- if (! empty($qs)) {
- $path .= '?'.http_build_query($qs, '', $separator);
- }
-
- return ($absolute ? $this->base() : $this->dir()).$path.(empty($anchor) ? '' : '#'.$anchor);
- }
-}