/** * Asigno permiso al usuario-proyecto-app * * Y además creo el usuario en el cpanel del proyecto. * * @return boolean */ public function create() { $id = parent::create(); if ($id) { // Para saber el perfil que tiene el usuario con la empresa. $usuario = new PcaeUsuarios($this->IdUsuario); $perfil = $usuario->getPerfilEmpresa($this->IdEmpresa); $idPerfil = $perfil->getId(); unset($usuario); unset($perfil); $proyectoApp = new PcaeProyectosApps(); $filtro = "IdProyecto='{$this->IdProyecto}' AND IdApp='{$this->IdApp}'"; $rows = $proyectoApp->cargaCondicion("*", $filtro); unset($proyectoApp); $row = $rows[0]; if ($row['Id']) { $connection = array('dbEngine' => $row['DbEngine'], 'host' => $row['Host'], 'user' => $row['User'], 'password' => $row['Password'], 'dataBase' => $row['Database']); $em = new EntityManager($connection); if ($em->getDbLink()) { $query = "select Id from {$connection['dataBase']}.CpanUsuarios where IdUsuario='{$this->IdUsuario}'"; $em->query($query); $rows = $em->fetchResult(); $id = $rows[0]['Id']; if ($id) { $query = "update {$connection['dataBase']}.CpanUsuarios set IdPerfil='{$idPerfil}' where Id='{$id}'"; $em->query($query); } else { $query = "insert into {$connection['dataBase']}.CpanUsuarios (IdUsuario,IdPerfil,IdRol,IdTipoUsuario) values ('{$this->IdUsuario}','{$idPerfil}','1','1');"; $em->query($query); $lastId = $em->getInsertId(); $query = "update {$connection['dataBase']}.CpanUsuarios set SortOrder='{$lastId}', PrimaryKeyMD5='" . md5($lastId) . "' WHERE Id='{$lastId}'"; $em->query($query); } $em->desConecta(); } unset($em); } } return $id; }
public function LoginAction() { switch ($this->request['METHOD']) { case 'GET': $template = $this->entity . '/login.html.twig'; break; case 'POST': $user = new PcaeUsuarios(); $usuario = $user->find("EMail", $this->request['email']); unset($user); if ($usuario->getEMail() != '') { if ($usuario->getPassword() == md5($this->request['password'] . $this->getSemilla())) { $_SESSION['usuarioPortal'] = array('Id' => $usuario->getId(), 'IdPerfil' => '1', 'Nombre' => $usuario->getNombre()); //Actualizar el registro de entradas $usuario->setNLogin($usuario->getNLogin() + 1); $usuario->setUltimoLogin(date('Y-m-d H:i:s')); $usuario->save(); // Crear la variable de sesion con el array de // las empresas, proyectos y apps accesibles. $_SESSION['usuarioPortal']['accesosPortal'] = $usuario->getArrayAccesos(); $this->values['accesosPortal'] = $_SESSION['usuarioWeb']['accesosPortal']; //print_r($this->values['accesosPortal']); $template = $this->entity . "/proyectos.html.twig"; } else { $this->values['email'] = $this->request['email']; $this->values['errorPassword'] = true; return $this->IndexAction(); } } else { $this->values['errorUsuario'] = true; return $this->IndexAction(); } break; } return array('template' => $template, 'values' => $this->values); }
/** * Devuelve un array con los agentes que son REPARTIDORES (ROL=2) * y están adscritos a la empresa y sucursal indicada. * Si el agente en curso es repartidor, solo se mostrará el mismo. * * @param integer $idEmpresa Opcional * @param integer $idSucursal Opcional * @return array */ public function getRepartidores($idEmpresa = '', $idSucursal = '') { $usuario = new Agentes($_SESSION['usuarioPortal']['Id']); switch ($usuario->getIDRol()->getIDTipo()) { case '2': // ROLL REPARTIDOR $repartidores[] = array('Id' => $usuario->getIDAgente(), 'Value' => $usuario->getNombre()); break; default: // RESTO DE ROLES //if ($idEmpresa == '') // $idEmpresa = $_SESSION['emp']; if ($idSucursal == '') { $idSucursal = $_SESSION['suc']; } $usuariosPcae = new PcaeUsuarios(); $em = new EntityManager($this->getConectionName()); $link = $em->getDbLink(); if (is_resource($link)) { $query = "select a.IDAgente as Id, concat(u.Nombre,u.Apellidos) as Value\n from \n {$this->getDataBaseName()}.{$this->getTableName()} as a,\n {$usuariosPcae->getDataBaseName()}.{$usuariosPcae->getTableName()} as u\n where\n (a.IDAgente <> 1) AND \n (a.IDAgente = u.Id) AND\n (a.IDRol='2') AND\n (a.Activo='1') AND (\n (a.IDSucursal='{$idSucursal}') OR (a.IDSucursal='0'))"; $em->query($query); $repartidores = $em->fetchResult(); $em->desConecta(); $repartidores[] = array('Id' => '', 'Value' => '** Todos **'); } unset($em); break; } unset($usuario); return $repartidores; }
/** * Devuelve un array (Id,Value) con los usuarios adscritos * a la empresa $idEmpresa * * @param integer $idEmpresa El id de la empresa * @return array Array de usuarios */ public function getUsuariosEmpresa($idEmpresa) { $usuarios = array(); $usu = new PcaeEmpresasUsuarios(); $rows = $usu->cargaCondicion("IdUsuario", "IdEmpresa='{$idEmpresa}'"); unset($usu); foreach ($rows as $row) { if ($row['IdUsuario'] != '1') { $usu = new PcaeUsuarios($row['IdUsuario']); $usuarios[] = array("Id" => $row['IdUsuario'], "Value" => $usu->getApellidosNombre() . " <" . $usu->getEMail() . ">"); } } unset($usu); return $usuarios; }