| 1 | <? | 
|---|
| 2 | // ************************************************************************************************************************************************* | 
|---|
| 3 | // Aplicación WEB: ogAdmWebCon | 
|---|
| 4 | // Autor: José Manuel Alonso (E.T.S.I.I.) Universidad de Sevilla | 
|---|
| 5 | // Fecha Creación: Año 2009-2010 | 
|---|
| 6 | // Fecha Última modificación: Agosto-2010 | 
|---|
| 7 | // Nombre del fichero: gestor_reservas.php | 
|---|
| 8 | // Descripción : | 
|---|
| 9 | //              Gestiona el mantenimiento de la tabla de reservas | 
|---|
| 10 | // ************************************************************************************************************************************************* | 
|---|
| 11 | include_once("../includes/ctrlacc.php"); | 
|---|
| 12 | include_once("../clases/AdoPhp.php"); | 
|---|
| 13 | include_once("../clases/XmlPhp.php"); | 
|---|
| 14 | include_once("../clases/ArbolVistaXML.php"); | 
|---|
| 15 | include_once("../includes/CreaComando.php"); | 
|---|
| 16 | include_once("../includes/constantes.php"); | 
|---|
| 17 | include_once("../includes/opciones.php"); | 
|---|
| 18 | include_once("./relaciones/reservas_eliminacion.php"); | 
|---|
| 19 | //________________________________________________________________________________________________________ | 
|---|
| 20 | $opcion=0; // Inicializa parametros | 
|---|
| 21 |  | 
|---|
| 22 | $idreserva=0; | 
|---|
| 23 | $descripcion=""; | 
|---|
| 24 | $grupoid=0; | 
|---|
| 25 | $solicitante=""; | 
|---|
| 26 | $email=""; | 
|---|
| 27 | $idestatus=0; | 
|---|
| 28 | $idaula=0; | 
|---|
| 29 | $idimagen=0; | 
|---|
| 30 | $idtarea=0; | 
|---|
| 31 | $idtrabajo=0; | 
|---|
| 32 | $estado=0; | 
|---|
| 33 | $comentarios=""; | 
|---|
| 34 |  | 
|---|
| 35 | if (isset($_POST["opcion"])) $opcion=$_POST["opcion"]; // Recoge parametros | 
|---|
| 36 |  | 
|---|
| 37 | if (isset($_POST["idreserva"])) $idreserva=$_POST["idreserva"]; | 
|---|
| 38 | if (isset($_POST["descripcion"])) $descripcion=$_POST["descripcion"]; | 
|---|
| 39 | if (isset($_POST["grupoid"])) $grupoid=$_POST["grupoid"]; | 
|---|
| 40 | if (isset($_POST["solicitante"])) $solicitante=$_POST["solicitante"]; | 
|---|
| 41 | if (isset($_POST["email"])) $email=$_POST["email"]; | 
|---|
| 42 | if (isset($_POST["idestatus"])) $idestatus=$_POST["idestatus"]; | 
|---|
| 43 | if (isset($_POST["idaula"])) $idaula=$_POST["idaula"]; | 
|---|
| 44 | if (isset($_POST["idimagen"])) $idimagen=$_POST["idimagen"]; | 
|---|
| 45 | if (isset($_POST["idtarea"])) $idtarea=$_POST["idtarea"]; | 
|---|
| 46 | if (isset($_POST["idtrabajo"])) $idtrabajo=$_POST["idtrabajo"]; | 
|---|
| 47 | if (isset($_POST["estado"])) $estado=$_POST["estado"]; | 
|---|
| 48 | if (isset($_POST["comentarios"])) $comentarios=$_POST["comentarios"]; | 
|---|
| 49 | if (isset($_POST["identificador"])) $idreserva=$_POST["identificador"]; | 
|---|
| 50 |  | 
|---|
| 51 | $tablanodo=""; // Arbol para nodos insertados | 
|---|
| 52 |  | 
|---|
| 53 | $cmd=CreaComando($cadenaconexion); // Crea objeto comando | 
|---|
| 54 | $resul=false; | 
|---|
| 55 | if ($cmd){ | 
|---|
| 56 | $resul=Gestiona(); | 
|---|
| 57 | $cmd->Conexion->Cerrar(); | 
|---|
| 58 | } | 
|---|
| 59 | if($opcion!=$op_movida){ | 
|---|
| 60 | echo '<HTML>'; | 
|---|
| 61 | echo '<HEAD>'; | 
|---|
| 62 | echo '  <meta http-equiv="Content-Type" content="text/html;charset=UTF-8">'; | 
|---|
| 63 | echo '<BODY>'; | 
|---|
| 64 | echo '<P><SPAN style="visibility:hidden" id="arbol_nodo">'.$tablanodo.'</SPAN></P>'; | 
|---|
| 65 | echo '  <SCRIPT language="javascript" src="../jscripts/constantes.js"></SCRIPT>'; | 
|---|
| 66 | echo '  <SCRIPT language="javascript" src="../jscripts/propiedades_reservas.js"></SCRIPT>'; | 
|---|
| 67 | echo '<SCRIPT language="javascript">'.chr(13); | 
|---|
| 68 | if ($resul){ | 
|---|
| 69 | echo 'var oHTML'.chr(13); | 
|---|
| 70 | echo 'var cTBODY=document.getElementsByTagName("TBODY");'.chr(13); | 
|---|
| 71 | echo 'o=cTBODY.item(1);'.chr(13); | 
|---|
| 72 | } | 
|---|
| 73 | } | 
|---|
| 74 | $literal=""; | 
|---|
| 75 | switch($opcion){ | 
|---|
| 76 | case $op_alta : | 
|---|
| 77 | $literal="resultado_insertar_reservas"; | 
|---|
| 78 | break; | 
|---|
| 79 | case $op_modificacion: | 
|---|
| 80 | $literal="resultado_modificar_reservas"; | 
|---|
| 81 | break; | 
|---|
| 82 | case $op_eliminacion : | 
|---|
| 83 | $literal="resultado_eliminar_reservas"; | 
|---|
| 84 | break; | 
|---|
| 85 | case $op_movida : | 
|---|
| 86 | $literal="resultado_mover"; | 
|---|
| 87 | break; | 
|---|
| 88 | default: | 
|---|
| 89 | break; | 
|---|
| 90 | } | 
|---|
| 91 | if ($resul){ | 
|---|
| 92 | if ($opcion==$op_alta ) | 
|---|
| 93 | echo $literal."(1,'".$cmd->DescripUltimoError()." ',".$idreserva.",o.innerHTML);".chr(13); | 
|---|
| 94 | else | 
|---|
| 95 | echo $literal."(1,'".$cmd->DescripUltimoError()." ','".$descripcion."');".chr(13); | 
|---|
| 96 | } | 
|---|
| 97 | else | 
|---|
| 98 | echo $literal."(0,'".$cmd->DescripUltimoError()."',".$idreserva.")"; | 
|---|
| 99 |  | 
|---|
| 100 | if($opcion!=$op_movida){ | 
|---|
| 101 | echo '  </SCRIPT>'; | 
|---|
| 102 | echo '</BODY>   '; | 
|---|
| 103 | echo '</HTML>'; | 
|---|
| 104 | } | 
|---|
| 105 | /************************************************************************************************************************************************** | 
|---|
| 106 | Inserta, modifica o elimina datos en la tabla reservas | 
|---|
| 107 | ________________________________________________________________________________________________________*/ | 
|---|
| 108 | function Gestiona(){ | 
|---|
| 109 | global  $cmd; | 
|---|
| 110 | global  $opcion; | 
|---|
| 111 |  | 
|---|
| 112 | global  $idcentro; | 
|---|
| 113 | global  $idreserva; | 
|---|
| 114 | global  $descripcion; | 
|---|
| 115 | global  $grupoid; | 
|---|
| 116 | global  $solicitante; | 
|---|
| 117 | global  $email; | 
|---|
| 118 | global  $idestatus; | 
|---|
| 119 | global  $idaula; | 
|---|
| 120 | global  $idimagen; | 
|---|
| 121 | global  $idtarea; | 
|---|
| 122 | global  $idtrabajo; | 
|---|
| 123 | global  $estado; | 
|---|
| 124 | global  $comentarios; | 
|---|
| 125 |  | 
|---|
| 126 | global  $op_alta; | 
|---|
| 127 | global  $op_modificacion; | 
|---|
| 128 | global  $op_eliminacion; | 
|---|
| 129 | global  $op_movida; | 
|---|
| 130 |  | 
|---|
| 131 | global  $tablanodo; | 
|---|
| 132 |  | 
|---|
| 133 | $cmd->CreaParametro("@idcentro",$idcentro,1); | 
|---|
| 134 |  | 
|---|
| 135 | $cmd->CreaParametro("@idreserva",$idreserva,1); | 
|---|
| 136 | $cmd->CreaParametro("@descripcion",$descripcion,0); | 
|---|
| 137 | $cmd->CreaParametro("@solicitante",$solicitante,0); | 
|---|
| 138 | $cmd->CreaParametro("@email",$email,0); | 
|---|
| 139 | $cmd->CreaParametro("@idestatus",$idestatus,1); | 
|---|
| 140 | $cmd->CreaParametro("@idaula",$idaula,1); | 
|---|
| 141 | $cmd->CreaParametro("@idimagen",$idimagen,1); | 
|---|
| 142 | $cmd->CreaParametro("@idtarea",$idtarea,1); | 
|---|
| 143 | $cmd->CreaParametro("@idtrabajo",$idtrabajo,1); | 
|---|
| 144 | $cmd->CreaParametro("@estado",$estado,1); | 
|---|
| 145 | $cmd->CreaParametro("@grupoid",$grupoid,1); | 
|---|
| 146 | $cmd->CreaParametro("@comentarios",$comentarios,0); | 
|---|
| 147 |  | 
|---|
| 148 | switch($opcion){ | 
|---|
| 149 | case $op_alta : | 
|---|
| 150 | $cmd->texto="INSERT INTO reservas (descripcion,solicitante,email,idestatus,idaula,idimagen,idtarea,idtrabajo,estado,comentarios,idcentro,grupoid) VALUES (@descripcion,@solicitante,@email,@idestatus,@idaula,@idimagen,@idtarea,@idtrabajo,@estado,@comentarios,@idcentro,@grupoid)"; | 
|---|
| 151 | $resul=$cmd->Ejecutar(); | 
|---|
| 152 | if ($resul){ // Crea una tabla nodo para devolver a la página que llamó ésta | 
|---|
| 153 | $idreserva=$cmd->Autonumerico(); | 
|---|
| 154 | $arbolXML=SubarbolXML_reservas($idreserva,$descripcion,$estado); | 
|---|
| 155 | $baseurlimg="../images/signos"; // Url de las reservas de signo | 
|---|
| 156 | $clasedefault="texto_arbol"; // Hoja de estilo (Clase por defecto) del árbol | 
|---|
| 157 | $arbol=new ArbolVistaXML($arbolXML,0,$baseurlimg,$clasedefault); | 
|---|
| 158 | $tablanodo=$arbol->CreaArbolVistaXML(); | 
|---|
| 159 | } | 
|---|
| 160 | break; | 
|---|
| 161 | case $op_modificacion: | 
|---|
| 162 | $cmd->texto="UPDATE reservas SET descripcion=@descripcion,solicitante=@solicitante, email=@email,idestatus=@idestatus,idaula=@idaula,idimagen=@idimagen,idtarea=@idtarea,idtrabajo=@idtrabajo,estado=@estado,comentarios=@comentarios WHERE idreserva=@idreserva"; | 
|---|
| 163 | $resul=$cmd->Ejecutar(); | 
|---|
| 164 | break; | 
|---|
| 165 | case $op_eliminacion : | 
|---|
| 166 | $resul=EliminaReservas($cmd,$idreserva,"idreserva");// Eliminación en cascada | 
|---|
| 167 | break; | 
|---|
| 168 | case $op_movida : | 
|---|
| 169 | $cmd->texto="UPDATE reservas SET  grupoid=@grupoid WHERE idreserva=@idreserva"; | 
|---|
| 170 | $resul=$cmd->Ejecutar(); | 
|---|
| 171 | break; | 
|---|
| 172 | default: | 
|---|
| 173 | break; | 
|---|
| 174 | } | 
|---|
| 175 | return($resul); | 
|---|
| 176 | } | 
|---|
| 177 | /*________________________________________________________________________________________________________ | 
|---|
| 178 | Crea un arbol XML para el nuevo nodo insertado | 
|---|
| 179 | ________________________________________________________________________________________________________*/ | 
|---|
| 180 | function SubarbolXML_reservas($idreserva,$descripcion,$estado){ | 
|---|
| 181 | global  $LITAMBITO_RESERVAS; | 
|---|
| 182 | global  $RESERVA_CONFIRMADA; | 
|---|
| 183 | global  $RESERVA_PENDIENTE; | 
|---|
| 184 | global  $RESERVA_DENEGADA; | 
|---|
| 185 |  | 
|---|
| 186 | $tbimg[$RESERVA_CONFIRMADA]='../images/iconos/confirmadas.gif'; | 
|---|
| 187 | $tbimg[$RESERVA_PENDIENTE]='../images/iconos/pendientes.gif'; | 
|---|
| 188 | $tbimg[$RESERVA_DENEGADA]='../images/iconos/denegadas.gif'; | 
|---|
| 189 |  | 
|---|
| 190 | $cadenaXML='<RESERVA'; | 
|---|
| 191 | // Atributos | 
|---|
| 192 | $cadenaXML.=' imagenodo="'.$tbimg[$estado].'"'; | 
|---|
| 193 | $cadenaXML.=' infonodo="'.$descripcion.'"'; | 
|---|
| 194 | $cadenaXML.=' clickcontextualnodo="menu_contextual(this,' ."'flo_".$LITAMBITO_RESERVAS."'" .')"'; | 
|---|
| 195 | $cadenaXML.=' nodoid='.$LITAMBITO_RESERVAS.'-'.$idreserva; | 
|---|
| 196 | $cadenaXML.='>'; | 
|---|
| 197 | $cadenaXML.='</RESERVA>'; | 
|---|
| 198 | return($cadenaXML); | 
|---|
| 199 | } | 
|---|
| 200 | ?> | 
|---|