コード例 #1
0
ファイル: login_controller.php プロジェクト: paolocerto/x3cms
 /**
  * Perform login
  *
  * @access	private
  * @param   array 	$_post _POST array
  * @return  void
  */
 private function do_login($_post)
 {
     // check failure counter
     if ($_SESSION['failed'] < 5) {
         // fields to set in sessions
         $fields = array('mail' => 'mail', 'username' => 'username', 'id' => 'xuid', 'lang' => 'lang', 'last_in' => 'last_in', 'level' => 'level');
         // conditions
         $conditions = array('id_area' => 1, 'username' => $_post['username']);
         // remember me
         $conditions['password'] = isset($_post['hpwd']) && $_post['password'] == '12345678' ? $_post['hpwd'] : X4Utils_helper::hashing($_post['password']);
         // log in
         $login = X4Auth_helper::log_in('users', $conditions, $fields, true, true);
         if ($login) {
             // post login operations
             $_SESSION['site'] = SITE;
             $_SESSION['id_area'] = 1;
             // admin AREA ID
             // set cookie for remember me
             if (isset($_post['remember_me'])) {
                 setcookie(COOKIE . '_login', $conditions['username'] . '-' . $conditions['password'], time() + 2592000, '/', $_SERVER['HTTP_HOST']);
             }
             // refactory permissions
             $mod = new Permission_model();
             $mod->refactory($_SESSION['xuid']);
             // log
             if (LOGS) {
                 $mod = new X4Auth_model('users');
                 $mod->logger($_SESSION['xuid'], 1, 'users', 'log in');
             }
             // redirect
             header('Location: ' . $this->site->site->domain . '/' . $_SESSION['lang'] . '/admin');
             die;
         } else {
             // increase failure counter
             $_SESSION['failed']++;
             if (LOGS) {
                 $mod = new X4Auth_model('users');
                 $mod->logger(0, 1, 'users', 'log in failed for ' . $_post['username']);
             }
         }
     }
     // redirect
     header('Location: ' . BASE_URL . 'login');
     die;
 }
コード例 #2
0
ファイル: login_controller.php プロジェクト: paolocerto/x3cms
 /**
  * Perform login
  *
  * @param   array 	$_post _POST array
  * @param	integer	$id_area Area ID
  * @return  void
  */
 public function do_login($_post, $id_area)
 {
     if ($_SESSION['failed'] < 5) {
         // fields to set in sessions
         $fields = array('mail' => 'mail', 'username' => 'username', 'id' => 'uid', 'last_in' => 'last_in');
         // conditions
         $conditions = array('id_area' => $id_area, 'username' => $_post['username']);
         // remember me
         $conditions['password'] = isset($_post['hpwd']) && $_post['password'] == '12345678' ? $_post['hpwd'] : X4Utils_helper::hashing($_post['password']);
         // log in
         $login = X4Auth_helper::log_in('users', $conditions, $fields);
         if ($login) {
             $_SESSION['failed'] = 0;
             // post login operations
             $_SESSION['site'] = SITE;
             $_SESSION['id_area'] = $id_area;
             // set cookie for remember me
             if (isset($_post['remember_me'])) {
                 setcookie(COOKIE . '_login', $conditions['username'] . '-' . $conditions['password'], time() + 2592000, '/', $_SERVER['HTTP_HOST']);
             }
             $mod = new X4Auth_model('users');
             // log
             if (LOGS) {
                 $mod->logger($_SESSION['uid'], $id_area, 'users', 'log in');
             }
             $area = $mod->get_by_id($id_area, 'areas', 'name');
             // redirect
             header('Location: ' . BASE_URL . $area->name);
             die;
         } else {
             // increase failure counter
             $_SESSION['failed']++;
             if (LOGS) {
                 $mod = new X4Auth_model('users');
                 $mod->logger(0, $id_area, 'users', 'log in failed for ' . $_post['username']);
             }
         }
     }
     header('Location: ' . BASE_URL . 'login');
     die;
 }