xssFilterHard($_GET); $ARR_MONTHS = array ( "January", "February", "March", "April", "May", "June", "July", "August", "September", "October", "November", "December"); $ARR_WEEKDAYS = array ( "Su", "Mo", "Tu", "We", "Th", "Fr", "Sa" ); $NUM_WEEKSTART = 1; //day week starts from (normally 0-Su or 1-Mo) $STR_ICONPATH = '/controls/'; $prevYear = $STR_ICONPATH . 'prev_year.gif'; $prevMonth = $STR_ICONPATH . 'prev.gif'; $nextMonth = $STR_ICONPATH . 'next.gif'; $nextYear = $STR_ICONPATH . 'next_year.gif'; if ( isset ( $_GET['v'] ) && $_GET['v'] != '' ) { $dt_value = $_GET['v']; $dt_aux = explode ( '-', $dt_value ); $dt_valueDay = $dt_aux[2]; $dt_valueMonth = $dt_aux[1]; $dt_valueYear = $dt_aux[0]; } else $dt_value = ''; if ( isset ( $_GET['d'] ) ) { $dt_current = $_GET['d']; $dt_aux = explode ( '-', $dt_current ); $dt_currentDay = $dt_aux[2]; $dt_currentMonth = $dt_aux[1]; $dt_currentYear = $dt_aux[0]; if ($dt_currentYear=='0000') $dt_currentYear = date ('Y'); if ($dt_currentMonth=='00') $dt_currentMonth = date ('m'); if ($dt_currentDay=='00') $dt_currentDay = date ('d'); } else { $dt_current = date('Y-m-d'); $dt_currentDay = date ('d'); $dt_currentMonth = date ('m'); $dt_currentYear = date ('Y'); } if ( isset ( $_GET['min'] ) && $_GET['min'] != '' ) { $dtmin_value = $_GET['min']; $dtmin_aux = explode ( '-', $dtmin_value ); $dtmin_valueDay = $dtmin_aux[2]; $dtmin_valueMonth = $dtmin_aux[1]; $dtmin_valueYear = $dtmin_aux[0]; } else $dtmin_value = date('Y-m-d', mktime ( 0,0,0, $dt_currentMonth, $dt_currentDay,$dt_currentYear +4 )); if ( isset ( $_GET['max'] ) && $_GET['max'] != '') { $dtmax_value = $_GET['max']; $dtmax_aux = explode ( '-', $dtmax_value ); $dtmax_valueDay = $dtmax_aux[2]; $dtmax_valueMonth = $dtmax_aux[1]; $dtmax_valueYear = $dtmax_aux[0]; } else $dtmax_value = date('Y-m-d', mktime ( 0,0,0, $dt_currentMonth, $dt_currentDay,$dt_currentYear -4 )); $dt_prev_year = date('Y-m-d', mktime ( 0,0,0, $dt_currentMonth, $dt_currentDay,$dt_currentYear -1 )); $dt_next_year = date('Y-m-d', mktime ( 0,0,0, $dt_currentMonth, $dt_currentDay,$dt_currentYear +1 )); $dt_prev_month = date('Y-m-d', mktime ( 0,0,0, $dt_currentMonth-1,$dt_currentDay,$dt_currentYear ) ); $dt_next_month = date('Y-m-d', mktime ( 0,0,0, $dt_currentMonth+1,$dt_currentDay,$dt_currentYear ) ); // get first day to display in the grid for current month //$dt_firstday = date(); // print date ( 'W' ); $i = 0; $start_date = mktime ( 0,0,0, $dt_currentMonth, 1 - $i, $dt_currentYear ) ; while ( date('w', $start_date) != $NUM_WEEKSTART ) { $i++; $start_date = mktime ( 0,0,0, $dt_currentMonth, 1 - $i, $dt_currentYear ) ; } $i = 0; $end_date = mktime ( 0,0,0, $dt_currentMonth+1, + $i, $dt_currentYear ) ; while ( date('w', $end_date) != (7+$NUM_WEEKSTART ) % 7 ) { $i++; $end_date = mktime ( 0,0,0, $dt_currentMonth+1, + $i, $dt_currentYear ) ; } $numWeeks = ( $end_date - $start_date )/3600/24/7 ; $dtmin_value = $filter->xssFilterHard($dtmin_value); $dtmax_value = $filter->xssFilterHard($dtmax_value); $dt_currentYear = $filter->xssFilterHard($dt_currentYear); $dt_currentMonth = $filter->xssFilterHard($dt_currentMonth); //print date('Y-m-d', $start_date ) . " $dtmin_value $dtmax_value "; ?>
" . $ARR_WEEKDAYS[ ($NUM_WEEKSTART+$n)%7] . ""; print ""; // print calendar table for ($w = 0; $w < $numWeeks; $w++ ) { print ""; for ($d = 0; $d < 7; $d++ ) { $day = $start_date + 24*3600*( $d + 7*$w ); $bgcolor = 'ffffff'; if ( date('w',$day) == 6 || date('w',$day) == 0 ) $bgcolor = '#dbeaf5'; if ( date('m', $day) != $dt_currentMonth ) $bgcolor = '#eeeeeee'; if ( date('Y-m-d', $day) == $dt_value ) $bgcolor = '#ffb6c1'; $strDay = (date('d',$day)+0); $strDate = date('Y-m-d',$day ); //print "$strDate < $dtmin_value"; if ( $strDate < $dtmin_value || $strDate > $dtmax_value) $link = "$strDay"; else $link = "$strDay"; print ""; } print ""; } ?>
previous year previous month next month next year
$link