Example #1
0
 /** @noinspection PhpUnusedPrivateMethodInspection
  * @param Request $request
  *
  * @return bool|mixed
  * @throws PermissionRequiredException
  * @throws exceptions\LoginRequiredException
  */
 private function addUrl(Request $request)
 {
     if (!$this->auth->checkPermission(Auth::EDIT_PUBLICATION)) {
         throw new PermissionRequiredException(Auth::EDIT_PUBLICATION);
     }
     $id = Validator::sanitizeNumber($request->get('id'));
     if (!$id) {
         throw new UnexpectedValueException();
     }
     $url_model = new UrlModel($this->db);
     $validator = $url_model->getValidator();
     if ($validator->validate($request->post())) {
         $data = $validator->getSanitizedResult();
         $url = new Url($data);
         try {
             return $url_model->store($url, $id);
         } catch (DBDuplicateEntryException $e) {
             $this->errors[] = 'This url is already assigned to this publication';
             return false;
         }
     } else {
         $this->errors = array_merge($this->errors, $validator->getErrors());
         return false;
     }
 }
Example #2
0
 /** @noinspection PhpUnusedPrivateMethodInspection
  * @param Request $request
  *
  * @return bool
  */
 private function deleteUser(Request $request)
 {
     $user_id = Validator::sanitizeNumber($request->post('user_id'));
     if (!$user_id) {
         throw new UnexpectedValueException();
     }
     $model = new UserModel($this->db);
     return $model->delete($user_id);
 }
Example #3
0
 /** @noinspection PhpUnusedPrivateMethodInspection
  * @param Request $request
  *
  * @return bool|int
  * @throws PermissionRequiredException
  * @throws exceptions\LoginRequiredException
  */
 private function edit(Request $request)
 {
     if (!$this->auth->checkPermission(Auth::EDIT_KEYWORD)) {
         throw new PermissionRequiredException(Auth::EDIT_KEYWORD);
     }
     $id = Validator::sanitizeNumber($request->get('id'));
     if (!$id) {
         throw new UnexpectedValueException();
     }
     $validator = $this->model->getValidator();
     if ($validator->validate($request->post())) {
         $input = $validator->getSanitizedResult();
         $this->model->update($id, $input);
         return true;
     } else {
         $this->errors = array_merge($this->errors, $validator->getErrors());
         return false;
     }
 }