I18nRouter::connect("/[profile_url]/[set_pass_url]/", array('controller' => 'users', 'action' => 'set_password')); I18nRouter::connect("/[profile_url]/*", array('controller' => 'users', 'action' => 'profile')); I18nRouter::connect("/[session_timeout_url]/", array('controller' => 'pages', 'action' => 'display', 'buy_expired_error')); I18nRouter::connect("/[m_contacts_url]", array('controller' => 'contacts', 'action' => 'add', 'restricted' => false)); I18nRouter::connect("/[thanks_url]", array('controller' => 'pages', 'action' => 'display', 'thanks')); I18nRouter::connect("/[search_url]", array('controller' => 'pages', 'action' => 'display', 'buscador')); I18nRouter::connect("/[privacy_policies_url]", array('controller' => 'pages', 'action' => 'display', 'privacy_policies')); I18nRouter::connect("/[sitemap_url]", array('controller' => 'pages', 'action' => 'display', 'sitemap')); I18nRouter::connect("/[m_about_url]", array('controller' => 'pages', 'action' => 'display', 'about')); I18nRouter::connect('/[m_locations_url]/:id-:slug/*', array('controller' => 'locations', 'action' => 'view', 'restricted' => false), array('pass' => array('id', 'slug'), 'id' => '[0-9]+')); I18nRouter::connect("/[m_locations_url]", array('controller' => 'locations', 'action' => 'index')); I18nRouter::connect("/[m_services_url]", array('controller' => 'services', 'action' => 'index')); I18nRouter::connect("/[m_register_url]/*", array('controller' => 'users', 'action' => 'singin')); I18nRouter::connect("/[buy_error_url]/*", array('controller' => 'pages', 'action' => 'display', 'buy_error')); I18nRouter::connect("/[user_confirm_url]/*", array('controller' => 'users', 'action' => 'confirm')); I18nRouter::connect("/[maintenance_url]/*", array('controller' => 'pages', 'action' => 'display', 'maintenance')); /** * ...and connect the rest of 'Pages' controller's urls. */ Router::connect('/pages/*', array('controller' => 'pages', 'action' => 'display', 'restricted' => false)); Router::connect('/admin', array('controller' => 'pages', 'action' => 'display', 'admin_home', 'admin' => true)); Router::connect("/contacts.captcha", array('controller' => 'contacts', 'action' => 'captcha')); Router::mapResources('locations'); Router::mapResources('shows'); Router::mapResources('movies'); Router::mapResources('users'); Router::mapResources('cities'); Router::parseExtensions('json', 'xml'); Router::connect('/billboard/*', array('controller' => 'shows', 'action' => 'rest')); Router::connect('/billboard-full/*', array('controller' => 'shows', 'action' => 'rest_schedules')); Router::connect('/movie/*', array('controller' => 'movies', 'action' => 'view'));
/** * 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; }
/** * Cambia el locale de la url * @param string $url * @param string $locale * @return string retorna el nuevo locale */ function chgLocaleUrl($url, $locale) { $self = I18nRouter::getInstance(); return $self->interpretUrl($self->getUninterpreterUrl($url), $locale); }
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); } }