Exemplo n.º 1
0
 public function checkAnswer(\Phalcon\Http\Request $request)
 {
     if ($request->getPost('recaptcha_challenge_field') && $request->getPost('recaptcha_response_field')) {
         $this->response = recaptcha_check_answer($this->privateKey, $request->getClientAddress(), $request->getPost('recaptcha_challenge_field'), $request->getPost('recaptcha_response_field'));
     } else {
         $this->error = 'This field could not be empty';
     }
     return $this->isValid();
 }
Exemplo n.º 2
0
 private function composeCheckData()
 {
     $data = array();
     if ($this->method == \core\RuleBase::$methodPost) {
         $data = $this->request->getPost();
     } else {
         $data = $this->request->getQuery();
     }
     $this->formData = $data;
 }
Exemplo n.º 3
0
 /**
  * 初始化所有请求参数
  */
 protected static function initParam()
 {
     if (self::$request === null) {
         self::$request = new Request();
     }
     self::$all_param = self::$request->get();
     if (isset(self::$all_param['__QP_url'])) {
         unset(self::$all_param['__QP_url']);
     }
     self::$post_param = self::$request->getPost();
     self::$non_post_param = array_diff(self::$all_param, self::$post_param);
 }
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();
     }
 }
Exemplo n.º 5
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.º 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 getPost($name = null, $filters = null, $defaultValue = null)
 {
     if ($this->isJson()) {
         $post = $this->getJsonRawBody();
         if ($name) {
             return isset($post[$name]) ? $post[$name] : null;
         }
         return $post;
     }
     return parent::getPost($name, $filters, $defaultValue);
 }
Exemplo n.º 8
0
 public function addToExitedList(Lists $list, Request $request)
 {
     $data = $request->getPost();
     $listable = new Listables();
     $listable->list_id = $list->id;
     $listable->user_id = $this->getDI()->getShared('session')->get('auth')['id'];
     //后面需要替换成登录用户id
     $listable->listable_type = get_class($this);
     $listable->listable_id = $this->id;
     if (isset($data['comment'])) {
         $listable->comment = $data['comment'];
     }
     $listable->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.º 10
0
 /**
  * Get the body of a POST with multipart/form-data by Edison tsai on 16:52 2010/09/16
  *
  * Used for fetching the post parameters and to calculate the body signature.
  *
  * @return string               null when no body present (or wrong content type for body)
  */
 public function getRequestBodyOfMultipart()
 {
     $body = null;
     $requestMethod = $this->request->getMethod();
     if ($requestMethod == 'POST' || $requestMethod == 'PUT') {
         $body = '';
         $requestData = $requestMethod == 'PUT' ? $this->request->getPut() : $this->request->getPost();
         foreach ($requestData as $k => $v) {
             $body .= $this->encodeUrlParam($k, $v);
         }
         #end foreach
         if (substr($body, -1) == '&') {
             $body = substr($body, 0, strlen($body) - 1);
         }
         #end if
     }
     #end if
     return $body;
 }
 /**
  * extend to hook up possible case conversion
  *
  * @param string $name            
  * @param string $filters            
  * @param string $defaultValue            
  * @return object
  */
 public function getPost($name = null, $filters = null, $defaultValue = null)
 {
     // perform parent function
     $request = parent::getPost($name, $filters, $defaultValue);
     // special handling for array requests, for individual inputs return what is request
     if (is_array($request) and $this->defaultCaseFormat != false) {
         return $this->convertCase($request);
     } else {
         return $request;
     }
 }
Exemplo n.º 12
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.º 13
0
 /**
  * @param \Phalcon\Http\Request $request
  * @return array All request params (GET, POST, PUT, RawJsonBody)
  */
 public static function getMergeParams(Request $request)
 {
     $jsonRawBody = (array) $request->getJsonRawBody(true);
     $params = array_merge((array) $request->get(), (array) $request->getPost(), (array) $request->getPut(), $jsonRawBody);
     return self::convertDate($params, $request->getDI());
 }
 /**
  * post
  * @param string $name
  * @param mixed $defaultVal
  * @return mixed|void
  */
 public function post($name = null, $defaultVal = null)
 {
     $request = new Request();
     return $request->getPost($name, $defaultVal);
 }
Exemplo n.º 15
0
 /**
  * I fetch a value from pathparams and request
  * @todo wrap pathparams and request in a composite
  * @param $pathParams
  * @param Request $Request
  * @return bool
  * @throws \Exception
  */
 public function fetch($pathParams, Request $Request)
 {
     $this->value = null;
     $this->_hasFetched = false;
     $filters = [];
     $name = $this->_data->name;
     switch ($this->_data->in) {
         case 'path':
             if (array_key_exists($name, $pathParams)) {
                 $this->_hasFetched = true;
                 $this->setValue($pathParams[$name]);
             }
             break;
         case 'query':
             $this->_hasFetched = $Request->hasQuery($name);
             $this->setValue($Request->getQuery($name, $filters, null));
             break;
         case 'header':
             // this syntax won't work... yet???
             //$value = $Request->getHeader($name, $filters, null);
             $nameWithHttpPrefix = strtoupper(str_replace('-', '_', $name));
             if ($Request->hasServer($name) || $Request->hasServer($nameWithHttpPrefix)) {
                 $this->setValue($Request->getHeader($name));
                 $this->_hasFetched = true;
             }
             break;
         case 'formData':
             switch (strtolower($Request->getMethod())) {
                 case 'post':
                     if ($Request->hasPost($name)) {
                         $this->_hasFetched = true;
                         $this->setValue($Request->getPost($name, $filters, null));
                     }
                     break;
                 case 'put':
                     if ($Request->hasPut($name)) {
                         $this->_hasFetched = true;
                         $this->setValue($Request->getPut($name, $filters, null));
                     }
                     break;
                     // parameters on delete request not supported yet
                 // parameters on delete request not supported yet
                 case 'delete':
                 default:
                     throw new \Exception('TBI: ' . $Request->getMethod());
             }
             break;
         case 'body':
             throw new \Exception('TBI');
             break;
         default:
             throw new \Exception('invalid or not implemented "in" value: ' . $this->_data->in);
     }
     return $this->_hasFetched;
 }
Exemplo n.º 16
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;
     }
 }
Exemplo n.º 17
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.º 18
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.º 19
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.º 20
0
 public function addTagAction(Request $request, Movies $movie)
 {
     $data = $request->getPost();
     $movie->addTag(trim($data['tagName']), $this->auth);
     return $this->redirectByRoute(['for' => 'movies.showTags', 'movie' => $movie->id]);
 }
Exemplo n.º 21
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.º 22
0
 public function getPost($name = null, $filters = null, $defaultValue = null, $notAllowEmpty = false, $noRecursive = false)
 {
     return parent::getPost($name, $filters, $defaultValue, $notAllowEmpty, $noRecursive);
 }