/* vim: set ts=4 tw=0 sw=4 noet: */
require_once $CFG->root .'config.php';
-class Utils {
+class Utils implements Serializable {
private static $_instance = null;
private $server;
}
$_SESSION['user'] = $this->user;
$_SESSION['is_admin'] = $this->is_admin;
+ $_SESSION['Utils'] = serialize($this);
}
private function __clone() {}
+ public function serialize() {
+ file_put_contents('/tmp/dump', 'Serialize called: '.var_export($this, true), FILE_APPEND);
+ return serialize(get_object_vars($this));
+ }
+
+ public function unserialize($data) {
+ $values = unserialize($data);
+ foreach ($values as $key=>$value) {
+ $this->$key = $value;
+ }
+ }
+
private function startSession() {
global $CFG;
global $CFG;
if (!is_object(self::$_instance)) {
- self::$_instance = new Utils();
+ if (isset($_SESSION['Utils'])) {
+ self::$_instance = unserialize($_SESSION['Utils']);
+ file_put_contents('/tmp/dump', 'Unserialize called: '.var_export($this, true), FILE_APPEND);
+ } else {
+ self::$_instance = new Utils();
+ }
}
$time = $_SERVER['REQUEST_TIME'];