All pastes #881851 Raw Edit

Miscellany

public php v1 · immutable
#881851 ·published 2008-01-30 00:37 UTC
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();	        }		}			}?>