示例#1
0
 /**
  * @param Request $request
  * @return PartialHtmlResponse
  */
 public function run(Request $request)
 {
     $userSession = $this->serviceContainer->getUserSession();
     $userSession->logout();
     $urlBuilder = $this->serviceContainer->getUrlBuilder();
     return new HttpRedirectResponse($urlBuilder->createActionUrl('login'));
 }
示例#2
0
 /**
  * @param Request $request
  * @return PartialHtmlResponse
  */
 public function run(Request $request)
 {
     $urlBuilder = $this->serviceContainer->getUrlBuilder();
     $templateBuilder = $this->serviceContainer->getTemplateBuilder();
     $userSession = $this->serviceContainer->getUserSession();
     $urlList = $templateBuilder->createTemplate();
     $urlList->loadFile('urlList.html')->addPlaceHolder('url_list', $this->renderUrlListEntriesForUser($userSession->getUserId()), Template::ESCAPE_MODE_NONE)->addPlaceHolder('add_url_link', $urlBuilder->createActionUrl('addUrl'))->addPlaceHolder('view_trash_link', $urlBuilder->createActionUrl('viewTrash'));
     return new PartialHtmlResponse($urlList->render());
 }
示例#3
0
 /**
  * @param Request $request
  * @return PartialHtmlResponse
  */
 public function run(Request $request)
 {
     $urlBuilder = $this->serviceContainer->getUrlBuilder();
     $userSession = $this->serviceContainer->getUserSession();
     $templateBuilder = $this->serviceContainer->getTemplateBuilder();
     $csrfHandler = $this->serviceContainer->getCsrfHandler()->createNewToken();
     $user_id = $userSession->getUserId();
     $trashedList = $templateBuilder->createTemplate();
     $trashedList->loadFile('trashedList.html')->addPlaceHolder('trashed_list', $this->renderTrashedEntriesForUser($user_id), Template::ESCAPE_MODE_NONE)->addPlaceHolder('list_urls_link', $urlBuilder->createActionUrl('listUrls'))->addPlaceHolder('empty_trash_link', $urlBuilder->createActionUrl('emptyTrash', 0, $csrfHandler->getCurrentToken()));
     return new PartialHtmlResponse($trashedList->render());
 }
示例#4
0
 /**
  * @param Request $request
  * @return PartialHtmlResponse
  */
 public function run(Request $request)
 {
     $urlQuery = $this->serviceContainer->getUrlQuery();
     $urlBuilder = $this->serviceContainer->getUrlBuilder();
     $userSession = $this->serviceContainer->getUserSession();
     $csrfHandler = $this->serviceContainer->getCsrfHandler();
     if ($csrfHandler->requestIsValid($request) == false) {
         return new CompleteHtmlResponse($csrfHandler->getErrorMessage());
     }
     $user_id = $userSession->getUserId();
     $urlQuery->emptyTrashByUserId($user_id);
     return new HttpRedirectResponse($urlBuilder->createActionUrl('listUrls'));
 }
示例#5
0
 /**
  * @param Request $request
  * @return PartialHtmlResponse
  */
 public function run(Request $request)
 {
     $now = $this->serviceContainer->getCurrentDate();
     $userSession = $this->serviceContainer->getUserSession();
     $urlBuilder = $this->serviceContainer->getUrlBuilder();
     $formMapper = $this->serviceContainer->getUrlFormMapper();
     $csrfHandler = $this->serviceContainer->getCsrfHandler();
     if ($csrfHandler->requestIsValid($request) == false) {
         return new CompleteHtmlResponse($csrfHandler->getErrorMessage());
     }
     $urlDataObject = $formMapper->mapToDataObject($request, $userSession->getUserId());
     $formMapper->initValues($urlDataObject, $now);
     $this->addUrlToDb($urlDataObject);
     return new HttpRedirectResponse($urlBuilder->createActionUrl('listUrls'));
 }
示例#6
0
 /**
  * @param Request $request
  * @return PartialHtmlResponse
  */
 public function run(Request $request)
 {
     $userSession = $this->serviceContainer->getUserSession();
     $urlBuilder = $this->serviceContainer->getUrlBuilder();
     $csrfHandler = $this->serviceContainer->getCsrfHandler()->createNewToken();
     if ($userSession->userIsLoggedIn()) {
         return new HttpRedirectResponse($urlBuilder->createActionUrl('listUrls'));
     }
     $templateBuilder = $this->serviceContainer->getTemplateBuilder();
     $urlBuilder = $this->serviceContainer->getUrlBuilder();
     $actionUrl = $urlBuilder->createActionUrl('performLogin');
     $loginForm = $templateBuilder->createTemplate();
     $loginForm->loadFile('loginForm.html')->addPlaceHolder('form_action', $actionUrl)->addCsrfToken($csrfHandler);
     return new PartialHtmlResponse($loginForm->render());
 }
 /**
  * @param Request $request
  * @return PartialHtmlResponse
  */
 public function run(Request $request)
 {
     $userName = $request->getPostVal('user');
     $password = $request->getPostVal('password');
     $urlBuilder = $this->serviceContainer->getUrlBuilder();
     $passwordVerifier = $this->serviceContainer->getPasswordVerifier();
     $userSession = $this->serviceContainer->getUserSession();
     $csrfHandler = $this->serviceContainer->getCsrfHandler();
     if ($csrfHandler->requestIsValid($request) == false) {
         return new CompleteHtmlResponse($csrfHandler->getErrorMessage());
     }
     $user = $this->getUserByName($userName);
     if ($user == null) {
         return new HttpRedirectResponse($urlBuilder->createActionUrl('login'));
     }
     if ($passwordVerifier->verifyUserPassword($user, $password)) {
         $userSession->loginAs($user->getId(), $user->getName());
     } else {
         return new HttpRedirectResponse($urlBuilder->createActionUrl('login'));
     }
     return new HttpRedirectResponse($urlBuilder->createActionUrl('listUrls'));
 }
示例#8
0
 /**
  * Does not feel right yet...
  * @param Request $request
  */
 private function redirectToLoginIfNotLoggedIn(Request $request)
 {
     $userSession = $this->serviceContainer->getUserSession();
     if ($userSession->userIsLoggedIn()) {
         return;
     }
     $actionName = $request->getGetVal('action');
     if ($actionName == 'login' || $actionName == 'performLogin') {
         return;
     }
     $loginUrl = $this->serviceContainer->getUrlBuilder()->createActionUrl('login');
     $redirectResponse = new HttpRedirectResponse($loginUrl);
     // Maybe just make a redirect method which always exits
     $this->handleResponse($redirectResponse);
     exit;
 }