summaryrefslogtreecommitdiffstats
path: root/library/Pbs/Session.php
blob: 592b89c75c34d34e9ca36de30eaafd92759e1ec9 (plain) (blame)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
<?php

class Pbs_Session{

	public function createsession(Application_Model_Session $session){
		$sessionmapper = new Application_Model_SessionMapper();
		
		$uniqid = $this->getUniqueCode(10);
		$sm = new Application_Model_SessionMapper();
		while(count($sm->findBy('alphasessionID',$uniqid))>0){
			$uniqid = $this->getUniqueCode(16);
		}
		
		$session->setAlphasessionID($uniqid);		
		$id = $sessionmapper->save($session);
		$sessionmapper->find($id, $session);
		return $session;
	}
	private function getUniqueCode($length = "")
	{	
		$code = md5(uniqid(rand(), true));
		if ($length != "") return substr($code, 0, $length);
		else return $code;
	}
}

?>