Exemple #1
0
 /**
  * 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->router->findUrl($controller, $action, $params);
     $qs = array();
     if (empty($path)) {
         $qs['controller'] = $controller;
         $qs['action'] = $action;
         $qs += $params;
     }
     if ($csrf) {
         $qs['csrf_token'] = Security::getCSRFToken();
     }
     if (!empty($qs)) {
         $path .= '?' . http_build_query($qs, '', $separator);
     }
     return ($absolute ? $this->base() : $this->dir()) . $path . (empty($anchor) ? '' : '#' . $anchor);
 }
Exemple #2
0
 /**
  * Hidden CSRF token field
  *
  * @access public
  * @return string
  */
 public function csrf()
 {
     return '<input type="hidden" name="csrf_token" value="' . Security::getCSRFToken() . '"/>';
 }