private function newCaptcha()
 {
     $builder = new CaptchaBuilder();
     $builder->build();
     Session::set(['phrase' => $builder->getPhrase()]);
     return $builder->inline();
 }
Exemple #2
0
 /**
  * Загружаем все необходимые данные и запускаем выполнение метода контроллера
  */
 public static function start()
 {
     set_error_handler("self::show_errors");
     // изменение отображения ошибок по умолчанию
     Liw::$config = (require_once LIW_WEB . 'config/config.php');
     try {
         Session::start();
         Request::getRequest();
         self::loadLanguage(Request::$lang);
         self::run(new Router(include LIW_WEB . "config/ways/all.php"));
     } catch (\Exception $e) {
         self::show_errors($e->getCode(), $e->getMessage(), $e->getFile(), $e->getLine());
     }
 }
Exemple #3
0
 /**
  * Загружаем все необходимые данные и запускаем выполнение метода контроллера
  */
 public static function start()
 {
     Liw::$config = (require_once LIW_WEB . 'config/config.php');
     ErrorHandler::register();
     try {
         Session::start();
         Request::getRequest();
         Lang::checkLanguage(Request::$lang);
         Router::getWay(Request::$route, AccessMulti::getWays());
         Router::run();
     } catch (\Exception $e) {
         ErrorHandler::showError("Exception", $e->getMessage(), $e->getFile(), $e->getLine());
     }
 }
Exemple #4
0
 /**
  * Сохраняет переменные из массива $_POST в $this->fields, затем проверяет на соответсвтие правилам rules
  *
  * @param  array
  * @return mixed
  */
 public function post()
 {
     if (!empty($_POST)) {
         foreach ($_POST as $key => $value) {
             if (in_array($key, array_keys($this->rules()))) {
                 $this->fields[$key] = $value;
             }
             if ($key == 'captcha') {
                 if (isset($_SESSION['phrase']) && $value == $_SESSION['phrase']) {
                     Session::delete('phrase');
                     continue;
                 } else {
                     $this->error = 'error code';
                     Session::delete('phrase');
                     return false;
                 }
             }
         }
         return $this->validate();
         //возвращает true в случае удачной валидации и false в противном случае
     }
     return false;
 }
Exemple #5
0
 /**
  * Сохраняет переменные из массива $_POST в $this->fields, затем проверяет на соответсвтие правилам rules
  *
  * @param  array
  * @return mixed
  */
 public function post()
 {
     if (isset($_SESSION['phrase'])) {
         if (!empty($_POST)) {
             if (!isset($_POST['captcha']) || $_POST['captcha'] !== $_SESSION['phrase']) {
                 Session::delete('phrase');
                 $this->error = 'error code';
                 return false;
             }
             Session::delete('phrase');
             foreach ($_POST as $key => $value) {
                 $this->fields[$key] = $value;
             }
             return $this->validate();
             //возвращает true в случае удачной валидации и false в противном случае
         }
     } else {
         foreach ($_POST as $key => $value) {
             $this->fields[$key] = $value;
         }
         return $this->validate();
     }
     return false;
 }
Exemple #6
0
 public static function deleteUserFromSession()
 {
     Liw::$isGuest = true;
     Session::delete('user');
 }