rendered paste body<?php class Core_session { private $name = "fw_indatcom"; private $variable_name = "fw"; private $encryption = TRUE; private $encryption_key = "indatcom2025"; private $use_database = FALSE; private $session_table = FALSE; private $user_data = array(); private $id_sesion = 0; private static $instancia = NULL; private function __construct($data, $config = "default") { if (is_array($data)){ $this->name = $data[$config]["name"]; $this->variable_name = $data[$config]["variable_name"]; $this->encryption = $data[$config]["encryption"]; $this->encryption_key = $data[$config]["encryption_key"]; $this->use_database = $data[$config]["use_database"]; $this->session_table = $data[$config]["session_table"]; } } public static function getSession($data, $config = "default") { if (self::$instancia == NULL) { self::$instancia = new Core_session ($data, $config); } return self::$instancia; } public function start(){ session_name($this->name); session_cache_limiter("nocache"); session_start(); $this->id_sesion = session_id(); session_register($this->name); $encrypt = new Core_encrypt(); $this->user_data = ($this->encryption)?unserialize($encrypt->decode($_SESSION[$this->variable_name], $this->encryption_key)): $_SESSION[$this->variable_name]; return $this->idsesion; } public function end(){ $_SESSION[$this->variable_name] = array(); session_unregister($this->variable_name); session_unset(); } private function addSession(){ $encrypt = new Core_encrypt(); $_SESSION[$this->variable_name] = ($this->encryption)?$encrypt->encode(serialize($this->user_data), $this->encryption_key ):$this->user_data; } public function set($variable_name, $variable_value){ if (!is_null($this->user_data)){ if (array_key_exists($variable_name, $this->user_data)){ $this->user_data[$variable_name] = $variable_value; }else{ $this->user_data = $this->user_data + array($variable_name => $variable_value); } }else{ $this->user_data = array($variable_name => $variable_value); } $this->addSession(); } public function get($variable_name){ if (!is_null($this->user_data)){ return $this->user_data[$variable_name]; } } public function del($variable_name){ if (!is_null($this->user_data)){ $delete = array($variable_name => $this->user_data($variable_name)); $this->user_data = array_diff($this->user_data, $delete); $this->addSession(); } } }?>