/** * Determina si la url pasada como argumento es la actual. * * @param string $url URL a probar. * @param string $params Parametros que deben considerarse para determinar * si la URL es la actual. * @access public * @return boolean Valor logico que será true en caso de exito, false en * caso contrario. */ function isCurrent($url = null, $params = array()) { if (is_string($url)) { $url = I18nRouter::interpretUrl($url); } $current = Router::parse($this->url()); $urlParsed = Router::parse($this->url($url)); $params = am($this->__isCurrentWhen, $params); if (in_array('url', $params)) { if (is_array($url)) { $url = $this->url($url); } return preg_replace('/\\/$/', '', $url) == preg_replace('/\\/$/', '', $this->here); } foreach ($params as $param) { if (isset($urlParsed[$param], $current[$param])) { if ($urlParsed[$param] != $current[$param]) { return false; } } } return true; }
function __checkAccessUrl($url) { if (is_string($url)) { $url = I18nRouter::interpretUrl($url); } $params = $this->__parseUrl($url); $aco = "controllers/" . (!empty($params['plugin']) ? $params['plugin'] . '/' : '') . Inflector::camelize($params['controller']) . ($params['action'] ? '/' . $params['action'] : ''); #pr($aco); $user = $this->Auth->user(); if (empty($user)) { return $this->Acl->check($this->Auth->user('grupo_id'), $aco); } else { return $this->Acl->check($this->Auth->user(), $aco); } }