| 123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354 | <?php namespace System\Session;use System\Crypt;use System\Config;class Cookie implements Driver {	public function __construct()	{		if (Config::get('application.key') == '')		{			throw new \Exception("You must set an application key before using the Cookie session driver.");		}	}	/**	 * Load a session by ID.	 *	 * @param  string  $id	 * @return array	 */	public function load($id)	{		if (\System\Cookie::has('session_payload'))		{			return unserialize(Crypt::decrypt(\System\Cookie::get('session_payload')));		}	}	/**	 * Save a session.	 *	 * @param  array  $session	 * @return void	 */	public function save($session)	{		$c = \System\Config::get('session');		\System\Cookie::put('session_payload', Crypt::encrypt(serialize($session)), $c['lifetime'], $c['path'], $c['domain'], $c['https'], $c['http_only']);	}	/**	 * Delete a session by ID.	 *	 * @param  string  $id	 * @return void	 */	public function delete($id)	{		\System\Cookie::forget('session_payload');	}}
 |