source: admin/ogAdmSources/ogAdmWebCon/principal/programacionesreservas.php @ e42f34e

918-git-images-111dconfigfileconfigure-oglivegit-imageslgromero-new-oglivemainmaint-cronmount-efivarfsmultivmmultivm-ogboot-installerogClonningEngineogboot-installer-jenkinsoglive-ipv6test-python-scriptsticket-301ticket-50ticket-50-oldticket-577ticket-585ticket-611ticket-612ticket-693ticket-700ubu24tplunification2use-local-agent-oglivevarios-instalacionwebconsole3
Last change on this file since e42f34e was 8964f9b, checked in by ramon <ramongomez@…>, 16 years ago

Resstructuración de trunk.

git-svn-id: https://opengnsys.es/svn/trunk@390 a21b9725-9963-47de-94b9-378ad31fedc9

  • Property mode set to 100644
File size: 27.6 KB
Line 
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 2003-2004
6// Fecha Última modificación: Noviembre-2005
7// Nombre del fichero: programaciones.php
8// Descripción :
9//              Visualiza las reservas pendientes, confirmadas, denegadas y fecha y hora de la reserva
10// *************************************************************************************************************************************************
11include_once("../includes/ctrlacc.php");
12include_once("../clases/AdoPhp.php");
13include_once("../includes/constantes.php");
14include_once("../includes/CreaComando.php");
15include_once("../includes/HTMLCTEMULSELECT.php");
16include_once("../clases/ArbolVistaXML.php");
17include_once("../idiomas/php/".$idioma."/clases/Calendario_".$idioma.".php");
18include_once("../idiomas/php/".$idioma."/programacionesreservas_".$idioma.".php");
19//________________________________________________________________________________________________________
20$ambito="";
21$idambito=0;
22$nombreambito="";
23$fechainicio="";
24$fechafin="";
25$estadoreserva="";
26$situacion="";
27
28if (isset($_GET["ambito"]))     $ambito=$_GET["ambito"];
29if (isset($_GET["idambito"])) $idambito=$_GET["idambito"];
30if (isset($_GET["nombreambito"])) $nombreambito=$_GET["nombreambito"];
31if (isset($_GET["tipocola"])) $tipocola=$_GET["tipocola"];
32
33$cmd=CreaComando($cadenaconexion);
34if (!$cmd)
35        Header('Location: '.$pagerror.'?herror=2'); // Error de conexión con servidor B.D.
36//________________________________________________________________________________________________________
37// Criterios por defecto
38if($ambito!="" && $idambito!="" && $nombreambito!="" && $tipocola!=""){
39        $wfechainicio=mktime(0, 0, 0, date("m")  , date("d"), date("Y")); // Reservas desde un mes anterior
40        $wfechafin=mktime(0, 0, 0, date("m")+6 , date("d"), date("Y"));
41        $fechainicio=date("d/m/Y",$wfechainicio);
42        $fechafin=date("d/m/Y ",$wfechafin);
43        // Tipos de reservas
44        switch($tipocola){
45                case 0:
46                        $westadoreserva[0]=$RESERVA_CONFIRMADA;
47                        $westadoreserva[1]=$RESERVA_PENDIENTE;
48                        $westadoreserva[2]=$RESERVA_DENEGADA;
49
50                        $estadoreserva=$RESERVA_CONFIRMADA."=".$LITRESERVA_CONFIRMADA.";";
51                        $estadoreserva.=$RESERVA_PENDIENTE."=".$LITRESERVA_PENDIENTE.";";
52                        $estadoreserva.=$RESERVA_DENEGADA."=".$LITRESERVA_DENEGADA.";";
53                        break;
54                case $RESERVA_CONFIRMADA:
55                        $westadoreserva[0]=$RESERVA_CONFIRMADA;
56                        $estadoreserva=$RESERVA_CONFIRMADA."=".$LITRESERVA_CONFIRMADA.";";
57                        break;
58                case $RESERVA_PENDIENTE:
59                        $westadoreserva[0]=$RESERVA_PENDIENTE;
60                        $estadoreserva=$RESERVA_PENDIENTE."=".$LITRESERVA_PENDIENTE.";";
61                        break;
62                case $RESERVA_DENEGADA:
63                        $westadoreserva[0]=$RESERVA_DENEGADA;
64                        $estadoreserva=$RESERVA_DENEGADA."=".$LITRESERVA_DENEGADA.";";
65                        break;
66        }
67                // Estados default
68        $wsituacion[0]=$RESERVA_PARADA;
69        $wsituacion[1]=$RESERVA_ACTIVA;
70        $situacion=$RESERVA_PARADA."=".$LITRESERVA_PARADA.";";
71        $situacion.=$RESERVA_ACTIVA."=".$LITRESERVA_ACTIVA.";";
72}
73//________________________________________________________________________________________________________
74// Recupera parametros del formulario
75if (isset($_POST["ambito"]))    $ambito=$_POST["ambito"];
76if (isset($_POST["idambito"])) $idambito=$_POST["idambito"];
77if (isset($_POST["nombreambito"])) $nombreambito=$_POST["nombreambito"];
78if (isset($_POST["fechainicio"])) $fechainicio=$_POST["fechainicio"];
79if (isset($_POST["fechafin"])) $fechafin=$_POST["fechafin"];
80
81if (isset($_POST["estadoreserva"])) {
82        $estadoreserva=$_POST["estadoreserva"];
83        $auxP=split(";",$estadoreserva);
84        $cont=0;
85        for ($i=0;$i<sizeof($auxP)-1;$i++){
86                $dualparam=split("=",$auxP[$i]);
87                $westadoreserva[$cont++]=$dualparam[0];
88        }
89}
90if (isset($_POST["situacion"])){
91        $situacion=$_POST["situacion"];
92        $auxP=split(";",$situacion);
93        $cont=0;
94        for ($i=0;$i<sizeof($auxP)-1;$i++){
95                $dualparam=split("=",$auxP[$i]);
96                $wsituacion[$cont++]=$dualparam[0];
97        }
98}
99//________________________________________________________________________________________________________
100?>
101<HTML>
102<TITLE>Administración web de aulas</TITLE>
103<HEAD>
104        <LINK rel="stylesheet" type="text/css" href="../estilos.css">
105        <SCRIPT language="javascript" src="../clases/jscripts/ArbolVistaXML.js"></SCRIPT>
106        <SCRIPT language="javascript" src="../clases/jscripts/MenuContextual.js"></SCRIPT>
107        <SCRIPT language="javascript" src="../jscripts/constantes.js"></SCRIPT>
108        <SCRIPT language="javascript" src="../jscripts/comunes.js"></SCRIPT>
109        <SCRIPT language="javascript" src="../jscripts/programacionesreservas.js"></SCRIPT>
110        <? echo '<SCRIPT language="javascript" src="../idiomas/javascripts/'.$idioma.'/programacionesreservas_'.$idioma.'.js"></SCRIPT>'?>
111        <? echo '<SCRIPT language="javascript" src="../idiomas/javascripts/'.$idioma.'/comunes_'.$idioma.'.js"></SCRIPT>'?>
112</HEAD>
113<BODY>
114<?
115switch($ambito){
116                case $AMBITO_GRUPOSRESERVAS :
117                        $urlimg='../images/iconos/carpeta.gif';
118                        $textambito=$TbMsg[13];
119                        break;
120                case $AMBITO_RESERVAS :
121                        $urlimg='../images/iconos/reservas.gif';
122                        $textambito=$TbMsg[14];
123                        break;
124}
125echo '<p align=center class=cabeceras><img src="../images/iconos/reservas.gif">&nbsp;'.$TbMsg[0].'&nbsp;';
126echo '<FORM name="fdatos" action="programacionesreservas.php" method="post">'.chr(13);
127// Campos ocultos
128echo '<INPUT type=hidden name=ambito value="'.$ambito.'">';
129echo '<INPUT type=hidden name=idambito value="'.$idambito.'">';
130echo '<INPUT type=hidden name=nombreambito value="'.$nombreambito.'">';
131echo '<INPUT type=hidden name=estadoreserva value="'.$estadoreserva.'">';
132echo '<INPUT type=hidden name=situacion value="'.$situacion.'">';
133echo CriteriosBusquedas(); // Opciones de búsqueda
134echo '</FORM>'.chr(13);
135
136echo '<DIV align=center >';
137echo '<span align=center class=subcabeceras><U>'.$TbMsg[11].':'.$textambito.'</U>,&nbsp'.$nombreambito.'</span>&nbsp;&nbsp;<IMG src="'.$urlimg.'"></span></DIV></p>';
138
139//________________________________________________________________________________________________________
140// Proceso de selección de reservas
141$ClausulaWhere="";
142//________________________________________________________________________________________________________
143// Cuestion identificador del ámbito
144$WhereCentroAccion="";
145$WhereCentroAccion='reservas.idcentro='.$idcentro;
146$ClausulaWhere.=" AND (".$WhereCentroAccion.")";
147
148$cadenareservas="";
149if(!empty($idambito)){
150        $cmd->texto="SELECT idgrupo FROM grupos WHERE idgrupo=".$idambito." AND tipo=".$AMBITO_GRUPOSRESERVAS;
151        RecorreGruposReservas($cmd);
152}
153else{
154        $cmd->texto="SELECT idgrupo FROM grupos WHERE grupoid=0 AND tipo=".$AMBITO_GRUPOSRESERVAS;
155        RecorreGruposReservas($cmd);
156        $cmd->texto="SELECT idreserva FROM reservas WHERE grupoid=0";
157        RecorreReservas($cmd);
158}
159if(strlen($cadenareservas)>0){
160        $cadenareservas=substr($cadenareservas,0,strlen($cadenareservas)-1); // Quita la coma
161        $ClausulaWhere.=" AND idreserva in(".$cadenareservas.")";
162}
163//________________________________________________________________________________________________________
164// Cuestion estado de las reservas ( Confirmadas,Pendientes o Denegadas )
165$WhereEstadosReservas="";
166for($i=0;$i<sizeof($westadoreserva);$i++){
167                if (isset($westadoreserva[$i]))
168                        $WhereEstadosReservas.=" reservas.estado=".$westadoreserva[$i]." OR ";
169}
170if($WhereEstadosReservas!=""){
171        $WhereEstadosReservas=substr($WhereEstadosReservas,0,strlen($WhereEstadosReservas)-3);
172        $ClausulaWhere.=" AND (".$WhereEstadosReservas.")";
173}
174//________________________________________________________________________________________________________
175// Cuestion situación de la programación
176$WhereSituaciones="";
177for($i=0;$i<sizeof($wsituacion);$i++){
178        if (isset($wsituacion[$i]))
179                $WhereSituaciones.=" programaciones.suspendida=".$wsituacion[$i]." OR ";
180}
181if($WhereSituaciones!=""){
182        $WhereSituaciones=substr($WhereSituaciones,0,strlen($WhereSituaciones)-3);
183        $ClausulaWhere.=" AND (".$WhereSituaciones.")";
184}
185//________________________________________________________________________________________________________
186// Cuestion de fechas
187$calendario=new Calendario("tabla_reservas");
188
189if(empty($fechainicio)) $fechainicio=date("d/m/Y",mktime(0, 0, 0, date("m")  , date("d"), date("Y")));
190if(empty($fechafin))    $fechafin=date("d/m/Y",mktime(0, 0, 0, date("m")+1  , date("d"), date("Y")));
191
192$sumahoras=0;
193$JDif=0;
194$TBfechas="";
195$TOTfechas="";
196$cadenaXML=ProcesoAnual($fechainicio,$fechafin);
197// Creación del árbol
198$baseurlimg="../images/tsignos"; // Url de las imágenes de signo
199$clasedefault="tabla_listados_sin";
200$titulotabla=$TbMsg[0]; 
201$arbol=new ArbolVistaXml($cadenaXML,0,$baseurlimg,$clasedefault,1,20,270,2,$titulotabla);
202$salidaHTML=$arbol->CreaArbolVistaXml();  // Muestra  árbol
203echo "<BR>";
204echo "<DIV align=center width=100%>";
205echo "   <TABLE align=center width=100%>";
206echo "          <TR><TD>";
207echo urldecode($salidaHTML);
208echo "          </TD></TR><TABLE></DIV>";
209?>
210</BODY>
211</HTML>
212<?
213// *************************************************************************************************************************************************
214function ProcesoAnual($fechainicio,$fechafin){
215        global $EJECUCION_RESERVA;
216        global $calendario;
217        global $cmd;
218        global $ClausulaWhere;
219        global $sumahoras;
220        global $TbMsg;
221        global $TOTfechas;
222        global $TBfechas;
223        global $JDif;
224
225        list($sdia,$smes,$sanno)=split("/",$fechainicio);
226        $dia_i=(int)$sdia;
227        $mes_i=(int)$smes;
228        $anno_i=(int)$sanno;
229
230        list($sdia,$smes,$sanno)=split("/",$fechafin);
231        $dia_f=(int)$sdia;
232        $mes_f=(int)$smes;
233        $anno_f=(int)$sanno;
234
235        $udm=$calendario->dias_meses[(int)$mes_f]; // Último día del mes
236        if($calendario->bisiesto($anno_f) && $mes_f==2) $udm++;
237
238        $JDif=$calendario->juliana("1/".$mes_i."/".$anno_i); // calcula valor de resta para indices de fechas en tabla de memoria
239        $JDesde=0;
240        $JHasta=$calendario->juliana($udm."/".$mes_f."/".$anno_f)-$JDif;
241        $TOTfechas=""; // tabla en memoria para acumulado de horas por fecha
242        $TBfechas=""; // tabla en memoria para acumulado de horas por fecha
243
244        $cmd->texto="SELECT   SUM(horaresevfin - horaresevini) as sumahoras FROM  aulas";
245        $rs=new Recordset;
246        $rs->Comando=&$cmd;
247        if (!$rs->Abrir()) $sumahoras=0; // Error al abrir recordset
248        if(!$rs->EOF){
249                $sumahoras=$rs->campos["sumahoras"]*60;
250        }
251
252        //Recorre de fecha inicio a fecha fin
253        $anno_c=$anno_i;
254        $mes_c=$mes_i;
255
256        $cadenaXML="";
257
258        // Calcula el rango de meses dependiendo del intervalo de fechas solicitado
259        while($anno_c<=$anno_f){
260                if($anno_c==$anno_i){
261                        $mes_c=$mes_i;
262                        if($anno_f>$anno_c)
263                                $mes_t=12;
264                        else
265                                $mes_t=$mes_f;
266                }
267                else{
268                                if($anno_c>$anno_i){
269                                        if($anno_c==$anno_f){
270                                                $mes_c=1;
271                                                $mes_t=$mes_f;
272                                        }
273                                        else{
274                                                $mes_c=1;
275                                                $mes_t=12;
276                                        }
277                                }
278                }
279                $HEXanno=$calendario->numero_annos[$anno_c-2003][1];  // Primera referencia: 2004
280                $HEXmeses=0;
281                $mes_desde=$mes_c;
282                $mes_hasta=$mes_t;
283                while($mes_c<=$mes_t){
284                                $HEXmeses=$HEXmeses | $calendario->nombre_mes[(int)$mes_c][1];
285                                $mes_c++;
286                }
287                // Cadena SQL para seleccionar reservas
288                $cmd->texto="SELECT programaciones.idprogramacion, programaciones.nombrebloque,programaciones.annos, programaciones.meses, programaciones.diario, programaciones.dias, programaciones.semanas, programaciones.horasini, programaciones.ampmini, programaciones.minutosini, programaciones.horasfin, programaciones.ampmfin, programaciones.minutosfin,";
289                $cmd->texto.="trabajos.idtrabajo,tareas.idtarea,trabajos.descripcion AS nombretrabajo,tareas.descripcion AS nombretarea,";
290                $cmd->texto.="reservas.idreserva,reservas.descripcion,reservas.solicitante,reservas.email,reservas.estado,reservas.idaula,";
291                $cmd->texto.="aulas.nombreaula as nombreaula,imagenes.idimagen ,imagenes.descripcion as nombreimagen";
292                $cmd->texto.=" FROM   reservas";
293                $cmd->texto.=" INNER JOIN programaciones ON reservas.idreserva = programaciones.identificador";
294                $cmd->texto.=" LEFT OUTER JOIN  aulas ON reservas.idaula = aulas.idaula";
295                $cmd->texto.=" LEFT OUTER JOIN imagenes ON reservas.idimagen = imagenes.idimagen";
296                $cmd->texto.=" LEFT OUTER JOIN tareas ON reservas.idtarea = tareas.idtarea";
297                $cmd->texto.=" LEFT OUTER JOIN trabajos ON reservas.idtrabajo = trabajos.idtrabajo";
298                $cmd->texto.=" WHERE (programaciones.tipoaccion = ".$EJECUCION_RESERVA.") ".$ClausulaWhere ;
299                $cmd->texto.=" AND (programaciones.annos & ".$HEXanno."<>0)";
300                $cmd->texto.=" AND (programaciones.meses & ".$HEXmeses."<>0)" ;
301                $cmd->texto.=" ORDER BY programaciones.annos,programaciones.meses,";
302                $cmd->texto.="  programaciones.ampmini,programaciones.horasini,programaciones.minutosini"; ;
303
304                $AuxcadenaXML=ListaReservas($cmd,$anno_c,$mes_desde,$mes_hasta,$dia_i,$dia_f,$mes_i,$mes_f,$anno_i,$anno_f);
305
306                $cadenaXML.='<TBANNO ';
307                // Atributos           
308                $cadenaXML.=' imagenodo="../images/iconos/reloj.gif"';
309                $cadenaXML.=' clickimg="AnnoReserva('.$anno_c.');"';
310                $cadenaXML.=' infonodo="%3Cb%3E&nbsp; '.$TbMsg[15].': %3C/b%3E'.$anno_c.'"';
311                $cadenaXML.=' nodoid=anno-'.$anno_c;
312                $cadenaXML.='>';
313                        $cadenaXML.='<ANNO ';
314                        // Atributos           
315                        $cadenaXML.=' imagenodo="../images/iconos/nada.gif"';
316                        //___________________________________________________________________________
317                        $HTMLannos="<TABLE><TR>";
318                                for ($i=$mes_desde;$i<=$mes_hasta;$i++){
319                                                if($i%7==0)     $HTMLannos.="</TR><TR>";
320                                                $HTMLannos.='<TD style="BACKGROUND-COLOR:#FFFFFF" valign=top>';
321                                                $HTMLannos.=$calendario->JMesAnno($i,$anno_c,$JDif,$TOTfechas,$sumahoras);
322                                                $HTMLannos.='</TD>';
323                                }
324                        $HTMLannos.="</TR></TABLE>";
325                        //___________________________________________________________________________
326                        $cadenaXML.=' infonodo='.urlencode($HTMLannos);
327                        $cadenaXML.=' nodoid=tablameses-'.$anno_c;
328                        $cadenaXML.=' fondonodo='."#FFFFFF";
329                        $cadenaXML.='>';
330                        $cadenaXML.='</ANNO> ';
331                        $cadenaXML.=$AuxcadenaXML;
332                $cadenaXML.='</TBANNO> ';
333
334                $anno_c++;
335        }
336        return($cadenaXML);
337}
338//________________________________________________________________________________________________________
339function CriteriosBusquedas(){
340        global $idcentro;
341        global $TbMsg;
342
343        global $RESERVA_CONFIRMADA;
344        global $RESERVA_PENDIENTE;
345        global $RESERVA_DENEGADA;
346        global $LITRESERVA_CONFIRMADA;
347        global $LITRESERVA_PENDIENTE;
348        global $LITRESERVA_DENEGADA;
349
350        global $RESERVA_PARADA;  // reserva momentanemente parada
351        global $RESERVA_ACTIVA; // Reserva activa
352        global $LITRESERVA_PARADA;
353        global $LITRESERVA_ACTIVA;
354
355        global $fechainicio;
356        global $fechafin;
357       
358        global $westadoreserva;
359        global $wsituacion;
360
361        $HTMLCriterios="";
362        $HTMLCriterios.='<TABLE class=tabla_busquedas align=center border="0">'.chr(13);
363        $HTMLCriterios.='<TR HEIGHT=30>'.chr(13);
364                $HTMLCriterios.='<TD colspan=4 align="center" >'.chr(13);
365                $HTMLCriterios.='<SPAN align=center style="FONT-FAMILY: Verdana, Arial, Helvetica, sans-serif; FONT-SIZE: 11px;COLOR:#5a86b5;FONT-WEIGHT: 700;">_______________ '.$TbMsg[1].' _______________</SPAN>'.chr(13);
366                $HTMLCriterios.='</TR>'.chr(13);
367                $HTMLCriterios.='</TD>'.chr(13);
368
369        // Desplegable con los tipos de reservas
370        $HTMLCriterios.='<TR>'.chr(13);
371                $HTMLCriterios.='<TD>'.chr(13);
372                        $HTMLCriterios.='<TABLE class=tabla_standar align=center border="0">'.chr(13);
373                        $HTMLCriterios.='<TR>'.chr(13);
374                        $HTMLCriterios.='       <TH align=center>&nbsp;'.$TbMsg[2].'&nbsp;</TH>'.chr(13);
375                        $HTMLCriterios.='</TR>'.chr(13);
376                        $HTMLCriterios.='<TR>'.chr(13);
377                        $parametros=$RESERVA_CONFIRMADA."=".$LITRESERVA_CONFIRMADA.chr(13);
378                        $parametros.=$RESERVA_PENDIENTE."=".$LITRESERVA_PENDIENTE.chr(13);
379                        $parametros.=$RESERVA_DENEGADA."=".$LITRESERVA_DENEGADA;
380                        $HTMLCriterios.='<TD colspan=3>'.HTMLCTEMULSELECT($parametros,"westadoreserva",$westadoreserva,"estilodesple","chgdesplereservas",100,3).'</TD>';
381                        $HTMLCriterios.='</TR>'.chr(13);
382                        $HTMLCriterios.='</TABLE>'.chr(13);
383                $HTMLCriterios.='</TD>'.chr(13);
384        // Desplegable con los distintos situacion
385                $HTMLCriterios.='<TD>'.chr(13);
386                        $HTMLCriterios.='<TABLE class=tabla_standar align=center border="0">'.chr(13);
387                        $HTMLCriterios.='<TR>'.chr(13);
388                        $HTMLCriterios.='       <TH align=center>&nbsp;'.$TbMsg[4].'&nbsp;</TH>'.chr(13);
389                        $HTMLCriterios.='</TR>'.chr(13);
390                        $HTMLCriterios.='<TR>'.chr(13);
391                        $parametros=$RESERVA_PARADA."=".$LITRESERVA_PARADA.chr(13);
392                        $parametros.=$RESERVA_ACTIVA."=".$LITRESERVA_ACTIVA;
393                        $HTMLCriterios.='<TD colspan=3>'.HTMLCTEMULSELECT($parametros,"wsituacion",$wsituacion,"estilodesple","chgdesplesituacion",100,3).'</TD>';
394                        $HTMLCriterios.='</TR>'.chr(13);
395                        $HTMLCriterios.='</TABLE>'.chr(13);
396        $HTMLCriterios.='</TD>'.chr(13);
397
398        // Fechas
399                $HTMLCriterios.='<TD  COLSPAN=2>'.chr(13);
400                        $HTMLCriterios.='<TABLE WIDTH=100% class=tabla_standar align=center border="0">'.chr(13);
401                        $HTMLCriterios.='<TR>'.chr(13);
402                        $HTMLCriterios.='<TH>&nbsp;'.$TbMsg[7].':&nbsp;</TH>'.chr(13);
403                        $HTMLCriterios.='<TD><INPUT class="cajatexto" onclick="vertabla_calendario(this)" style="WIDTH:80" name="fechainicio" value="'.$fechainicio.'"></TD>'.chr(13);
404                        $HTMLCriterios.='</TR>'.chr(13);
405                        $HTMLCriterios.='<TR>'.chr(13);
406                        $HTMLCriterios.='<TH align=right>&nbsp;'.$TbMsg[8].':&nbsp;&nbsp;</TH>'.chr(13);
407                        $HTMLCriterios.='<TD> <INPUT class="cajatexto" onclick="vertabla_calendario(this)" style="WIDTH:80" name="fechafin" value="'.$fechafin.'"></TD>'.chr(13);
408                        $HTMLCriterios.='</TR>'.chr(13);
409                        $HTMLCriterios.='</TABLE>'.chr(13);             
410                $HTMLCriterios.='</TD>'.chr(13);
411        $HTMLCriterios.='</TR>'.chr(13);
412
413        $HTMLCriterios.='<TR height=5>'.chr(13);
414                $HTMLCriterios.='<TD colspan=4 align="center" >'.chr(13);
415                $HTMLCriterios.='<SPAN style="FONT-FAMILY: Verdana, Arial, Helvetica, sans-serif; FONT-SIZE: 11px;COLOR:#5a86b5;FONT-WEIGHT: 700;">__________________________________________________</SPAN>'.chr(13);
416        $HTMLCriterios.='</TR>'.chr(13);
417
418        // Lupa
419        $HTMLCriterios.='<TR>'.chr(13);
420                $HTMLCriterios.='<TD  COLSPAN=4>'.chr(13);
421                $HTMLCriterios.='<TABLE class=tabla_busquedas align=center border="0">'.chr(13);
422                $HTMLCriterios.='<TR>'.chr(13);
423                $HTMLCriterios.='<TD>';
424
425                $HTMLCriterios.='<IMG src="../images/iconos/busquedas.gif" onclick="javascript:fdatos.submit()" style="cursor:hand" alt="Buscar">';
426                $HTMLCriterios.='</TD>';
427                $HTMLCriterios.='<TD>';
428                $HTMLCriterios.='</TD>'.chr(13);
429                $HTMLCriterios.='</TR>'.chr(13);
430                $HTMLCriterios.='</TABLE>';
431                $HTMLCriterios.='</TD>'.chr(13);
432        $HTMLCriterios.='</TR>'.chr(13);
433$HTMLCriterios.='</TABLE>';
434return($HTMLCriterios);
435}
436//________________________________________________________________________________________________________
437function ListaReservas($cmd,$anno_c,$mes_desde,$mes_hasta,$dia_i,$dia_f,$mes_i,$mes_f,$anno_i,$anno_f){
438        global $calendario;
439        global $JDif;
440        global $TBfechas;
441        global $TOTfechas;
442        global $sumahoras;
443        global $TbMsg;
444
445        $cadenaXML="";
446
447        $udm=$calendario->dias_meses[(int)$mes_hasta]; // Último día del mes
448        if($calendario->bisiesto($anno_f) && $mes_hasta==2) $udm++;
449        $fechaminima=mktime(0, 0, 0, $mes_i, 1, $anno_i);
450        $fechamaxima=mktime(0, 0, 0, $mes_f,$udm, $anno_f);
451
452        $rs=new Recordset;
453        $rs->Comando=&$cmd;
454        if (!$rs->Abrir()) return; // Error al abrir recordset
455        $rs->Primero();
456        // Recorre reservas
457        while (!$rs->EOF){
458                $swr=false; // detecta si la reserva es válida
459                $TBfechas=""; // tabla en memoria para acumulado de horas por fecha de cada reserva
460                $cf=$calendario->Fechas($anno_c,$mes_desde,$mes_hasta,$rs->campos["meses"],$rs->campos["diario"],$rs->campos["dias"],$rs->campos["semanas"]);
461                $fechas_reservas=split(";",$cf);
462                for ($i=0;$i<sizeof($fechas_reservas)-1;$i++){
463                                list($auxdia,$auxmes,$auxanno)=split("/",$fechas_reservas[$i]);
464                                $auxfecha=mktime(0, 0, 0, $auxmes,$auxdia, $auxanno);
465                                if($auxfecha>=$fechaminima &&  $auxfecha<=$fechamaxima){
466                                        $swr=true;
467                                        $Jreserva=$calendario->juliana($fechas_reservas[$i]);
468                                        $idx=$Jreserva-$JDif;
469                                        // Cálculo de los minutos
470                                        $sOcupacion=CalculaMinutos($rs);
471                                        if (!isset($TBfechas[$idx])) $TBfechas[$idx]=0;
472                                        if (!isset($TOTfechas[$idx])) $TOTfechas[$idx]=0;
473                                        $TBfechas[$idx]+=$sOcupacion;
474                                        $TOTfechas[$idx]+=$sOcupacion;
475                                }
476                }
477                if($swr)
478                        $cadenaXML.=TomaReserva($rs,$mes_desde,$mes_hasta,$anno_c);
479                $rs->Siguiente();
480        }
481        $rs->Cerrar();
482        return($cadenaXML);
483}
484//________________________________________________________________________________________________________
485function TomaReserva($rs,$mes_desde,$mes_hasta,$anno_c){
486        global $TbMsg;
487        global $calendario;
488        global $RESERVA_CONFIRMADA;
489        global $RESERVA_PENDIENTE;
490        global $RESERVA_DENEGADA;
491        global $EJECUCION_RESERVA;
492        global $TBfechas;
493        global $sumahoras;
494        global $JDif;
495
496         $AuxcadenaXML="";
497
498        $tbimg[$RESERVA_CONFIRMADA]='../images/iconos/confirmadas.gif';
499        $tbimg[$RESERVA_PENDIENTE]='../images/iconos/pendientes.gif';
500        $tbimg[$RESERVA_DENEGADA]='../images/iconos/denegadas.gif';
501
502        $tbampm[0]="a.m.";
503        $tbampm[1]="p.m.";
504
505        // Descripción de la reserva
506        $AuxcadenaXML.='<RESERVAS ';
507        // Atributos           
508        $AuxcadenaXML.=' imagenodo="../images/iconos/reservas.gif"';
509
510        // Construye tabla de ocupación
511       
512        $AuxcadenaXML.=' infonodo="%3CIMG src='.$tbimg[$rs->campos["estado"]].'%3E&nbsp;%3Cb%3E'.$rs->campos["descripcion"].' %3C/b%3E';
513        $AuxcadenaXML.='&nbsp;(%3Cb%3E'.$TbMsg[15].":%3C/b%3E".$anno_c.')"';
514
515        $AuxcadenaXML.=' nodoid=reserva-'.$rs->campos["idreserva"];
516        $AuxcadenaXML.=' colornodo='."#000000";
517        $AuxcadenaXML.=' fondonodo='."#EEEECC;";
518        $AuxcadenaXML.='>';
519
520        $AuxcadenaXML.='<OCUPACION ';
521        // Atributos           
522        $AuxcadenaXML.=' imagenodo="../images/iconos/nada.gif"';
523        //___________________________________________________________________________
524        $HTMLannos="<TABLE><TR>";
525                for ($i=$mes_desde;$i<=$mes_hasta;$i++){
526                                if($i%7==0)     $HTMLannos.="</TR><TR>";
527                                $HTMLannos.='<TD style="BACKGROUND-COLOR:#FFFFFF" valign=top>';
528                                $HTMLannos.=$calendario->JMesAnno($i,$anno_c,$JDif,$TBfechas,$sumahoras);
529                                $HTMLannos.='</TD>';
530                }
531        $HTMLannos.="</TR></TABLE>";
532        //___________________________________________________________________________
533        $AuxcadenaXML.=' infonodo='.urlencode($HTMLannos);
534        $AuxcadenaXML.=' nodoid=opcupacion';
535        $AuxcadenaXML.=' colornodo='."#000000";
536        $AuxcadenaXML.=' fondonodo='."#FFFFFF;";
537        $AuxcadenaXML.='>';
538        $AuxcadenaXML.='</OCUPACION>';
539
540/*
541        $AuxcadenaXML.='<RESERVA ';
542                // Atributos           
543        $AuxcadenaXML.=' imagenodo="../images/iconos/carpeta.gif"';
544        $AuxcadenaXML.=' infonodo="%3Cb%3E'.$TbMsg[30].':%3C/b%3E "';
545        $AuxcadenaXML.=' nodoid=reserva';
546        $AuxcadenaXML.=' colornodo='."#000000";
547        $AuxcadenaXML.='>';
548*/
549
550// Cuestion Ocupación
551                $hexhoradesde=$rs->campos["horasini"];
552                $minutosdesde=$rs->campos["minutosini"];
553                if($minutosdesde==0) $minutosdesde="00";
554                $minutosdesde.=" ".$tbampm[$rs->campos["ampmini"]];
555                $hexhorahasta=$rs->campos["horasfin"];
556                $minutoshasta=$rs->campos["minutosfin"];
557                if($minutoshasta==0) $minutoshasta="00";
558                $minutoshasta.=" ".$tbampm[$rs->campos["ampmfin"]];
559                $cont=0;
560                while($hexhoradesde>0){
561                        $cont++;
562                        $hexhoradesde=$hexhoradesde>>1;
563                }
564                $horadesde=$cont-1;
565                $cont=0;
566                while($hexhorahasta>0){
567                        $cont++;
568                        $hexhorahasta=$hexhorahasta>>1;
569                }
570                $horahasta=$cont-1;
571
572                $mulmin=floor($minutosdesde/15);
573                $currentminutos=$mulmin*15;
574                $CntDia[(int)$rs->campos["ampmini"]][(int)$horadesde][(int)$currentminutos]=1;
575                $mulmin=floor($minutoshasta/15);
576                $currentminutos=$mulmin*15;
577                $CntDia[(int)$rs->campos["ampmfin"]][(int)$horahasta][(int)$currentminutos]=0;
578
579                $AuxcadenaXML.='<OCUPACION ';
580                // Atributos           
581                $AuxcadenaXML.=' imagenodo="../images/iconos/reloj.gif"';
582                $AuxcadenaXML.=' infonodo="%3Cb%3E'.$TbMsg[19].':%3C/b%3E '.$horadesde.":".$minutosdesde." - ".$horahasta.":".$minutoshasta.'"';
583                $AuxcadenaXML.=' nodoid=opcupacion-'.$horadesde.":".$minutosdesde." - ".$horahasta.":".$minutoshasta;
584                $AuxcadenaXML.=' colornodo='."#000000";
585                $AuxcadenaXML.=' fondonodo='."#FBECFA;";
586                $AuxcadenaXML.='>';
587                $AuxcadenaXML.='</OCUPACION>';
588
589                $idaula=$rs->campos["idaula"];
590                $nombreaula=$rs->campos["nombreaula"];
591                $AuxcadenaXML.='<AULA ';
592                        // Atributos           
593                $AuxcadenaXML.=' imagenodo="../images/iconos/aula.gif"';
594                $AuxcadenaXML.=' infonodo="%3Cb%3E'.$TbMsg[24].':%3C/b%3E '.$nombreaula.'"';;
595                $AuxcadenaXML.=' nodoid=aula-'.$rs->campos["idaula"];
596                $AuxcadenaXML.=' colornodo='."#000000";
597                $AuxcadenaXML.=' fondonodo='."#FBECFA;";
598                $AuxcadenaXML.='>';
599                $AuxcadenaXML.='</AULA>';
600
601                $nombreimagen=$rs->campos["nombreimagen"];
602                if(empty($nombreimagen) ) $nombreimagen=$TbMsg[23];
603                // Descripción de la imagen a restaurar
604                $AuxcadenaXML.='<IMAGEN ';
605                // Atributos           
606                $AuxcadenaXML.=' imagenodo="../images/iconos/imagenes.gif"';
607                $AuxcadenaXML.=' infonodo="%3Cb%3E'.$TbMsg[20].':  %3C/b%3E'.$nombreimagen.'"';
608                $AuxcadenaXML.=' nodoid=imagen-'.$rs->campos["idimagen"];
609                $AuxcadenaXML.=' colornodo='."#000000";
610                $AuxcadenaXML.=' fondonodo='."#FBECFA;";
611                $AuxcadenaXML.='>';
612                $AuxcadenaXML.='</IMAGEN>';
613
614                $nombretarea=$rs->campos["nombretarea"];
615                if(!empty($nombretarea) ){
616                        // Descripción de la tarea a restaurar
617                        $AuxcadenaXML.='<TAREA ';
618                        // Atributos           
619                        $AuxcadenaXML.=' imagenodo="../images/iconos/tareas.gif"';
620                        $AuxcadenaXML.=' infonodo="%3Cb%3E'.$TbMsg[28].':  %3C/b%3E'.$nombretarea.'"';
621                        $AuxcadenaXML.=' nodoid=tarea-'.$rs->campos["idtarea"];
622                        $AuxcadenaXML.=' colornodo='."#000000";
623                        $AuxcadenaXML.=' fondonodo='."#FBECFA;";
624                        $AuxcadenaXML.='>';
625                        $AuxcadenaXML.='</TAREA>';
626                }
627                $nombretrabajo=$rs->campos["nombretrabajo"];
628                if(!empty($nombretrabajo) ){
629                        // Descripción del  trabajo a restaurar
630                        $AuxcadenaXML.='<TRABAJO ';
631                        // Atributos           
632                        $AuxcadenaXML.=' imagenodo="../images/iconos/trabajos.gif"';
633                        $AuxcadenaXML.=' infonodo="%3Cb%3E'.$TbMsg[29].':  %3C/b%3E'.$nombretrabajo.'"';
634                        $AuxcadenaXML.=' nodoid=trabajo-'.$rs->campos["idtrabajo"];
635                        $AuxcadenaXML.=' colornodo='."#000000";
636                        $AuxcadenaXML.=' fondonodo='."#FBECFA;";
637                        $AuxcadenaXML.='>';
638                        $AuxcadenaXML.='</TRABAJO>';
639                }
640                $AuxcadenaXML.='<EMAIL ';
641                // Atributos           
642                $AuxcadenaXML.=' imagenodo="../images/iconos/email.gif"';
643                $AuxcadenaXML.=' infonodo="%3Cb%3E'.$TbMsg[25].':%3C/b%3E&nbsp;'.$rs->campos["solicitante"].' &nbsp;(%3CA href=mailto:'.$rs->campos["email"].'%3E'.$rs->campos["email"].'%3C/A%3E)"';
644                $AuxcadenaXML.=' nodoid=email-'.$idaula;
645                $AuxcadenaXML.=' colornodo='."#000000";
646                $AuxcadenaXML.=' fondonodo='."#FBECFA;";
647                $AuxcadenaXML.='>';
648                $AuxcadenaXML.='</EMAIL>';
649
650
651        //$AuxcadenaXML.='</RESERVA> ';
652        $AuxcadenaXML.='</RESERVAS>';
653        return($AuxcadenaXML);
654}
655//________________________________________________________________________________________________________
656function CalculaMinutos($rs){
657        $hexhoradesde=$rs->campos["horasini"];
658        $hexhorahasta=$rs->campos["horasfin"];
659        $cont=0;
660        while($hexhoradesde>0){
661                $cont++;
662                $hexhoradesde=$hexhoradesde>>1;
663        }
664        $shorasini=$cont-1;
665        $cont=0;
666        while($hexhorahasta>0){
667                $cont++;
668                $hexhorahasta=$hexhorahasta>>1;
669        }
670        $shorasfin=$cont-1;
671        $sminutosini=$rs->campos["minutosini"];
672        $sminutosfin=$rs->campos["minutosfin"];
673        if($rs->campos["ampmini"]==1) $shorasini+=12;
674        if($rs->campos["ampmfin"]==1) $shorasfin+=12;
675        $socupacion=($shorasfin-$shorasini)*60+($sminutosfin-$sminutosini);
676        return($socupacion);
677}
678//________________________________________________________________________________________________________
679function RecorreGruposReservas($cmd){
680        global $AMBITO_GRUPOSRESERVAS;
681        global $LITAMBITO_GRUPOSRESERVAS;
682
683        $rs=new Recordset;
684        $rs->Comando=&$cmd;
685        if (!$rs->Abrir()) return; // Error al abrir recordset
686        $rs->Primero();
687        while (!$rs->EOF){
688                $idgrupo=$rs->campos["idgrupo"];
689                $cmd->texto="SELECT idgrupo FROM grupos WHERE grupoid=".$idgrupo ." AND tipo=".$AMBITO_GRUPOSRESERVAS;
690                RecorreGruposReservas($cmd);
691                $cmd->texto="SELECT idreserva FROM reservas WHERE  grupoid=".$idgrupo;
692                RecorreReservas($cmd);
693                $rs->Siguiente();
694        }
695        $rs->Cerrar();
696}
697//________________________________________________________________________________________________________
698function RecorreReservas($cmd){
699        global $AMBITO_RESERVAS;
700        global $LITAMBITO_RESERVAS;
701        global $cadenareservas;
702
703        $rs=new Recordset;
704        $rs->Comando=&$cmd;
705        if (!$rs->Abrir()) return; // Error al abrir recordset
706        $rs->Primero();
707        while (!$rs->EOF){
708                $idreserva=$rs->campos["idreserva"];
709                $cadenareservas.=$idreserva.",";
710                $rs->Siguiente();
711        }
712        $rs->Cerrar();
713}
714?>
Note: See TracBrowser for help on using the repository browser.