public function registerAction() { return $this->handleRequest(function () { $req = new Request(); if ($req->isPost()) { $post = json_decode($req->getRawBody()); $a = $this->getUserDocument(); $user = new $a(); $user->salt = Text::random(Text::RANDOM_ALNUM); $user->password = $this->hash($post->password, $user->salt); unset($post->password); $post = (array) $post; foreach ($post as $key => $value) { $user->{$key} = $value; } $user->save(); $this->session->set('user', $user); } else { if ($req->isOptions()) { return ''; } } return $this->jsonOutput($user); }); }
public function messageInformationAction() { $request = new Request(); if ($request->isPost() && $this->security->checkToken($this->request->getPost('value'), $this->request->getPost('key'))) { $values = array("name" => $request->getPost('name'), "lastname" => $request->getPost('lastname'), "secondname" => $request->getPost('secondname'), "studies" => $request->getPost('studies'), "email" => $request->getPost('email'), "phone" => $request->getPost('phone'), "activity" => $request->getPost('activity'), "subject" => $request->getPost('subject'), "message" => $request->getPost('message')); if ($this->SendEmailAccount($values)) { $this->response(array("code" => 200, "message" => "ok"), 200); } else { $this->response(array("code" => 404, "message" => "data-error"), 200); } } else { $this->response(array("message" => "Error try again", "code" => "404"), 404); } }
public function editAction(Request $request, Movies $movie) { if ($request->isPost()) { $data = $request->getPost(); if (preg_match('%^https?://%m', $data['poster'])) { $data['poster'] = (new getpic())->get($data['poster']); } $movie->update($data); return $this->redirectByRoute(['for' => 'movies.show', 'movie' => $movie->id]); } else { $this->view->form = $this->buildFormFromModel($movie); $this->view->movie = $movie; } }
public function setupAction() { $request = new Request(); if ($request->isPost()) { $password = $request->getPost('password'); $userType = $request->getPost('userType'); $user = Users::findFirst("type = '" . $userType . "'"); if (!$user) { $user = new Users(); $user->setType($userType); } $user->setPass($this->security->hash($password)); $user->save(); } }
public function updateAction() { $request = new Request(); if ($request->isPost()) { $donations = Donations::find(); $validIds = $request->getPost(); foreach ($donations as $donation) { if (in_array($donation->getId(), $validIds)) { $donation->setVerified(1); } else { $donation->setVerified(0); } $donation->save(); } } $this->dispatcher->forward(array('controller' => 'admin', 'action' => 'index')); }
public function updateAction() { $auth = $this->auth(); $request = new Request(); $cid = $request->getPost("cid"); if ($request->isPost() && $request->isAjax() && $auth && $cid && $this->security->checkToken($this->request->getPost('value'), $this->request->getPost('key'))) { $course = CdCourses::findFirst($cid); $course->setName($request->getPost("name"))->setPermalink($request->getPost("permalink"))->setImage($request->getPost("image"))->setDescription($request->getPost("description"))->setObjective($request->getPost("objective"))->setDirected($request->getPost("directed"))->setContent($request->getPost("content"))->setCgid($request->getPost("category"))->setStatus($request->getPost("status"))->setUidUpdate($auth['uid']); $token = $this->token(); if ($course->update()) { $this->response(array("message" => "SUCCESS", "code" => "200", "token" => array("key" => $token['key'], "value" => $token["value"])), 200); } else { $this->response(array("message" => "Error, try again", "code" => "300", "token" => array("key" => $token['key'], "value" => $token["value"])), 200); } } else { $this->response(array("message" => "error"), 404); } }
public function saveAction() { $auth = $this->auth(); $request = new Request(); if ($request->isPost() && $request->isAjax() && $auth && $this->security->checkToken($this->request->getPost('value'), $this->request->getPost('key'))) { $course = new CdInstructor(); $date = $this->getFormatDate($request->getPost("beginning")); $course->setName($request->getPost("name"))->setLastname($request->getPost("last_name"))->setSecondname($request->getPost("second_name"))->setImage($request->getPost("image"))->setCurriculum($request->getPost("curriculum"))->setSex($request->getPost("sex"))->setTitle($request->getPost("title"))->setDescription($request->getPost("description"))->setBeginning($date)->setJurisdiction($request->getPost("jurisdiction"))->setStatus($request->getPost("status"))->setDateCreation(date('Y-m-d H:i:s')); $token = $this->token(); if ($course->save()) { $this->response(array("message" => "SUCCESS", "code" => "200", "token" => array("key" => $token['key'], "value" => $token["value"])), 200); } else { /*foreach ($course->getMessages() as $message) { $this->flash->error((string) $message);}*/ $this->response(array("message" => "Error, try again", "code" => "300", "token" => array("key" => $token['key'], "value" => $token["value"])), 200); } } else { $this->response(array("message" => "error"), 404); } }
public function passThrouthMiddleWares(Request $request, Response $response, Dispatcher $dispatcher) { $route = $this->getMatchedRoute(); if (null == $route) { $r = $this->getDI()->get('router'); $r->handle($request->getURI()); $route = $r->getMatchedRoute(); //为什么搜索“装备”会出现找不到路由的问题?估计与字符处理有关系 if (null == $route) { die('url地址无效,找不到对应的路由设置!'); } } $pattern = $route->getPattern(); //对每个路由都进行验证的中间件! @todo 如果是get方式的话,目标对象如何获取呢?当前用户是否拥有该资源? foreach ($this->middlewaresForEveryRoute as $validator) { $data = null; if (preg_match('|.*:.*|', $validator)) { //此处设置了可以带中间件参数 list($validator, $data) = explode(':', $validator); $data = $dispatcher->getParam($data); } /** @var myValidation $validator */ $validator = new $validator(); if (!in_array($route->getName(), $validator->excludedRoutes) and !$validator->isValid($data)) { $url = $validator->getRedirectedUrl(); // dd($url); $response->redirect($url, true); return false; } } //@todo 如果是get方式的如何过滤呢?应该如何设置才是正常的呢?例如get方式的search的过滤,单独处理?也许吧? if ($this->hasMatchedMiddleWares($pattern) and $request->isPost()) { $middleWares = $this->getMiddleWares($pattern); foreach ($middleWares as $validator) { $data = $request->getPost(); // dd($validator); if (preg_match('|[^:]+:[^:]+|', $validator)) { list($validator, $data) = explode(':', $validator); $data = $dispatcher->getParam($data); } if (preg_match('|.*Rules$|', $validator)) { $rules = new $validator(); $validator = (new myValidation())->take($rules); } else { $validator = new $validator(); } if (!$validator->isValid($data)) { $url = $validator->getRedirectedUrl(); // dd($url); $response->redirect($url, true); return false; } } } return true; }
/** * Reads the parameters passed to the script, and selects the authorization key ULogin * * @return bool|mixed */ public function getToken() { $request = new Request(); if ($request->isPost() === true) { $this->token = $request->getPost('token', null, false); } else { $this->token = $request->getQuery('token', null, false); } return $this->token; }
public function isPost() { return parent::isPost(); }
public function passThrouthMiddleWares(Request $request, Response $response, Dispatcher $dispatcher) { $route = $this->getMatchedRoute(); if (null == $route) { die('url is invalid, their is no matched route for this url!'); } $pattern = $route->getPattern(); //对每个路由都进行验证的中间件! @todo 如果是get方式的话,目标对象如何获取呢?当前用户是否拥有该资源? foreach ($this->middlewaresForEveryRoute as $validator) { $data = null; if (preg_match('|.*:.*|', $validator)) { //此处设置了可以带中间件参数 list($validator, $data) = explode(':', $validator); $data = $dispatcher->getParam($data); } $validator = new $validator(); if (!in_array($route->getName(), $validator->excludedRoutes) and !$validator->isValid($data)) { $url = $validator->getRedirectedUrl(); // dd($url); $response->redirect($url, true); return false; } } //@todo 如果是get方式的如何过滤呢?应该如何设置才是正常的呢?例如get方式的search的过滤,单独处理?也许吧? if ($this->hasMatchedMiddleWares($pattern) and $request->isPost()) { $middleWares = $this->getMiddleWares($pattern); foreach ($middleWares as $validator) { $data = $request->getPost(); // dd($validator); if (preg_match('|.*:.*|', $validator)) { list($validator, $data) = explode(':', $validator); $data = $dispatcher->getParam($data); } $validator = new $validator(); if (!$validator->isValid($data)) { $url = $validator->getRedirectedUrl(); // dd($url); $response->redirect($url, true); return false; } } } return true; }
public function validatePostRequest(Request $request) { if (!$request->isPost()) { throw new ApplicationException('Invalid method'); } if (!$this->isValid($request->getPost())) { throw new ApplicationException($this->getMessages()); } }
public function updateUserAction() { $request = new Request(); $auth = $this->auth(); if ($request->isAjax() && $request->isPost() && $auth && $this->security->checkToken($this->request->getPost('value'), $this->request->getPost('key'))) { $uid = $request->getPost("uid"); $user = new CdUser(); $find = $user->findFirst($uid); $usnm = str_replace(" ", "-", $request->getPost("username")); $status = $request->getPost("status"); $find->setName($request->getPost("name"))->setLastName($request->getPost("last_name"))->setSecondName($request->getPost("second_name"))->setSex($request->getPost("sex"))->setPhone($request->getPost("phone"))->setUsername($usnm)->setEmail($request->getPost("email"))->setRol($request->getPost('rol') == null ? $auth['rol'] : $request->getPost('rol'))->setStatus(empty($status) ? 'ACTIVE' : $request->getPost("status")); $token = $this->token(); if ($find->update()) { $this->response(array("message" => "SUCCESS", "code" => 200, "redirect" => $request->getPost('redirect'), "token" => $token), 200); } else { $this->response(array("message" => "try again", "code" => 404, "token" => $token), 200); } } else { $this->response(array("message" => "error", "code" => 404), 404); exit; } }