ACC SHELL

Path : /srv/www/vhosts/agroing/web/helpers/
File Upload :
Current File : /srv/www/vhosts/agroing/web/helpers/ses_helper.php

<?php
/**
 * Description of Ses
 *
 * @author Melounek
 */
class Ses {

	/*
	 *  this is just prepared... not used jet
	 *
	public static $db_host = DB_HOST;
	public static $db_user = DB_USER;
	public static $db_pass = DB_PASS;
	public static $db_db = DB_DB;
	*/

	public static $prefix = "x";
	public static $path = "/";
	
	public static function user($item,$value = false){
		$time = time() + 60*60*24*100;
		$cook = self::cook2array(self::$prefix);
		if(is_array($item)){
			if(empty($item)){
				Tools::log("Ses::session() tried to save empty array!",3);
				return false;
			}
			foreach($item as $i=>$d){
				$cook[$i] = $d;
			}
			Tools::log("Ses::session() saved array of variables: ".var_export($item,1)." \n\nIn Cookie:\n".self::array2cook($cook),4);
			setcookie (self::$prefix, self::array2cook($cook), $time, self::$path );
		}elseif($item && $value!==false){
			$cook[$item] = $value;
			Tools::log("Ses::session() saved variable: ".$item."=>".$value." \n\nIn Cookie:\n".self::array2cook($cook),4);
			setcookie (self::$prefix,  self::array2cook($cook) , $time, self::$path );
		}elseif($item){
			if(isset($cook[$item])){
				// nejde logovat (kvůli zacyklení)
				return $cook[$item];
			}else
				return false;
		}
		return true;
	}

	public static function user_array(){
		$data = self::cook2array(self::$prefix);
		if(empty($data['id'])){
			Tools::log("Ses::session_array() returns data: " . var_export($data,1));
		}else{
			Tools::log("Ses::session_array() returns user from DB id= ".$data['id']." login=".$data['login']);
		}
		return $data;
	}
	public static function user_destroy(){
		Tools::log("Ses::session_destroy() destroyed user data (logout)");
		setcookie (self::$prefix,  "" , time()-60, self::$path );
	}

	// library

	private static function cook2array($prefix){
		// nelogovat!
		if(!isset($_COOKIE[$prefix])){
			return array();
		}
		$dvojice = explode("##",$_COOKIE[$prefix]);
		$result = array();
		foreach($dvojice as $d){
			$e = explode("&&",$d);
			$result[$e[0]] = $e[1];
		}
		return $result;
	}
	private static function array2cook($cook){
		$result = "";
		foreach($cook as $i=>$d){
			if($result) $result.="##";
			$result.= $i."&&".$d;
		}
		return $result;
	}
	
}
?>

ACC SHELL 2018