Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- <?php
- /*
- * To change this license header, choose License Headers in Project Properties.
- * To change this template file, choose Tools | Templates
- * and open the template in the editor.
- */
- /**
- * Description of Session
- *
- * @author fabi0
- */
- namespace Models;
- class Session {
- private function __construct() {
- }
- public static function exists($name) {
- $database = DB::getInstance();
- $params = array(
- ':name' => array(
- 'param' => $name,
- 'type' => 1
- )
- );
- $sql = 'SELECT session_id FROM sessions WHERE session_name=:name;';
- $database->query($sql, $params);
- if ($database->getCount()) {
- return TRUE;
- } else {
- return FALSE;
- }
- }
- public static function set($name, $value) {
- return $_SESSION[$name] = $value;
- }
- public static function get($name) {
- $database = DB::getInstance();
- $params = array(
- ':name' => array(
- 'param' => $name,
- 'type' => 2
- )
- );
- $sql = 'SELECT session_object FROM sessions WHERE session_name=:name;';
- $database->query($sql, $params);
- if ($database->getCount()) {
- return $database->getResult()[0]->session_object;
- } else {
- return FALSE;
- }
- }
- public static function createSession($array) {
- $database = DB::getInstance();
- $expire = $array['remember_me'];
- unset($array['remember_me']);
- $array = base64_encode(serialize($array));
- $salt = uniqid(rand(), true);
- $session_name = sha1($salt . $salt);
- $params = array(
- ':salt' => array(
- 'param' => $salt,
- 'type' => 2
- ),
- ':name' => array(
- 'param' => $session_name,
- 'type' => 2
- ),
- ':object' => array(
- 'param' => $array,
- 'type' => 2
- ),
- ':time' => array(
- 'param' => time(),
- 'type' => 1
- ),
- ':expire' => array(
- 'param' => (int) $expire,
- 'type' => 1
- )
- );
- $sql = "INSERT INTO `iziforum`.`sessions` "
- . "(`session_id`, `session_salt`, `session_name`, `session_object`, `session_create`, `session_expire`) "
- . "VALUES (NULL, :salt, :name, :object, :time, :expire);";
- $database->query($sql, $params);
- }
- public static function delete($name) {
- if (self::exists($name)) {
- unset($_SESSION[$name]);
- }
- }
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement