public function factory($arrayfetch) { $arraytoret = array(); if ($arrayfetch) { foreach ($arrayfetch as $fetch) { $newObject = new Funcionalidad($this->driver); $newObject->fill($fetch); array_push($arraytoret, $newObject); } } return $arraytoret; }
include '../../Clases/Rol.php'; include '../../Clases/Pagina.php'; //Debemos indicar en la variable correspondiente que estamos en un determinado apartado para //cuando se cree la vista y muestra el menu lateral correctamente $_SESSION['PosicionMenuLateral'] = 'F'; //Cargamos el idioma a utilizar en el controlador $idioma = CargarIdioma(); //La funcion siguiente se encarga de comprobar los permisos del usuario en sesion para la pagina que esta visitando, en caso de que no los tenga // se redirigira a la pagina que se le pasa como parametro Acceso::ConPermisos($_SESSION['login'], $_SERVER['SCRIPT_NAME'], '../../Principal/Controladores/Principal.php'); //--------------------- RECUPERACION DATOS PREVIOS //Se crea una variable que se usara como contenedor para los datos, para que, en caso de error // y que se necesite recargar datos previos introducidos por el usuario, este objeto // almacenara los datos que introduciera previamente el usuario para cargarlos automaticamente en // la vista sin que el usuario tenga que introducirlos otra vez $datosPrevios = new Funcionalidad(); if (isset($_SESSION['recargaAF'])) { //Si esta set la variable recarga significa que hubo un error -> recarga de datos $datosPrevios->CargarDatosSesion($_SESSION['recargaFuncionalidadAlta']); } //-------------------------- CARGA DE DATOS RELACIONADOS CON EL ALTA DE UN USUARIO //Ya que al dar de alta un usuario podemos establecerle un rol, necesitaremos la lista de roles // y mostrala en la vista $rolesSistema = array(); $paginasSistema = array(); try { //Se Consultan los roles del sistema $consulta = Rol::ListadoRoles(""); $numF = $consulta->num_rows; for ($i2 = 0; $i2 < $numF; $i2++) { $TuplaF = $consulta->fetch_assoc();
} //-------------------------- CARGA DE DATOS RELACIONADOS CON La Modificacion //Ya que al dar de alta un usuario podemos establecerle un rol, necesitaremos la lista de roles // y mostrala en la vista $usuariosSistema = array(); $funcionalidadesSistema = array(); try { //Se Consultan los roles del sistema $consulta = Usuario::ListadoUsuarios(""); $numF = $consulta->num_rows; for ($i2 = 0; $i2 < $numF; $i2++) { $TuplaF = $consulta->fetch_assoc(); array_push($usuariosSistema, $TuplaF['Login']); } //Se Consultan las Paginas del sistema $consulta = Funcionalidad::ListadoFuncionalidades(""); $numF = $consulta->num_rows; for ($i2 = 0; $i2 < $numF; $i2++) { $TuplaF = $consulta->fetch_assoc(); array_push($funcionalidadesSistema, $TuplaF['FUN_nombre']); } } catch (Exception $e) { $_SESSION['error'] = $e->getMessage(); } //ESTA VARIABLE ES TEMPORAR, AL TERMINAR EL PROCESO DE ALTA SE BORRARAN SUS DATOS // SE UTILIZA PARA SABER LOS ROLES ACTUALES EN EL SISTEMA DURANTE TODO EL PROCESO DE ALTA DE // USUARIO PARA NO REALIZAR VARIAS VECES LA MISMA CONSULTA A LA BD MIENTRAS SE CAMBIA ENTRE FORMULARIOS $_SESSION['usuariosSistema'] = $usuariosSistema; $_SESSION['funcionalidadesSistema'] = $funcionalidadesSistema; //-------------------------- Carga de la vista y su mostrado //se instancia la clase Modificacion de Usuarios
<?php include_once "../../Comun/FuncionesComunes.php"; include_once "../../Comun/codigoSeguridad.php"; //Se incluye la clase Funcionalidad include_once "../../Clases/Funcionalidad.php"; //Recogemos las variables que vienen por POST desde el formulario de inserccion $FUN_nombre = recoge('FUN_nombre'); $FUN_descripcion = recoge('FUN_descripcion'); //Creamos el objeto Funcionalidad para facilitar el trabajo de datos $objeto = new Funcionalidad(); //Se debe añadir a la clase los datos que habia seleccionado el usuario para que no los tenga que // voler a seleccionar, en caso de que no se producieran errores, el usuario seria almacenado en la BD $objeto->FUN_nombre = $FUN_nombre; $objeto->FUN_descripcion = $FUN_descripcion; //Se agregan a la Funcionalidad los roles que va a tener en funcion de los 'checks' del formulario foreach ($_SESSION['rolesSistema'] as &$var) { $indiceasociativo = str_replace(" ", "_", "ckbxR_" . $var . ""); if (isset($_POST[$indiceasociativo])) { $objeto->addRol($var); } } //Se agregan a la Funcionalidad las paginas que va a tener en funcion de los 'checks' del formulario foreach ($_SESSION['paginasSistema'] as &$var) { $indiceasociativo = str_replace(" ", "_", "ckbxP_" . $var . ""); if (isset($_POST[$indiceasociativo])) { $objeto->addPagina($var); } } // ----------------------------------------- COMPROBACION DE ERRORES --------------------------------------------------------- //Se comprueba errores en los datos
//--------------------- RECUPERACION DATOS PREVIOS //Se comprueba si se a accedido al controlador tras un error en la modificacion, // en caso afirmativo se cargan los datos para la vista que ya habia introducido el usuario $datosMod = new Funcionalidad(); $claveMod = ""; //En caso contrario se debe cargar la vista con la informacion del registro a modificar try { //Se necesita recorrer todos los datos hasta encontrar // el que coincida con el NAME del boton pulsado. $datos = Funcionalidad::ListadoFuncionalidades(""); $numero = $datos->num_rows; for ($i = 0; $i < $numero; $i++) { $TuplaAcceso = $datos->fetch_assoc(); $indiceasociativo = str_replace(" ", "_", "" . $TuplaAcceso['FUN_nombre'] . ""); if (isset($_POST[$indiceasociativo])) { $datosMod = Funcionalidad::getFuncionalidadBD($TuplaAcceso['FUN_nombre']); $claveMod = $TuplaAcceso['FUN_nombre']; $_SESSION['claveModF'] = $TuplaAcceso['FUN_nombre']; $_SESSION['recargaFuncionalidadMod'] = $datosMod->DatosParaSesion(); } } } catch (Exception $e) { $errorRescrito = explode("=>", $e->getMessage()); $_SESSION['error'] = 'CON ERR SF' . "=>" . $errorRescrito[1]; } if ($claveMod == "") { //Si esta set la variable recarga significa que hubo un error -> recarga de datos $datosMod->CargarDatosSesion($_SESSION['recargaFuncionalidadMod']); $claveMod = $_SESSION['claveModF']; } //-------------------------- CARGA DE DATOS RELACIONADOS CON La Modificacion
<?php include "../../Comun/FuncionesComunes.php"; include "../../Comun/codigoSeguridad.php"; //Se incluye la clase de datos include "../../Clases/Funcionalidad.php"; //Cargamos el idioma a utilizar en el controlador $idioma = CargarIdioma(); //Recogemos las variables que vienen por POST desde el formulario de consulta $FUN_nombreAnt = recoge('FUN_nombreAnt'); $FUN_nombre = recoge('FUN_nombre'); $FUN_descripcion = recoge('FUN_descripcion'); //Creamos el objeto para facilitar el trabajo de datos $datos = new Funcionalidad(); //Se debe añadir a la clase los datos que habia seleccionado el usuario para que no los tenga que // voler a seleccionar, en caso de que no se producieran errores, el usuario seria almacenado en la BD $datos->FUN_nombre = $FUN_nombre; $datos->FUN_descripcion = $FUN_descripcion; foreach ($_SESSION['rolesSistema'] as &$var) { $indiceasociativo = str_replace(" ", "_", "ckbxR_" . $var . ""); if (isset($_POST[$indiceasociativo])) { $datos->addRol($var); } } foreach ($_SESSION['paginasSistema'] as &$var) { $indiceasociativo = str_replace(" ", "_", "ckbxP_" . $var . ""); if (isset($_POST[$indiceasociativo])) { $datos->addPagina($var); } } // ----------------------------------------- COMPROBACION DE ERRORES ---------------------------------------------------------
$num = $consulta->num_rows; } catch (Exception $e) { $errorRescrito = explode("=>", $e->getMessage()); $_SESSION['error'] = 'ELI ERR F' . "=>" . $errorRescrito[1]; header("Location: ConsFuncionalidades.php"); exit; } for ($i = 0; $i < $num; $i++) { $TuplaAcceso = $consulta->fetch_assoc(); //Comprobamos para cada dato si se ha marcado su checkBox del formulario // para eliminar $indiceasociativo = str_replace(" ", "_", "ckbx_" . $TuplaAcceso['FUN_nombre'] . ""); if (isset($_POST[$indiceasociativo])) { //Llegados a este punto significa que almenos algun checkbox a sido marcado $alguno = 1; try { // Se elimina el dato en cuestion Funcionalidad::EliminarFuncionalidadBD($TuplaAcceso['FUN_nombre']); } catch (Exception $e) { $_SESSION['error'] = $e->getMessage(); } } } //Comprobacion de la variable en cuestion y establecimiento de error/confirmacion if ($alguno == 0) { $_SESSION['error'] = 'ELI NO SF'; } else { $_SESSION['ok'] = 'ELI F OK'; } header("Location: ConsFuncionalidades.php"); //
function Display($idioma, $objects) { //Obtenemos la lista de funcionalidades para ponerlas en el filtro $mostrar = true; try { if (Acceso::ConPermisosSinRed($_SESSION['login'], '/Funcionalidades/Controladores/ConsFuncionalidades.php') == 0) { $mostrar = false; } } catch (Exception $e) { $_SESSION['error'] = $e->getMessage(); $mostrar = false; } try { $conexion = new BaseDatosControl(); $consultaDeFuncionalidades = Funcionalidad::ListadoFuncionalidades(""); $num = $consultaDeFuncionalidades->num_rows; } catch (Exception $e) { $errorRescrito = explode("=>", $e->getMessage()); $_SESSION['error'] = 'ERROR OBT FILTRO' . "=>" . $errorRescrito[1]; $num = 0; } include '../../Comun/V_Cabecera.php'; include '../../Comun/V_MenuLateral.php'; //Aqui va el cuerpo principal de la pagina ?> <div id="contenido"> <div id="barraLocalizacion"> <div id="histAct"> > <?php echo $idioma['Paginas']; ?> </div> <img onClick="window.history.back()" id="historialAtras" src="../../Imagenes/historyBack.png" /> </div> <?php if (!$mostrar) { echo ' <fieldset style="display:none;">'; } else { echo ' <fieldset id="filtro">'; } ?> <legend><?php echo $idioma['MSG FIL']; ?> : </legend> <form action="../Controladores/ConsPaginas.php" method="POST"> <?php for ($i = 0; $i < $num; $i++) { $TuplaAcceso = $consultaDeFuncionalidades->fetch_assoc(); echo '<input type="checkbox" name="filter_' . $TuplaAcceso['FUN_nombre'] . '" value="' . $TuplaAcceso['FUN_nombre'] . '">' . $TuplaAcceso['FUN_nombre'] . ' </input><br>'; } ?> <input type="submit" style="clear:both;float:right;" value="<?php echo $idioma['MSG FIL BUT']; ?> " class="boton" /> </form> </fieldset> <form action="" method="POST"> <!--<h1><?php echo $idioma['TIT CON P']; ?> </h1>--> <table id="tablaladofiltro" border=1 width=100% style="float:left"> <tr> <th colspan=5><?php echo $idioma['TIT TAB LIST P']; ?> </th> </tr> <tr> <th> <?php echo $idioma['PAG_nombre']; ?> </th> <th> <?php echo $idioma['PAG_descripcion']; ?> </th> <th> <?php echo $idioma['MSG F-P']; ?> </th> <th> <input onclick="this.form.action='DelPaginas.php';this.form.submit();" type="Button" name="btn_borrar_usuarios" value="<?php echo $idioma['Elim Sel']; ?> "/> </th> <th><?php echo $idioma['Modificar']; ?> </th> </tr> <?php //Variable usada exclusivamente para "CSS" $id = "tr1"; //Se recorre el array de objetos pasadso por parametro desde el controlador foreach ($objects as &$var) { //Se cambia la variable alternando los valores // USO DE CSS PARA EL COLOR DE LAS FILAS DE FORMA ALTERNADA if ($id == "tr1") { $id = "tr2"; } else { $id = "tr1"; } //Construccion de la tabla echo '<tr id="' . $id . '"> <td align=center>' . $var->PAG_nombre . '</td> <td align=center>' . $var->PAG_descripcion . '</td> <td align="center" >'; foreach ($var->getFuncionalidades() as &$var2) { echo "-" . $var2 . " "; } echo '</td> <td rowspan=2 align=center><div class="flipswitch"> <input type="checkbox" name="ckbx_' . $var->PAG_nombre . '" class="flipswitch-cb" id="fs' . $var->PAG_nombre . '"> <label class="flipswitch-label" for="fs' . $var->PAG_nombre . '"> <div class="flipswitch-inner"></div> <div class="flipswitch-switch"></div> </div> </div></td> <td rowspan=2 align=center><input onclick="this.form.action=' . "'" . 'ModPaginas.php' . "'" . ';" type="submit" name="' . $var->PAG_nombre . '" value="' . $idioma['Editar'] . '"/></td></tr>'; echo '<tr id="' . $id . '2"> <th>' . $idioma['PAG_ubicacion'] . ':</th> <td colspan=2>' . $var->PAG_ubicacion . '</td></tr>'; } ?> </table> </form> <input type="Button" class="btDestacado" style="float:right;clear:both;" onClick="window.location.href='AltaPaginas.php'" name="btn_alta_pagina" value="<?php echo $idioma['Nueva Pagina']; ?> "/> <?php //Fin de cuerpo de pagina //incluimos el pie de pagina que llevan todas las paginas de la web include '../../Comun/V_Pie.php'; }