Exemple #1
0
 public function __construct()
 {
     $this->_module_info['path'] = './app/modules/' . basename(__FILE__);
     $sql = new SQLObject();
     session_start();
     if (!isset($_SESSION['logged'])) {
         if (isset($_COOKIE['AUTHKEY'])) {
             if ($sql->query("SELECT user_id AS id,user_username AS username,user_password_hash AS password_hash,user_email AS email,user_groups AS groups FROM " . $sql->table('auth_users') . " WHERE (AUTHKEY = '" . $_COOKIE['AUTHKEY'] . "')") && $sql->num_rows()) {
                 $user = $sql->fetch_one();
                 $_SESSION['logged'] = true;
                 $_SESSION['user']['id'] = (int) $user->id;
                 $_SESSION['user']['username'] = (string) $user->username;
                 $_SESSION['user']['email'] = (string) $user->email;
                 $_SESSION['groups'] = array_remove_empty(explode(';', $user->groups));
                 $this->setLoginTime();
             } else {
                 $this->logout();
             }
         } else {
             $this->logout();
         }
     }
     if ($_SESSION['logged']) {
         TPL::add(array('CURRENT_USER.ID' => $_SESSION['user']['id'], 'CURRENT_USER.USERNAME' => $_SESSION['user']['username'], 'CURRENT_USER.EMAIL' => $_SESSION['user']['email']));
         TPL::cond('LOGGED', true);
         if ($sql->query("SELECT user_groups FROM " . $sql->table('auth_users') . " WHERE (user_id = " . $_SESSION['user']['id'] . ")") && $sql->num_rows()) {
             $user = $sql->fetch_one();
             $_SESSION['groups'] = array_remove_empty(explode(';', $user->user_groups));
         }
     } else {
         TPL::cond('LOGGED', false);
     }
     $this->setAuthkey();
     $this->saveSessionTime();
     $this->loadPermissions();
 }