/** * */ protected function setRoute() { /* @var $router Core_Request_Routes */ $router = Core_Request_Routes::getInstance(); $routes = array(1 => array('name' => 'test'), 2 => array('name' => 'controller', 'empty_value' => 'index'), 3 => array('name' => 'action', 'empty_value' => 'index'), 4 => array('name' => 'id')); $router->setRoutes($routes); }
/** * */ protected function setRoute() { /* @var $router Core_Request_Routes */ $router = Core_Request_Routes::getInstance(); $router->action = 'index'; // allways!!!! }
/** * @param $address * @param bool $lang * @param array $options * @return mixed|string */ public function getAddress($address, array $options = array()) { if (substr($address, 0, 7) == 'http://' || substr($address, 0, 8) == 'https://') { return $address; } if (!isset($address)) { $tmp_parts = Core_Request_Routes::getInstance()->getRoutes(); unset($tmp_parts['module']); $address = implode('/', $tmp_parts); unset($tmp_parts); } // Create query $query = array(); if (!empty($options[self::ADD_CURRENT_QUERY])) { $query = array_merge($query, $this->request->getAllQueries()); } if (strstr($address, '?')) { parse_str(preg_replace('[.*\\?]', null, $address), $query_tmp); $query = array_merge($query, $query_tmp); $address = preg_replace('[\\?.*]', null, $address); } if (isset($options[self::ADD_QUERY])) { $query = array_merge($query, $options[self::ADD_QUERY]); } // Create $address $module = isset($options[self::SET_MODULE]) ? $options[self::SET_MODULE] : $this->request->getRoute('module'); if ($module == 'default') { $module = null; } $address = '/' . $module . '/' . $address; $address_parts = array(); foreach (explode('/', $address) as $part) { if ($part) { if (substr($part, 0, 1) == ':') { $part = $this->request->getRoute(substr($part, 1)); } // skip displaying index files if ($part == 'index') { continue; } $address_parts[] = $part; } } $address = cfg()->game_address . '/' . implode('/', $address_parts); // Prepare to return if ($query) { $address .= '&' . http_build_query($query); } if (!empty($options[self::STRICT_LINK])) { $address = str_replace('&', '&', $address); } return $address; }
/** * @return mixed */ public function getAllRoutes() { return Core_Request_Routes::getInstance()->getRoutes(); }