(string)$arr[1] ); } elseif (Suco_Application::instance()->getDispatcher()->isModule($arr[0])) { $query = array( 'module' => (string)$arr[0], 'controller' => (string)$arr[1], 'action' => (string)$arr[2] ); } else { $query = array( 'controller' => (string)$arr[0], 'action' => (string)$arr[1] ); } $url = http_build_query($query); if ($q) $url.='&'.$q; } $this->_url = $url; $this->_route = $route; } public function encode($param) { return Suco_Controller_Router_Route_Abstract::encode($param); } public function decode($param) { return Suco_Controller_Router_Route_Abstract::decode($param); } public function __toString() { if (!$this->_url) { return ''; } list($url, $author) = explode('#', $this->_url); return Suco_Application::instance() ->getRouter() ->reverse($url, $this->_route) . ($author ? '#'.$author : ''); } }