Exemplo n.º 1
0
 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);
     });
 }
Exemplo n.º 2
0
 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);
     }
 }
Exemplo n.º 3
0
 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;
     }
 }
Exemplo n.º 4
0
 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'));
 }
Exemplo n.º 6
0
 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);
     }
 }
Exemplo n.º 7
0
 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);
     }
 }
Exemplo n.º 8
0
 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;
 }
Exemplo n.º 9
0
 /**
  * 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;
 }
Exemplo n.º 10
0
 public function isPost()
 {
     return parent::isPost();
 }
Exemplo n.º 11
0
 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;
 }
Exemplo n.º 12
0
 public function validatePostRequest(Request $request)
 {
     if (!$request->isPost()) {
         throw new ApplicationException('Invalid method');
     }
     if (!$this->isValid($request->getPost())) {
         throw new ApplicationException($this->getMessages());
     }
 }
Exemplo n.º 13
0
 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;
     }
 }