Beispiel #1
0
 protected function createComponentAddEdit($name)
 {
     $form = new NAppForm($this, $name);
     $access = array(1 => 'Allow', 0 => 'Deny');
     // roles
     $mroles = new RolesModel();
     $roles = $mroles->getTreeValues();
     // resources
     $resources[0] = '- All resources -';
     $mresources = new ResourcesModel();
     $rows = $mresources->getTreeValues();
     foreach ($rows as $key => $row) {
         // function array_merge does't work correctly with integer indexes
         // manual array merge
         $resources[$key] = $row;
     }
     // privileges
     $privileges[0] = '- All privileges -';
     $rows = dibi::fetchAll('SELECT id, name FROM [gui_acl_privileges] ORDER BY name;');
     foreach ($rows as $row) {
         // function array_merge does't work correctly with integer indexes
         // manual array merge
         $privileges[$row->id] = $row->name;
     }
     //$renderer = $form->getRenderer();
     //$renderer->wrappers['label']['suffix'] = ':';
     //$form->addGroup('Add');
     $form->addMultiSelect('role_id', 'Role', $roles, 15)->addRule(NForm::FILLED, 'You have to fill roles.');
     $form->addMultiSelect('resource_id', 'Resources', $resources, 15)->addRule(NForm::FILLED, 'You have to fill resources.');
     $form->addMultiSelect('privilege_id', 'Privileges', $privileges, 15)->addRule(NForm::FILLED, 'You have to fill privileges.');
     //$form->addSelect('access', 'Access', $access)
     $form->addRadioList('access', 'Access', $access)->addRule(NForm::FILLED, 'You have to fill access.');
     $form->addSubmit('assign', 'Assign');
     $form->onSuccess[] = array($this, 'addEditOnFormSubmitted');
 }
 public function Reporte()
 {
     //Creamos el objeto usuario
     $roles = new RolesModel();
     //Conseguimos todos los usuarios
     session_start();
     if (isset($_SESSION['usuario'])) {
         $resultRep = $roles->getByPDF("id_rol, nombre_rol", " nombre_rol != '' ");
         $this->report("Roles", array("resultRep" => $resultRep));
     }
 }
 public function login()
 {
     if ($this->_router->isPostRequest()) {
         if ($_POST['login'] != '' && $_POST['passwd'] != '') {
             $db = Zend_Db_Table::getDefaultAdapter();
             // tworzymy instancję adaptera autoryzacji
             $authAdapter = new Zend_Auth_Adapter_DbTable($db, 'cms_user', 'user_login', 'user_passwd');
             $authAdapter->setIdentity($_POST['login']);
             $authAdapter->setCredential(sha1($_POST['passwd']));
             // sprawdzamy, czy użytkownik jest aktywny
             $authAdapter->setCredentialTreatment("? AND user_active = '1'");
             // autoryzacja
             $result = $authAdapter->authenticate();
             if ($result->isValid()) {
                 $user_data = $authAdapter->getResultRowObject();
                 /*	zapisanie roli zalogowanego uzytkownika	*/
                 $this->_roles = RolesModel::Instance();
                 $role = $this->_roles->getRoleData($user_data->role_id);
                 $user_data->role_code = $role['role_code'];
                 $this->_storage->write($user_data);
                 // ustawienie ACL dla użytkownika
                 $this->_engine->addHttpHeader("Location: /" . $this->_router->getUrl('cms', 'index'));
             } else {
                 $this->_view->error = '1';
             }
         } else {
             $this->_view->error = '1';
         }
     }
     $this->_engine->setToRender('login.tpl');
 }
 public function Instance()
 {
     if (!isset(RolesModel::$_instance)) {
         RolesModel::$_instance = new RolesModel();
     }
     return RolesModel::$_instance;
 }
 public function index()
 {
     session_start();
     if (isset($_SESSION['usuario_usuario'])) {
         $permisos_rol = new PermisosRolesModel();
         $nombre_controladores = "PermisosRoles";
         $id_rol = $_SESSION['id_rol'];
         $resultPer = $permisos_rol->getPermisosVer("   controladores.nombre_controladores = '{$nombre_controladores}' AND permisos_rol.id_rol = '{$id_rol}' ");
         if (!empty($resultPer)) {
             //roles
             $rol = new RolesModel();
             $resultRol = $rol->getAll("nombre_rol");
             $controladores = new ControladoresModel();
             $resultCon = $controladores->getAll("nombre_controladores");
             $acciones = new AccionesModel();
             $resultAcc = $acciones->getAll("id_controladores");
             $resultEdit = "";
             $resul = "";
             if (isset($_GET["id_permisos_rol"])) {
                 $nombre_controladores = "PermisosRoles";
                 $id_rol = $_SESSION['id_rol'];
                 $resultPer = $permisos_rol->getPermisosEditar("   controladores.nombre_controladores = '{$nombre_controladores}' AND permisos_rol.id_rol = '{$id_rol}' ");
                 if (!empty($resultPer)) {
                     $_id_permisos_rol = $_GET["id_permisos_rol"];
                     $resultEdit = $permisos_rol->getBy("id_permisos_rol = '{$_id_permisos_rol}' ");
                 } else {
                     $this->view("Error", array("resultado" => "No tiene Permisos de Editar Permisos Roles"));
                     exit;
                 }
             }
             $columnas = "permisos_rol.id_permisos_rol, rol.nombre_rol, permisos_rol.nombre_permisos_rol, controladores.nombre_controladores, permisos_rol.ver_permisos_rol, permisos_rol.editar_permisos_rol, permisos_rol.borrar_permisos_rol  ";
             $tablas = "public.controladores,  public.permisos_rol, public.rol";
             $where = " controladores.id_controladores = permisos_rol.id_controladores AND permisos_rol.id_rol = rol.id_rol";
             $id = " permisos_rol.nombre_permisos_rol, controladores.nombre_controladores";
             $permisos_rol = new PermisosRolesModel();
             $resultSet = $permisos_rol->getCondiciones($columnas, $tablas, $where, $id);
             $this->view("PermisosRoles", array("resultCon" => $resultCon, "resultAcc" => $resultAcc, "resultSet" => $resultSet, "resultEdit" => $resultEdit, "resultRol" => $resultRol));
         } else {
             $this->view("Error", array("resultado" => "No tiene Permisos de Acceso a Permisos Rol"));
         }
     } else {
         $this->view("ErrorSesion", array("resultSet" => ""));
     }
 }
 public function __construct($engine)
 {
     parent::__construct($engine);
     if (!$this->_auth->hasIdentity()) {
         $this->engine->addHttpHeader("Location: " . $this->router->getUrl('auth'));
         exit;
     }
     $this->_roles = RolesModel::Instance();
     $this->view->page_sidebar = $this->view->render('modules/role/sidebar.tpl');
 }
 public function index_dos()
 {
     session_start();
     $_id_usuario = 0;
     $resultEdit = "";
     $_usuario_usuario = "";
     $_nuevo_usuario = FALSE;
     $usuario = new UsuariosModel();
     $resultSet = $usuario->getAll("id_usuario");
     $provincias = new ProvinciasModel();
     $resultProv = $provincias->getAll("nombre_provincia");
     $paises = new PaisesModel();
     $resultPais = $paises->getAll("nombre_pais");
     $roles = new RolesModel();
     $resultRol = $roles->getAll("nombre_rol");
     $estados = new EstadosModel();
     $resultEst = $estados->getAll("nombre_estado");
     if (isset($_GET["id_usuario"])) {
         $_id_usuario = $_GET["id_usuario"];
         $where = "rol.id_rol = usuarios.id_rol AND estado.id_estado = usuarios.id_estado AND usuarios.id_usuario = '{$_id_usuario}' ";
         $resultEdit = $usuario->getCondiciones($columnas, $tablas, $where, $id);
     }
     if (isset($_POST["usuario_usuario"])) {
         $_usuario_usuario = $_POST["usuario_usuario"];
     }
     //AGREGO EL NOMBRE Y DEVUELVO EL ID
     if (isset($_POST["btn_agregar_usuario"])) {
         $_nuevo_usuario = TRUE;
         $_usuario_usuario = $_POST["usuario_usuario"];
         $funcion = "ins_usuarios";
         $parametros = " '{$_usuario_usuario}'  ";
         $usuario->setFuncion($funcion);
         $usuario->setParametros($parametros);
         try {
             $resultado = $usuario->Insert();
         } catch (Exception $e) {
             $this->view("Resultado", array("resultado" => "No se puedo insertar el Usuario"));
             exit;
         }
     }
     $res_usuario = $usuario->getBy("usuario_usuario = '{$_usuario_usuario}' ");
     foreach ($res_usuario as $res) {
         $_id_usuario = $res->id_usuario;
     }
     //editando
     if (isset($_GET["id_usuario_edit"])) {
         $_id_usuario = $_GET["id_usuario_edit"];
         $where = "id_usuario = '{$_id_usuario}' ";
         $resultEdit = $usuario->getBy($where);
     }
     //guardamos el distribuidores
     if (isset($_POST["btn_guardar"])) {
         $_nombres_usuario = strtoupper($_POST["nombres_usuario"]);
         $_apellidos_usuario = strtoupper($_POST["apellidos_usuario"]);
         $_usuario_usuario = $_POST["correo_usuario"];
         $_clave_usuario = $_POST["clave_usuario"];
         $_id_pais = $_POST["paises"];
         $_id_provincia = $_POST["provincias"];
         $_telefono_usuario = $_POST["telefono_usuario"];
         $_celular_usuario = $_POST["celular_usuario"];
         $_correo_usuario = $_POST["correo_usuario"];
         $_id_rol = 3;
         // afiliados
         $_id_estado = 2;
         //sin activar
         $_clave_activacion_usuario = $usuario->encrypt($_POST["correo_usuario"]);
         $_fecha_nacimiento = $_POST["fecha_nacimiento_usuario"];
         $funcion = "ins_usuarios";
         $parametros = " '{$_nombres_usuario}','{$_apellidos_usuario}', '{$_usuario_usuario}', '{$_clave_usuario}'\n\t\t\t,'{$_id_pais}', '{$_id_provincia}', '{$_telefono_usuario}', '{$_celular_usuario}'\n\t\t\t,'{$_correo_usuario}', '{$_id_rol}','{$_id_estado}', '{$_clave_activacion_usuario}'\n\t\t\t, '{$_fecha_nacimiento}' ";
         $usuario->setFuncion($funcion);
         $usuario->setParametros($parametros);
         $resultado = $usuario->Insert();
         $baseUrl = URLVADEMANO;
         $controladorAccion = "controller=Afiliaciones&action=ValidarAfiliado&clave_activacion=" . $_clave_activacion_usuario;
         $email_to = $_POST['correo_usuario'];
         $email_from = "*****@*****.**";
         $email_subject = "Bienvenido a Vademano";
         $headers = 'MIME-Version: 1.0' . "\r\n";
         $headers .= 'Content-type: text/html; charset=iso-8859-1' . "\r\n";
         $email_message = '<html><body>';
         $email_message .= '<h1 style="color:#f40;">Hi Jane!</h1>';
         $email_message .= '<p style="color:#080;font-size:18px;">Will you marry me?</p>';
         $email_message = "Bienvenid@ !!! \n\n";
         $email_message .= "" . $_POST['nombres_usuario'] . " " . $_POST['apellidos_usuario'] . " ya te encuentras registrado en vademano.com " . "\n";
         $email_message .= "Tus datos pra acceder al sistema son: " . "\n";
         $email_message .= "Usuario: " . $_POST['correo_usuario'] . "\n";
         $email_message .= "Clave: " . $_POST['clave_usuario'] . "\n";
         $email_message .= "Ingresa a la siguiente url para que valides tu cuenta " . $baseUrl . $controladorAccion . "\n";
         $email_message .= '</body></html>';
         // Ahora se envía el e-mail usando la función mail() de PHP
         $headers = 'From: ' . $email_from . "\r\n" . 'Reply-To: ' . $email_from . "\r\n" . 'X-Mailer: PHP/' . phpversion();
         if (mail($email_to, $email_subject, $email_message, $headers)) {
         }
         $this->redirect("Usuarios", "index");
     }
     $this->view("UsuariosAdd", array("resultSet" => "", "resultPais" => $resultPais, "resultProv" => $resultProv, "resultEdit" => "", "id_usuario" => $_id_usuario, "usuario_usuario" => $_usuario_usuario, "nuevo_usuario" => $_nuevo_usuario, "resultRol" => $resultRol, "resultEst" => $resultEst));
 }
 public function actionAccess($id)
 {
     $nodes = new RolesModel();
     $this->template->nodes = $nodes;
     $this->template->parents = $nodes->getChildNodes(NULL);
     $role = dibi::fetch('SELECT key_name, name FROM [' . TABLE_ROLES . '] WHERE id=%i;', $id);
     $this->template->role = $role->name;
     $access = new AccessModel(array($role));
     $this->template->access = $access->getAccess();
 }
Beispiel #9
0
 public function actionAccess($id)
 {
     $nodes = new RolesModel();
     $this->template->nodes = $nodes;
     $this->template->parents = $nodes->getChildNodes(NULL);
     $user = dibi::fetchSingle('SELECT login FROM [' . TABLE_USERS . '] WHERE id=%i;', $id);
     $this->template->user_name = $user;
     $roles = dibi::fetchAll('SELECT r.key_name FROM [' . TABLE_ROLES . '] AS r
                                 RIGHT JOIN [' . TABLE_USERS_ROLES . '] AS ur ON r.id=ur.role_id
                                 WHERE ur.user_id=%i;', $id);
     $access = new AccessModel($roles);
     $this->template->access = $access->getAccess();
 }