summaryrefslogtreecommitdiffstats
path: root/application/modules/fbgui/controllers
diff options
context:
space:
mode:
authorSimon2011-04-13 20:29:04 +0200
committerSimon2011-04-13 20:29:04 +0200
commit4cadc3f6212ebe6798e580c66063bed5e1df2173 (patch)
tree28374d0805f718e2bc79530c549ff1052dffc65e /application/modules/fbgui/controllers
parentTicket #204 - Starten bei doppelklick sollte klappen (diff)
downloadpbs2-4cadc3f6212ebe6798e580c66063bed5e1df2173.tar.gz
pbs2-4cadc3f6212ebe6798e580c66063bed5e1df2173.tar.xz
pbs2-4cadc3f6212ebe6798e580c66063bed5e1df2173.zip
MembershipID wird gesetzt, Session wird nich doppelt erstellt
Diffstat (limited to 'application/modules/fbgui/controllers')
-rw-r--r--application/modules/fbgui/controllers/IndexController.php38
1 files 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();