/** * @param $info * @return array|null * @throws \Ip\Exception */ public static function ipRouteAction_70($info) { $result = \Ip\ServiceLocator::router()->match(rtrim($info['relativeUri'], '/'), ipRequest()); if (!$result) { return null; } if (is_callable($result['action'])) { unset($result['plugin'], $result['controller']); } if (empty($result['page'])) { if ($info['relativeUri'] == '') { $pageId = ipContent()->getDefaultPageId(); $page = \Ip\Internal\Pages\Service::getPage($pageId); } else { $languageCode = ipContent()->getCurrentLanguage()->getCode(); $page = \Ip\Internal\Pages\Service::getPageByUrl($languageCode, $info['relativeUri']); } if ($page && (!$page['isSecured'] || !ipAdminId())) { $result['page'] = new \Ip\Page($page); } } return $result; }
protected function addFileRoutes($routesFile, $plugin) { $router = \Ip\ServiceLocator::router(); if (file_exists($routesFile)) { $routes = array(); include $routesFile; $router->addRoutes($routes, array('plugin' => $plugin, 'controller' => 'PublicController')); } }
/** * @param string $route * @param array $params * @return string */ function ipRouteUrl($route, $params = array()) { return ipHomeUrl() . \Ip\ServiceLocator::router()->generate($route, $params); }