<?php defined('BLUDIT') or die('Bludit CMS.'); class Session { private static $started = false; public static function start() { //if(self::$started) // return true; // DEBUG: Ver un nombre con alguna llave random al momentode instalar. $session_name = 'Bludit-KEY'; // If TRUE cookie will only be sent over secure connections. $secure = false; // If set to TRUE then PHP will attempt to send the httponly flag when setting the session cookie. $httponly = true; // This specifies the lifetime of the cookie in seconds which is sent to the browser. // The value 0 means until the browser is closed. $cookieLifetime = 0; // Gets current cookies params. $cookieParams = session_get_cookie_params(); session_set_cookie_params($cookieLifetime, $cookieParams["path"], $cookieParams["domain"], $secure, $httponly ); // Sets the session name to the one set above. session_name($session_name); // Start session. self::$started = session_start(); // Regenerated the session, delete the old one. There are problems with AJAX. //session_regenerate_id(true); if(!self::$started) { Log::set(__METHOD__.LOG_SEP.'Error occurred when trying to start the session.'); } } public static function started() { return self::$started; } public static function destroy() { session_destroy(); unset($_SESSION); self::$started = false; Log::set(__METHOD__.LOG_SEP.'Session destroyed.'); return !isset($_SESSION); } public static function set($key, $value) { $key = 's_'.$key; $_SESSION[$key] = $value; } public static function get($key) { $key = 's_'.$key; if( isset($_SESSION[$key]) ) { return $_SESSION[$key]; } return false; } }