/** @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; } }
/** @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); }
/** @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; } }