From 4cadc3f6212ebe6798e580c66063bed5e1df2173 Mon Sep 17 00:00:00 2001 From: Simon Date: Wed, 13 Apr 2011 20:29:04 +0200 Subject: MembershipID wird gesetzt, Session wird nich doppelt erstellt --- .../modules/fbgui/controllers/IndexController.php | 38 +++++++++++++++++----- 1 file changed, 29 insertions(+), 9 deletions(-) diff --git a/application/modules/fbgui/controllers/IndexController.php b/application/modules/fbgui/controllers/IndexController.php index 450dd14..6f6c065 100644 --- a/application/modules/fbgui/controllers/IndexController.php +++ b/application/modules/fbgui/controllers/IndexController.php @@ -2,10 +2,14 @@ class Fbgui_IndexController extends Zend_Controller_Action { - + protected $membership; + public function init() { /* Initialize action controller here */ + $membershipMapper = new Application_Model_MembershipMapper(); + $this->membership = new Application_Model_Membership(); + $membershipMapper->find($userIDsNamespace['membershipID'],$this->membership); } public function indexAction() @@ -43,14 +47,30 @@ class Fbgui_IndexController extends Zend_Controller_Action $client = $n->createClient($client); $clientID = $client->getID(); - $session = new Application_Model_Session(); - $session->setBootisoID($bootiso->getID()); - $session->setClientID($clientID); - $session->setTime(time()); - $session->setIp($_SERVER['REMOTE_ADDR']); - $session = $n->createSession($session); - $_SESSION['alphasessionID'] = $session->getAlphasessionID(); - + $userIDsNamespace = Zend_Session::namespaceGet('userIDs'); + + if(!isset($_SESSION['alphasessionID'])){ + $session = new Application_Model_Session(); + $session->setBootisoID($bootiso->getID()); + $session->setClientID($clientID); + $session->setTime(time()); + if($this->membership->getID() != ''){ + $session->setMembershipID($this->membership->getID()); + } + $session->setIp($_SERVER['REMOTE_ADDR']); + $session = $n->createSession($session); + $_SESSION['alphasessionID'] = $session->getAlphasessionID(); + } + else{ + $session = new Application_Model_Session(); + $sessionMapper = new Application_Model_SessionMapper(); + $sessions = $sessionMapper->findBy(array('alphasessionID'=>$_SESSION['alphasessionID'])); + $session = $sessions[0]; + if($this->membership->getID() != ''){ + $session->setMembershipID($this->membership->getID()); + $session->save(); + } + } // Request Bootmenu $pbsFilter = new Pbs_Filter(); $bootmenuID = $pbsFilter->evaluate(); -- cgit v1.2.3-55-g7522