Ejemplo n.º 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'));
 }
Ejemplo n.º 2
0
 /**
  * @param Request $request
  * @return PartialHtmlResponse
  */
 public function run(Request $request)
 {
     $addUrl = $this->serviceContainer->getTemplateBuilder()->createTemplate();
     $url = $this->serviceContainer->getUrlBuilder()->createActionUrl('createUrl');
     $csrfHandler = $this->serviceContainer->getCsrfHandler()->createNewToken();
     $list_urls_link = $this->serviceContainer->getUrlBuilder()->createActionUrl('listUrls');
     $addUrl->loadFile('addUrl.html')->addPlaceHolder('form_action', $url)->addPlaceHolder('list_urls_link', $list_urls_link)->addCsrfToken($csrfHandler);
     return new PartialHtmlResponse($addUrl->render());
 }
Ejemplo n.º 3
0
 /**
  * @param $userName
  * @return User | null
  */
 private function getUserByName($userName)
 {
     $userQuery = $this->serviceContainer->getUserQuery();
     $userDbMapper = $this->serviceContainer->getUserDbMapper();
     $userDataObject = $userQuery->getUserByName($userName);
     if ($userDataObject == null) {
         return null;
     }
     return $userDbMapper->mapFromDataObject($userDataObject);
 }
Ejemplo n.º 4
0
 /**
  * @param int $user_id
  * @return Url[]
  */
 private function getUrlsByUserId($user_id)
 {
     $urls = [];
     $urlQuery = $this->serviceContainer->getUrlQuery();
     $urlMapper = $this->serviceContainer->getUrlDataObjectMapper();
     $urlDataObjects = $urlQuery->getUrlsByUserId($user_id);
     foreach ($urlDataObjects as $dataObject) {
         $urls[] = $urlMapper->mapFromDataObject($dataObject);
     }
     return $urls;
 }
Ejemplo n.º 5
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'));
 }
Ejemplo n.º 6
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());
 }
Ejemplo n.º 7
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;
 }
Ejemplo n.º 8
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();
     $dbQuery = $this->serviceContainer->getUrlQuery();
     $csrfHandler = $this->serviceContainer->getCsrfHandler();
     if ($csrfHandler->requestIsValid($request) == false) {
         return new CompleteHtmlResponse($csrfHandler->getErrorMessage());
     }
     $urlDataObject = $formMapper->mapToDataObject($request, $userSession->getUserId());
     $formMapper->initValues($urlDataObject, $now);
     $dbQuery->updateUrl($urlDataObject);
     return new HttpRedirectResponse($urlBuilder->createActionUrl('listUrls'));
 }
Ejemplo n.º 9
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());
 }
Ejemplo n.º 10
0
 /**
  * @param UrlDataObject $url
  * @return UrlDataObject (with newly created id)
  */
 private function addUrlToDb(UrlDataObject $url)
 {
     return $this->serviceContainer->getUrlQuery()->createUrl($url);
 }