示例#1
0
 /**
  * @param Request $request
  * @return PartialHtmlResponse
  */
 public function run(Request $request)
 {
     $urlBuilder = $this->serviceContainer->getUrlBuilder();
     $editUrl = $this->serviceContainer->getTemplateBuilder()->createTemplate();
     $userUrlLoader = $this->serviceContainer->getUserUrlLoader();
     $csrfHandler = $this->serviceContainer->getCsrfHandler()->createNewToken();
     $url = $userUrlLoader->loadUrl($request->getGetVal('id'));
     if ($url == null) {
         return new PartialHtmlResponse('Sorry, you are not allowed to edit this url.');
     }
     $update_action_url = $urlBuilder->createActionUrl('updateUrl', $request->getGetVal('id'));
     $trash_link = $urlBuilder->createActionUrl('trashUrl', $url->getId(), $csrfHandler->getCurrentToken());
     $editUrl->loadFile('editUrl.html')->addPlaceHolder('form_action', $update_action_url)->addPlaceHolder('url', $url->getUrl())->addPlaceHolder('title', $url->getTitle())->addPlaceHolder('description', $url->getDescription())->addPlaceHolder('trash_link', $trash_link)->addPlaceHolder('list_urls_link', $urlBuilder->createActionUrl('listUrls'))->addCsrfToken($csrfHandler);
     return new PartialHtmlResponse($editUrl->render());
 }