source: admin/WebConsole/idiomas/php/cat/clases/Calendario_cat.php @ 313ec31

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 313ec31 was d358d08, checked in by jalonso <jonathan.alonso@…>, 12 years ago

Traducción de los archivos de las carpetas clases y comandos al catalan.

git-svn-id: https://opengnsys.es/svn/branches/version1.0@3752 a21b9725-9963-47de-94b9-378ad31fedc9

  • Property mode set to 100644
File size: 19.1 KB
Line 
1        <?
2/*========================================================================================================
3        Esta clase genera tablas HTML para selección de fechas (Versión inglesa)
4       
5        Atributos de la clase:
6
7                clase: Clase [CSS] de la tabla HTML que se generará.
8                onmouseover: Función Javascript que se ejuctará al generarse el evento
9                onmouseout: Función Javascript que se ejuctará al generarse el evento
10                onclick: Función Javascript que se ejuctará al hacer click sobre el objeto
11
12=========================================================================================================*/
13class Calendario{
14        var $aula;
15        var $horaresevini;
16        var $horaresevfin;
17        var $clase ;
18        var $onmouseover;
19        var $onmouseout;
20        var $onclick;
21
22        var $desplazamiento_dias=6; // Ajuste fino dependiendo del año de comienzo del algoritmo
23        var $nombre_mes=array();
24        var $nombre_dia=array();
25        var $dias_meses=array();
26
27        function Calendario($pclase="",$ponmouseover="sobre(this)",$ponmouseout="fuera(this)",$ponclick="clic(this)"){ //Constructor
28                $this->clase=$pclase;
29                $this->onmouseover=$ponmouseover;
30                $this->onmouseout=$ponmouseout;
31                $this->onclick=$ponclick;
32               
33                $this->nombre_mes[1]=array ("Gener",0x0001);
34                $this->nombre_mes[2]=array ("Febrer",0x0002);
35                $this->nombre_mes[3]=array ("Març",0x0004);
36                $this->nombre_mes[4]=array ("Abril",0x0008);
37                $this->nombre_mes[5]=array ("Maig",0x0010);
38                $this->nombre_mes[6]=array ("Juny",0x0020);
39                $this->nombre_mes[7]=array ("Juliol",0x0040);
40                $this->nombre_mes[8]=array ("Agost",0x0080);
41                $this->nombre_mes[9]=array ("Setembre",0x0100);
42                $this->nombre_mes[10]=array ("Octubre",0x0200);
43                $this->nombre_mes[11]=array ("Novembre",0x0400);
44                $this->nombre_mes[12]=array ("Decembre",0x0800);
45
46                $this->numero_annos[1]=array ("2004",0x01); // tamaño 1 bytes
47                $this->numero_annos[2]=array ("2005",0x02);
48                $this->numero_annos[3]=array ("2006",0x04);
49                $this->numero_annos[4]=array ("2007",0x08);
50                $this->numero_annos[5]=array ("2008",0x10);
51                $this->numero_annos[6]=array ("2009",0x20);
52                $this->numero_annos[7]=array ("2010",0x40);
53                $this->numero_annos[8]=array ("2011",0x80);
54
55                $this->dias_meses[1]=31;
56                $this->dias_meses[2]=28;
57                $this->dias_meses[3]=31;
58                $this->dias_meses[4]=30;
59                $this->dias_meses[5]=31;
60                $this->dias_meses[6]=30;
61                $this->dias_meses[7]=31;
62                $this->dias_meses[8]=31;
63                $this->dias_meses[9]=30;
64                $this->dias_meses[10]=31;
65                $this->dias_meses[11]=30;
66                $this->dias_meses[12]=31;
67
68                $this->nombre_dia[1]=array ("DL",0x01); // tamaño 1 bytes
69                $this->nombre_dia[2]=array ("DM",0x02);
70                $this->nombre_dia[3]=array ("DC",0x04);
71                $this->nombre_dia[4]=array ("DJ",0x08);
72                $this->nombre_dia[5]=array ("DV",0x10);
73                $this->nombre_dia[6]=array ("DS",0x20);
74                $this->nombre_dia[7]=array ("DG",0x40);
75        }
76/*________________________________________________________________________________________________________
77                Esta función devuelve una cadena con el código HTML del calendario del mes y año elegidos
78                y que son propiedades de la clase.
79________________________________________________________________________________________________________*/
80        function MesAnno($mes,$anno,$CntMes){
81                $fecha="1/".$mes."/".$anno;
82                $ds=$this->_DiaSemana($fecha);
83                if ($ds==0) $ds=7;
84                $paso=2; // Porporción para el la intensidad del color
85                $swbi=0; // Suma para bisiesto
86                if ($this->bisiesto($anno) && $mes==2)  $swbi=1;
87
88                $HTML_calendario='<TABLE  border=1 cellspacing=0 cellpadding=1 id="tabla_mesanno" class="'.$this->clase.'">'.chr(13);
89                $HTML_calendario.='<TR>'.chr(13);
90                $HTML_calendario.='<TH colspan=7 id="'.$mes.'/'.$anno.'" value="'.$this->aula.'" style="cursor:hand" onclick="TH_'.$this->onclick.'">'.$this->nombre_mes[$mes][0].'</TH></TR>'.chr(13); // Nombre del mes
91                $HTML_calendario.='<TR>'.chr(13);
92                for ($i=1;$i<8;$i++)
93                        $HTML_calendario.='<TH>'.$this->nombre_dia[$i][0].'</TH>'.chr(13); // Días de la semana
94                $HTML_calendario.='</TR><TR>'.chr(13);
95                for ($i=1;$i<$ds;$i++)
96                        $HTML_calendario.='<TD>&nbsp;</TD>'.chr(13); // Relleno primeros dias de la semana
97                $sm=$ds; // Control salto de semana
98                for ($i=1;$i<=$this->dias_meses[$mes]+$swbi;$i++){
99                        $HTML_calendario.='<TD align=center ';
100                        if(isset($CntMes[$i])){
101                                if($CntMes[$i]>0){
102                                        $itcr=255;
103                                        $itc=240-($CntMes[$i]*$paso);
104                                        if($CntMes[$i]>=50)
105                                                $colordia="#FFFFFF";
106                                        else
107                                                $colordia="#000000";
108
109                                        $bgcolordia=sprintf('#%02x%02x%02x',$itcr,$itc,$itc);
110                                        $HTML_calendario.=' style="COLOR:'.$colordia.';BACKGROUND-COLOR: '.$bgcolordia.';"';
111                                        $HTML_calendario.=' id="'.$i.'/'.$mes.'/'.$anno.'" value="'.$this->aula.'" style="cursor:hand" onmouseover="'.$this->onmouseover.'" onmouseout="'.$this->onmouseout.'" onclick="'.$this->onclick.'"';
112                                }
113                        }
114                        $HTML_calendario.='>'.$i.'</TD>'.chr(13);
115                        if ($sm%7==0){
116                                $HTML_calendario.='</TR><TR>'.chr(13);
117                                $sm=0;
118                        }
119                        $sm++;
120                }
121                $HTML_calendario.='</TR></TABLE>'.chr(13);
122                return($HTML_calendario);
123        }
124
125/*________________________________________________________________________________________________________
126                Esta función devuelve una cadena con el código HTML del calendario del mes y año elegidos
127                y que son propiedades de la clase.
128________________________________________________________________________________________________________*/
129        function JMesAnno($mes,$anno,$JDif,$TBfechas,$sumahoras){
130                $fecha="1/".$mes."/".$anno;
131                $Jdpl=$this->juliana($fecha)-$JDif; // Calcula punto departida para indice juliano
132                $ds=$this->_DiaSemana($fecha);
133                if ($ds==0) $ds=7;
134                $paso=2; // Porporción para el la intensidad del color
135                $swbi=0; // Suma para bisiesto
136                if ($this->bisiesto($anno) && $mes==2)  $swbi=1;
137                $HTML_calendario='<TABLE  border=1 cellspacing=0 cellpadding=1 id="tabla_mesanno" class="'.$this->clase.'">'.chr(13);
138                $HTML_calendario.='<TR>'.chr(13);
139                $HTML_calendario.='<TH colspan=7 id="'.$mes.'/'.$anno.'"  style="cursor:hand" onclick="TH_'.$this->onclick.'">'.$this->nombre_mes[(int)$mes][0].'</TH></TR>'.chr(13); // Nombre del mes
140                $HTML_calendario.='<TR>'.chr(13);
141                for ($i=1;$i<8;$i++)
142                        $HTML_calendario.='<TH>'.$this->nombre_dia[$i][0].'</TH>'.chr(13); // Días de la semana
143                $HTML_calendario.='</TR><TR>'.chr(13);
144                for ($i=1;$i<$ds;$i++)
145                        $HTML_calendario.='<TD>&nbsp;</TD>'.chr(13); // Relleno primeros dias de la semana
146                $sm=$ds; // Control salto de semana
147                for ($i=1;$i<=$this->dias_meses[(int)$mes]+$swbi;$i++){
148                        $HTML_calendario.='<TD align=center ';
149                        if(isset($TBfechas[$Jdpl])){
150                                if($TBfechas[$Jdpl]>0){
151                                        $xpor=$TBfechas[$Jdpl]*100/$sumahoras;
152                                        $itcr=255;
153                                        $itc=240-($xpor*$paso);
154                                        if($xpor>=50)
155                                                $colordia="#FFFFFF";
156                                        else
157                                                $colordia="#000000";
158
159                                        $bgcolordia=sprintf('#%02x%02x%02x',$itcr,$itc,$itc);
160                                        $HTML_calendario.=' style="COLOR:'.$colordia.';BACKGROUND-COLOR: '.$bgcolordia.';"';
161                                        $HTML_calendario.=' id="'.$i.'/'.$mes.'/'.$anno.'" value="'.$this->aula.'" style="cursor:hand" onmouseover="'.$this->onmouseover.'" onmouseout="'.$this->onmouseout.'" onclick="'.$this->onclick.'"';
162                                }
163                        }
164                        $HTML_calendario.='>'.$i.'</TD>'.chr(13);
165                        if ($sm%7==0){
166                                $HTML_calendario.='</TR><TR>'.chr(13);
167                                $sm=0;
168                        }
169                        $sm++;
170                        $Jdpl++;
171                }
172                $HTML_calendario.='</TR></TABLE>'.chr(13);
173                return($HTML_calendario);
174        }
175
176/*________________________________________________________________________________________________________
177                Esta función devuelve el número del día de la semana:
178                        0=domingo 1=Lunes, 2=mártes ... 6=sábado
179               
180                Parámetro de entrada:
181                        Una cadena con formato de fecha dd/mm/aaaa.
182________________________________________________________________________________________________________*/
183        function _DiaSemana($fecha){
184                list($dia,$mes,$anno)=split('[/.-]',$fecha);
185                $cont=0;
186                for ($i=1900;$i<$anno;$i++){
187                        if ($this->bisiesto($i)) $dias_anuales=366; else        $dias_anuales=365;
188                        $cont+=$dias_anuales;
189                }
190                for ($i=1;$i<$mes;$i++){
191                        if ($i!=2)
192                                $cont+=$this->dias_meses[$i];
193                        else{
194                                if ($this->bisiesto($anno))
195                                        $cont+=29;
196                                else
197                                        $cont+=28;
198                        }
199                }
200                $cont+=$dia+$this->desplazamiento_dias;
201                return($cont%7);
202        }
203//________________________________________________________________________________________________________
204//              Esta función devuelve true si el año pasado como parámetro es bisiesto y false si no lo es
205//
206//              Parámetro de entrada:
207//                      Una número que representa el año
208//________________________________________________________________________________________________________
209function bisiesto($anob){
210                if ($anob%4==0) return(true); else return(false);
211        }
212//________________________________________________________________________________________________________
213//              Esta función devuelve una cadena con el código HTML con las horas de reservas de las aulas
214//________________________________________________________________________________________________________
215function HorasDias($CntDia,&$porcenhoras){
216        $HTML_calendario="";
217        $sw=0;
218        $conthoras=0; // Contador de horas y minutos de reservas
219        $maxcolumnas=8;
220        $tbampm[0]="a.m.";
221        $tbampm[1]="p.m.";
222
223        $HTML_calendario.='<TABLE   border=0 cellspacing=0 cellpadding=0  id="tabla_horas" class="'.$this->clase.'">'.chr(13);
224        $HTML_calendario.='<TR>'.chr(13);
225        $HTML_calendario.='<TH colspan=3>Horas</TH></TR>'.chr(13); // Literal Horas
226        $HTML_calendario.='<TR>'.chr(13);
227        $HTML_ampm[0]="";
228        $HTML_ampm[1]="";
229        $swampm[0]=false;
230        $swampm[1]=false;
231
232        if($this->horaresevini<12) $ix=0; else $ix=1;
233        for($j=$ix;$j<=1;$j++){
234                $HTML_ampm[$j].='<TD style="BACKGROUND-COLOR: #FFFFFF;" valig=top >'.chr(13);
235                $HTML_ampm[$j].='<TABLE valig=top cellspacing=0 cellpadding=0  border=1  class="'.$this->clase.'">'.chr(13);
236                $HTML_ampm[$j].='<TR>'.chr(13);
237                $HTML_ampm[$j].='<TH colspan='.$maxcolumnas.'>'.$tbampm[$j].'</TH></TR>'.chr(13); // Literal Horas
238                $HTML_ampm[$j].='<TR>'.chr(13);
239
240                if($j==0){ // A.M.height
241                        $imin=$this->horaresevini;
242                        $currenthora=$imin;
243                        if($this->horaresevfin<=12)
244                                $imax=$this->horaresevfin;
245                        else
246                                $imax=12;
247                }
248                else{
249                                if($this->horaresevini<=12)
250                                        $imin=0;
251                                else
252                                        $imin=$this->horaresevini-12;
253                                $imax=(int)$this->horaresevfin-12;
254                                $currenthora=$imin;
255                }
256                $cols=0;
257                $currentminutos=0;
258                $currenthorario=$currenthora.":".$currentminutos;
259                $intervalo=($imax-$imin+1)*4;
260                for ($i=$imin;$i<$intervalo;$i++){
261                                $cols++;
262                                if($sw>0) // Acarre la reserva desde A.M.
263                                        $swampm[$j]=true;
264
265                                if($currentminutos==0) $currenthorario.="0";
266                                if(isset($CntDia[$j][$currenthora][$currentminutos])){
267                                        if($CntDia[$j][$currenthora][$currentminutos]==1)
268                                                $sw++;
269                                                $swampm[$j]=true;
270                                }
271                                if(isset($CntDia[$j][$currenthora][$currentminutos])){
272                                        if($CntDia[$j][$currenthora][$currentminutos]==0)
273                                                $sw--;
274                                }
275                                $HTML_ampm[$j].='<TD ';
276                                if($sw>0)
277                                        $HTML_ampm[$j].=' style="COLOR:#eeeeee;BACKGROUND-COLOR: #cc3366"';
278
279                                if($sw>0) // Cuenta la fracción de 15 minutos como reservada
280                                        $conthoras++;
281                                $HTML_ampm[$j].=' align=center>&nbsp;'.$currenthorario.'&nbsp;</TD>'.chr(13);
282                                $currentminutos+=15;
283                                if($currentminutos==60) {
284                                        $currenthora++;
285                                        $currentminutos=0;
286                                }
287                                $currenthorario=$currenthora.":".$currentminutos;
288                                if (($cols)%$maxcolumnas==0 ) $HTML_ampm[$j].='</TR><TR>'.chr(13);
289                        }
290                $HTML_ampm[$j].='</TR></TABLE>'.chr(13);
291                $HTML_ampm[$j].='</TD>'.chr(13);
292        }
293
294        if ($swampm[0])
295                        $HTML_calendario.=$HTML_ampm[0];
296
297        if ($swampm[0] && $swampm[1]){
298                $HTML_calendario.='<TD style="BACKGROUND-COLOR: #FFFFFF;" width=25>&nbsp;'.chr(13);
299                $HTML_calendario.='</TD>'.chr(13);
300        }
301
302        if ($swampm[1])
303                        $HTML_calendario.=$HTML_ampm[1];
304
305        $HTML_calendario.='</TR>'.chr(13);
306        $HTML_calendario.='</TABLE>'.chr(13);
307
308        $numblo=($this->horaresevfin-$this->horaresevini)*4;
309        if($numblo>0)
310                $porcenhoras=floor($conthoras*100/$numblo);
311        else
312                $porcenhoras=100;
313        return($HTML_calendario);
314}       
315/* -----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------
316                Esta función devuelve una cadena con el código HTML con las horas de apertura de las aulas
317________________________________________________________________________________________________________*/
318function Horas_Completas(){
319                $maxcolumnas=8;
320
321                $HTML_calendario='<TABLE id="tabla_horas" class="'.$this->clase.'">'.chr(13);
322                $HTML_calendario.='<TR>'.chr(13);
323                $HTML_calendario.='<TH colspan='.$maxcolumnas.'>Horas</TH></TR>'.chr(13); // Literal Horas
324                $HTML_calendario.='<TR>'.chr(13);
325                for ($i=1;$i<25;$i++){
326                        $HTML_calendario.='<TD align=center id="'.$i.'"  style="cursor:hand" onmouseover="'.$this->onmouseover.'" onmouseout="'.$this->onmouseout.'" onclick="'.$this->onclick.'">'.$i.'</TD>'.chr(13);
327                        if (($i)%$maxcolumnas==0) $HTML_calendario.='</TR><TR>'.chr(13);
328                }
329        $HTML_calendario.='</TR></TABLE>'.chr(13);
330        return($HTML_calendario);
331}
332/* -----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------
333                Esta función devuelve una cadena con el código HTML con las intensidades para las reservas de un día
334________________________________________________________________________________________________________*/
335function TablaIntensidades(){
336                $HTML_calendario='<TABLE id="tabla_intensidad border=1class="'.$this->clase.'">'.chr(13);
337                $HTML_calendario.='<TR>'.chr(13);
338                $itcr=255;
339                for($i=0;$i<=100;$i+=8){
340                        $HTML_calendario.='<TD height=10 width=20'.chr(13);
341                        $itc=240-($i*2);
342                        if($i>=50)
343                                        $colordia="#FFFFFF";
344                                else
345                                        $colordia="#000000";
346                        $bgcolordia=sprintf('#%02x%02x%02x',$itcr,$itc,$itc);
347                        $HTML_calendario.=' style="COLOR:'.$colordia.';BACKGROUND-COLOR: '.$bgcolordia.';">';
348                        //$HTML_calendario.=$i.' %';
349                        $HTML_calendario.='</TD>'.chr(13);
350                }
351        $HTML_calendario.='</TR></TABLE>'.chr(13);
352        return($HTML_calendario);
353}
354
355/* --------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------
356        Devuelve una cadena con los días del mes que son  lunes(1) o martes(2) o miércoles(3), etc ...domingo(7) separada por comas
357________________________________________________________________________________________________________________*/
358function DiasPorMes($mes,$anno,$numerodia){
359        $cadenadias="";
360                $dia_c=1;
361                $fecha=$dia_c."/".$mes."/".$anno;
362                $ds=$this->_DiaSemana($fecha);
363                if ($ds==0) $ds=7;
364                while($ds!=$numerodia){
365                        $dia_c++;
366                        $ds++;
367                        if($ds>7) $ds=1;
368                }
369                // Calcula número de dias del mes
370                $diasmaxmes=$this->dias_meses[$mes];
371                if ($mes==2){
372                        if ($this->bisiesto($anno)){
373                                        $diasmaxmes=29;
374                        }
375                }
376                while($dia_c<=$diasmaxmes){
377                        $cadenadias.=$dia_c.";";
378                        $dia_c+=7;
379                }
380                return($cadenadias);
381}
382/*________________________________________________________________________________________________________
383        Devuelve una cadena con los días del mes correspondiente a una semana concreta, separados por coma
384________________________________________________________________________________________________________*/
385function DiasPorSemanas($mes,$anno,$numerosemana){
386        $cadenadias="";
387                $dia_c=1;
388                $nsem=1;
389                $fecha=$dia_c."/".$mes."/".$anno;
390                $ds=$this->_DiaSemana($fecha);
391                if ($ds==0) $ds=7;
392                while($nsem!=$numerosemana){
393                        $dia_c++;
394                        $ds++;
395                        if($ds>7){
396                                $ds=1;
397                                $nsem++;
398                        }
399                }
400                // Calcula número de dias del mes
401                $diasmaxmes=$this->dias_meses[$mes];
402                if ($mes==2){
403                        if ($this->bisiesto($anno)){
404                                        $diasmaxmes=29;
405                        }
406                }
407                for($i=$ds;$i<=5;$i++){
408                        if($dia_c>$diasmaxmes) break;
409                        $cadenadias.=$dia_c.";";
410                        $dia_c++;
411                }
412                return($cadenadias);
413}
414// ____________________________________________________________________________
415//      Esta función devuelve el número de la última semana de un mes
416// ____________________________________________________________________________
417function UltimaSemana($mes,$anno){
418        $diasmaxmes=$this->dias_meses[$mes];
419        if ($mes==2){
420                if ($this->bisiesto($anno)){
421                                $diasmaxmes=29;
422                }
423        }
424        $fecha="1/".$mes."/".$anno;
425        $ds=$this->_DiaSemana($fecha);
426        if ($ds==0) $ds=7;
427        $nwdia=$diasmaxmes+$ds-1;
428        $cociente=floor($nwdia/7);
429        $resto=$nwdia%7;
430        if($resto>0) $cociente++;
431        return($cociente);
432}
433//________________________________________________________________________________________________________
434// Función : Fechas
435// Descripción :
436//              Devuelve una cadena de fechas separada por comas que son  las fechas que forman parte de una reserva concreta
437//      Parametros:
438//              - anno_c: Un año determinado
439//              - mes_desde: El mes desde que se considera la reserva
440//              - mes_hasta: El mes hasta que se considera la reserva
441//              - meses: Campo con información hexadecimal de los meses de la reserva ( la información contenida en el campo de la tabla con este nombre
442//              - diario:  Idem para los dias de un mes
443//              - dias: idem para los nombres de los días
444//              - semanas: Idem para las semanas
445//________________________________________________________________________________________________________
446function Fechas($anno_c,$mes_desde,$mes_hasta,$meses,$diario,$dias,$semanas){
447        $cadenafechas="";
448        $mascara=0x0001;
449        $cadenameses="";
450        $meses=$meses>>($mes_desde-1);
451        for($i=$mes_desde;$i<=$mes_hasta;$i++){
452                if($meses&$mascara>0){
453                        $cadenameses.=$i.";";
454                        // Dias de la semana
455                        if($dias>0){
456                                $auxdias=$dias;
457                                for($j=1;$j<=7;$j++){
458                                        if($auxdias&$mascara>0){
459                                                $cadenadias=$this->DiasPorMes($i,$anno_c,$j);
460                                                $tbdias=split(";",$cadenadias);
461                                                for ($k=0;$k<sizeof($tbdias)-1;$k++)
462                                                        $cadenafechas.=$tbdias[$k]."/".$i."/".$anno_c.";";
463                                        }
464                                        $auxdias=$auxdias>>1;
465                                }
466                        }
467                        // Semanas
468                        if($semanas>0){
469                                $auxsemanas=$semanas;
470                                for($j=1;$j<=6;$j++){
471                                        if($auxsemanas&$mascara>0){
472                                                if($j==6){
473                                                        $ulse=$this->UltimaSemana($i,$anno_c);
474                                                        $cadenadias=$this->DiasPorSemanas($i,$anno_c,$ulse);
475                                                }
476                                                else
477                                                        $cadenadias=$this->DiasPorSemanas($i,$anno_c,$j);
478                                                $tbdias=split(";",$cadenadias);
479                                                for ($k=0;$k<sizeof($tbdias)-1;$k++)
480                                                        $cadenafechas.=$tbdias[$k]."/".$i."/".$anno_c.";";
481                                        }
482                                        $auxsemanas=$auxsemanas>>1;
483                                }
484                        }
485                }
486                $meses=$meses>>1;
487        }
488        $cadenadiario="";
489        for($i=1;$i<32;$i++){
490                        if($diario&$mascara>0) $cadenadiario.=$i.";";
491                        $diario=$diario>>1;
492        }
493        $tbmeses=split(";",$cadenameses);
494        $tbdiario=split(";",$cadenadiario);
495        for ($i=0;$i<sizeof($tbmeses)-1;$i++){
496                for ($j=0;$j<sizeof($tbdiario)-1;$j++){
497                        $cadenafechas.=$tbdiario[$j]."/".$tbmeses[$i]."/".$anno_c.";";
498                }
499        }
500        return($cadenafechas);
501}
502/*______________________________________________________________________
503        Devuelve el dia juliano de una fecha determinada
504        Parametros:
505                - cadena con la fecha en formato "dd/mm/aaaa"
506        Devuelve:
507                - El dia juliano
508_______________________________________________________________________*/
509function juliana($fecha) {
510        list($dia,$mes,$anno)=split("[/-]",$fecha);
511        $GGG = 1;
512    if ($anno <= 1585) $GGG = 0;
513    $juliano= -1 * floor(7 * (floor(($mes + 9) / 12) + $anno) / 4);
514    $S = 1;
515    if (($mes - 9)<0) $S=-1;
516    $A = abs($mes - 9);
517    $auxjuliano = floor($anno + $S * floor($A / 7));
518    $auxjuliano = -1 * floor((floor($auxjuliano / 100) + 1) * 3 / 4);
519    $juliano = $juliano + floor(275 * $mes / 9) + $dia + ($GGG * $auxjuliano);
520        $juliano =$juliano + 1721027 + 2 * $GGG + 367 * $anno - 0.5;
521        return(floor($juliano));
522}
523} // Fin de la clase Calendario
Note: See TracBrowser for help on using the repository browser.