public function dbparamAction() { $this->dbAdapter = $this->getServiceLocator()->get('Zend\\Db\\Adapter'); $usuario = new UsuarioTable($this->dbAdapter); $tsession = new SessionTable($this->dbAdapter); $id_db = $this->params()->fromRoute('id', 0); $sid = new Container('base'); $dbParam = $sid->offsetGet('dbParam'); for ($i = 0; $i < count($dbParam); $i++) { if ($id_db == $dbParam[$i]['id']) { $id_perfil = $dbParam[$i]['id_perfil']; $nro_session = $dbParam[$i]['nro_session']; $db_nombre = $dbParam[$i]['nombre_db']; $nombreComercial = $dbParam[$i]['nombre']; $perfil = $dbParam[$i]['perfil']; break; } } $id_usuario = $sid->offsetGet('id_usuario'); $nroSessionDB = count($tsession->obtenetSesion($id_usuario, $id_db)); if ($nro_session > 0 && $nroSessionDB >= $nro_session) { $sid->getManager()->getStorage()->clear(); if (isset($_COOKIE['usuario'])) { unset($_COOKIE['usuario']); } if (isset($_COOKIE['password'])) { unset($_COOKIE['password']); } //return $this->forward()->dispatch('Application\Controller\Login',array('action'=>'index','id'=>4)); return $this->redirect()->toUrl($this->getRequest()->getBaseUrl() . '/application/login/index/4'); } $sid->offsetSet('dbNombre', $db_nombre); $sid->offsetSet('nombreComercial', $nombreComercial); $sid->offsetSet('id_db', $id_db); $sid->offsetSet('perfil', $perfil); $valores = array('id_usuario' => $id_usuario, 'id_db' => $id_db, 'ip_cliente' => $_SERVER['REMOTE_ADDR'], 'port_cliente' => $_SERVER['REMOTE_PORT']); $sid->offsetSet('idSession', $tsession->crearSesion($valores)); //Mapeamos la base de datos $modulo = $usuario->getModulo($this->dbAdapter, $id_perfil); $sid->offsetSet('modulo', $modulo); if (count($modulo) > 1) { $urlHome = 'application'; } else { $urlHome = $modulo[0]['url']; } $sid->offsetSet('urlHome', $urlHome); return $this->redirect()->toUrl($this->getRequest()->getBaseUrl() . '/' . $urlHome); //return new ViewModel(); }
public function salirAction() { // llamamos la session para obtener el IDSession del aplicativo $sid = new Container('base'); $idSession = $sid->offsetGet('idSession'); //Eliminamos la session registrado, para liberar licencia $this->dbAdapter = $this->getServiceLocator()->get('Zend\\Db\\Adapter'); $tsession = new SessionTable($this->dbAdapter); $tsession->eliminarSesion($idSession); //destruimos todas las sessiones $sid->getManager()->getStorage()->clear(); //eliminamos Cookies if (isset($_COOKIE['usuario'])) { unset($_COOKIE['usuario']); //setcookie('usuario', '', time() - 3600); // empty value and old timestamp } if (isset($_COOKIE['password'])) { unset($_COOKIE['password']); //setcookie('password', '', time() - 3600); // empty value and old timestamp } return $this->forward()->dispatch('Application\\Controller\\Login', array('action' => 'index', 'id' => 3)); }