Exemple #1
0
 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();
 }
Exemple #2
0
 public function sendAction()
 {
     $data = $this->getRequest()->getPost();
     if ($data['usuariobecheck'] != null && $data['password2'] != null) {
         $this->dbAdapter = $this->getServiceLocator()->get('Zend\\Db\\Adapter');
         $usuario = new UsuarioTable($this->dbAdapter);
         $listaUsuario = $usuario->getUsuario($data['usuariobecheck'], strrev($data['password2']));
         if (!empty($listaUsuario)) {
             if ($listaUsuario[0]['activo'] == '1') {
                 //Obtener la lista de edificios que pertenece
                 $dbTable = new DbTable($this->dbAdapter);
                 $listDb = $dbTable->listDBUser($this->dbAdapter, $listaUsuario[0]['id']);
                 //Obtenemos id_perdet
                 $this->dbAdapter2 = $this->getServiceLocator()->get($listDb[0]['nombre_db']);
                 $per = new PersonaDetTable($this->dbAdapter2);
                 $perdet = $per->getDatosxPersona($listaUsuario[0]['id']);
                 if (empty($listDb)) {
                     return $this->forward()->dispatch('Application\\Controller\\Login', array('action' => 'index', 'id' => 5));
                 }
                 //Verificamos la licencia del usuario
                 $nroSession = (int) $listDb[0]['nro_session'];
                 $tsession = new SessionTable($this->dbAdapter);
                 $nroSessionDB = count($tsession->obtenetSesion($listaUsuario[0]['id'], $listDb[0]['id']));
                 if ($nroSession > 0 && $nroSessionDB >= $nroSession) {
                     return $this->forward()->dispatch('Application\\Controller\\Login', array('action' => 'index', 'id' => 4));
                 } else {
                     //Iniciamos la session
                     $sid = new Container('base');
                     $sid->offsetSet('usuario', $listaUsuario[0]['usuario']);
                     $sid->offsetSet('id_usuario', $listaUsuario[0]['id']);
                     $sid->offsetSet('id_persona', $listaUsuario[0]['id_persona']);
                     $sid->offsetSet('id_db', $listDb[0]['id']);
                     $sid->offsetSet('id_perdet', $perdet[0]['id']);
                     $sid->offsetSet('id_unidad', $perdet[0]['id_unidad']);
                     //Usuario posee mas edificios
                     if (count($listDb) > 1) {
                         $sid->offsetSet('dbParam', $listDb);
                         return $this->forward()->dispatch('Application\\Controller\\Index', array('action' => 'db'));
                     } else {
                         $sid->offsetSet('nombreComercial', $listDb[0]['nombre']);
                         $sid->offsetSet('id_db', $listDb[0]['id']);
                         $sid->offsetSet('perfil', $listDb[0]['perfil']);
                     }
                     // si posee un edificio insertamos la session con su respectiva db
                     $valores = array('id_usuario' => $listaUsuario[0]['id'], 'id_db' => $listDb[0]['id'], 'ip_cliente' => $_SERVER['REMOTE_ADDR'], 'port_cliente' => $_SERVER['REMOTE_PORT']);
                     $sid->offsetSet('idSession', $tsession->crearSesion($valores));
                     //Mapeamos la base de datos
                     $sid->offsetSet('dbNombre', $listDb[0]['nombre_db']);
                     $modulo = $usuario->getModulo($this->dbAdapter, $listDb[0]['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);
                 }
             } else {
                 return $this->forward()->dispatch('Application\\Controller\\Login', array('action' => 'index', 'id' => 2));
             }
         } else {
             return $this->forward()->dispatch('Application\\Controller\\Login', array('action' => 'index', 'id' => 1));
         }
     } else {
         return $this->forward()->dispatch('Application\\Controller\\Login', array('action' => 'index', 'id' => 1));
     }
     return new ViewModel(array('data' => $idSession));
 }