예제 #1
0
 public function loginAction()
 {
     $loginForm = new LoginForm();
     if ($loginForm->post()) {
         $user = new User();
         if ($user->verify($loginForm->fields)) {
             $this->redirect('/user');
         } else {
             $this->redirect(['user', 'registration'], ['login' => isset($loginForm->login) ? $loginForm->login : null, 'error' => Lang::uage('error_verify'), 'captcha' => $this->newCaptcha()]);
         }
     } else {
         $this->redirect(['user', 'registration'], ['login' => isset($loginForm->login) ? $loginForm->login : null, 'error' => Lang::uage('error_verify'), 'captcha' => $this->newCaptcha()]);
     }
 }
예제 #2
0
파일: Validator.php 프로젝트: Razzwan/core
 private function testField($field, $rulesArr)
 {
     foreach ($rulesArr as $key => $value) {
         if (method_exists($this, $value)) {
             $error = call_user_func([$this, $value], $field);
         } elseif (is_int($value)) {
             $error = call_user_func('liw\\core\\validation\\Is::' . $key, $field, $value);
         } else {
             $error = call_user_func('liw\\core\\validation\\Is::' . $value, $field);
         }
         if ($error !== true) {
             $this->error = Lang::uage('error_field') . $this->getLabel($field) . Lang::uage('error_' . $error) . $value;
             return false;
         }
         return true;
     }
 }
예제 #3
0
파일: View.php 프로젝트: Razzwan/core
 public function getView($layout = null)
 {
     if (null === self::$_view) {
         self::$_view = new self();
     }
     /**
      * определяем текущий вид (лэйаут)
      */
     if ($layout === null) {
         if (Liw::$config['def_layout'] !== null) {
             self::$layout = LIW_WEB . 'views/layouts/' . Liw::$config['def_layout'] . '.php';
         } else {
             $this->view = Lang::uage('def_layout_not_exist');
             require_once LIW_CORE . 'core/error/view/index.php';
             exit;
         }
     } else {
         self::$layout = LIW_WEB . 'views/layouts/' . $layout . '.php';
     }
     return self::$_view;
 }
예제 #4
0
 /**
  * @param $params
  * @throws \Exception
  * @return array
  */
 private function addTypesToParams(array $params)
 {
     $type_param = '';
     foreach ($params as $key => $param) {
         switch (gettype($param)) {
             case 'boolean':
                 $type_param .= 'i';
                 break;
             case 'integer':
                 $type_param .= 'i';
                 break;
             case 'double':
                 $type_param .= 'd';
                 break;
             case 'string':
                 $type_param .= 's';
                 break;
             default:
                 throw new \Exception(Lang::uage('error_data_type') . gettype($param));
         }
     }
     array_unshift($params, $type_param);
     return $params;
 }
예제 #5
0
<?php

use liw\core\Lang;
/**
 * @var $login string
 */
?>

<div class="container">
    <h1>Time: <?php 
echo date("d.m.Y H:i:s", time());
?>
</h1>
    <p class="test">
        <?php 
echo Lang::uage('login');
?>
: <?php 
echo isset($_SESSION['user']['login']) ? $_SESSION['user']['login'] : '';
?>
    </p>
    <p class="test">
        Имя: <?php 
echo isset($_SESSION['user']['name']) ? $_SESSION['user']['name'] : '';
?>
    </p>
    <p class="test">
        Фамилия: <?php 
echo isset($_SESSION['user']['s_name']) ? $_SESSION['user']['s_name'] : '';
?>
    </p>
예제 #6
0
파일: Model.php 프로젝트: Razzwan/core
 /**
  * Метод сохраняет в базе данных массив fields
  * @return mixed : 1. id - сохраненной модели, если у нее есть поле AI в случае успешного сохранение
  *                 2. true - в случае успешного сохранение, но в отсутствие поля с AI
  *                 3. false - в случае неудачного сохранения
  * @throws \Exception
  */
 public function save()
 {
     if (!empty($this->fields)) {
         if (!empty($this->rules())) {
             $arr_keys = $this->addFieldsFromRules();
         } else {
             $arr_keys = array_keys($this->fields);
         }
         if (method_exists($this, 'validate')) {
             if ($this->validate() && ($id = $this->insert($arr_keys)->push())) {
                 if ($id !== true) {
                     $this->fields['id'] = $id;
                 }
                 return true;
             } else {
                 return false;
             }
         } else {
             if ($id = $this->insert($arr_keys)->push()) {
                 if ($id !== true) {
                     $this->id = $id;
                 }
                 return true;
             } else {
                 return false;
             }
         }
     } else {
         ErrorHandler::insertErrorInLogs("ERROR_SAVE_MODEL", Lang::uage('error_save_model'), 'liw\\core\\Model', '309');
         return false;
     }
 }
예제 #7
0
                    </div>

                </div>
            <?php 
} elseif (Liw::$isGuest) {
    ?>
                <form action="/login" method="post" class="navbar-form navbar-right">
                    <div class="form-group">
                        <input name="login" id="login" type="text" placeholder="<?php 
    echo Lang::uage('login');
    ?>
" class="form-control">
                    </div>
                    <div class="form-group">
                        <input name="pass" id="pass" type="password" placeholder="<?php 
    echo Lang::uage('pass');
    ?>
" class="form-control">
                    </div>
                    <div class="form-group">
                        <input type="submit" value="Войти" class="btn btn-success">
                    </div>

                </form>
            <?php 
}
?>

        </div><!--/.navbar-collapse -->
    </div>
</nav>
예제 #8
0
 public function labels()
 {
     return ['login' => Lang::uage('login'), 'pass' => Lang::uage('pass')];
 }
예제 #9
0
                    autofocus
                    >
            </div>

            <div class="form-group">
                <input
                    type="password"
                    id="pass"
                    name = "pass"
                    placeholder="<?php 
echo Lang::uage('pass');
?>
"
                    class="form-control input-center"
                    data-tooltip="<?php 
echo Lang::uage('hide_pass');
?>
"
                    >
            </div>

            <div class="checkbox">
                <label>
                    <input type="checkbox"> Запомнить меня
                </label>
            </div>

            <div class="form-group">
                <div class="input-center">
                    <img src="<?php 
echo $captcha;
예제 #10
0
파일: Router.php 프로젝트: Razzwan/core
 public static function run()
 {
     $way_arr = explode('::', self::$way[0]);
     $controller_route = '\\web\\controllers\\' . $way_arr[0] . 'Controller';
     if (!class_exists($controller_route)) {
         throw new \Exception(Lang::uage('error_no_controller') . $way_arr[0] . 'Controller');
     }
     $controller_obj = new $controller_route();
     if (!method_exists($controller_obj, $way_arr[1] . 'Action')) {
         throw new \Exception(Lang::uage('error_no_action') . '<strong>' . $way_arr[1] . 'Action' . '</strong> in controller <strong>' . $way_arr[0] . 'Controller' . '</strong>');
     }
     /**
      * Если существует метод before, то запускаем его перед действием
      */
     if (method_exists($controller_obj, "before")) {
         call_user_func_array([$controller_obj, "before"], Request::$attr);
     }
     /**
      * запускает метод контроллера с параметрами
      */
     call_user_func_array([$controller_obj, $way_arr[1] . 'Action'], Request::$attr);
     /**
      * Если существует метод after, то запускаем его после действия
      */
     if (method_exists($controller_obj, "after")) {
         call_user_func_array([$controller_obj, "after"], Request::$attr);
     }
 }