コード例 #1
0
ファイル: UrlSubType.php プロジェクト: trejjam/contents
 public function update(Items\Base $item = NULL, $data)
 {
     try {
         $actualUrl = $this->request->getUrl();
         $urlScript = new Nette\Http\UrlScript($data);
         $urlScript->setScriptPath($actualUrl->getScriptPath());
         if ($urlScript->getHost() == $actualUrl->getHost()) {
             $request = new Nette\Http\Request($urlScript);
             $appRequest = $this->router->match($request);
             if (!is_null($appRequest)) {
                 $data = $appRequest->getPresenterName();
                 $data .= ':' . $appRequest->getParameter('action');
                 $fragment = $urlScript->getFragment();
                 if ($fragment != '') {
                     $data .= '#' . $fragment;
                 }
                 $parameters = $appRequest->getParameters();
                 unset($parameters['action']);
                 if (count($parameters) > 0) {
                     $data .= ', ' . Nette\Utils\Json::encode($parameters);
                 }
             }
         }
     } catch (Nette\InvalidArgumentException $e) {
     }
     return $data;
 }