"Janeiro", 2 => "Fevereiro", 3 => "Março", 4 => "Abril", 5 => "Maio", 6 => "Junho", 7 => "Julho", 8 => "Agosto", 9 => "Setembro", 10 => "Outubro", 11 => "Novembro", 12 => "Dezembro" ); var $meses_dias; var $time; var $data; var $data_arr; var $data_db; var $dia; var $mes; var $mes_wolz; var $ano; var $dia_semana; var $deslocamento_entrada; var $deslocamento_saida; var $ultimo_dia; var $url_default; var $url_uniao; var $url_var; function calendario( $time, $url_default = '#', $url_var = "time" ) { if( $time ) { $this->time = $time; } else { $this->time = time(); } $this->data = date( "d/m/Y", $this->time ); $this->data_db = date( "Y-m-d", $this->time ); $this->dia = date( "d", $this->time ); $this->mes = date( "m", $this->time ); $this->mes_wolz = date( "n", $this->time ); $this->ano = date( "Y", $this->time ); $this->data_arr = array( $this->dia, $this->mes, $this->ano ); $this->dia_semana = date( "w", $this->time ); $this->deslocamento_entrada = date( "w", mktime( 0, 0, 0, $this->mes, 1, $this->ano ) ) - 1; $this->deslocamento_saida = date( "w", mktime( 0, 0, 0, $this->mes + 1, -1, $this->ano ) ) - 1; $this->ultimo_dia = date( "d", mktime( 0, 0, 0, $this->mes + 1, -1, $this->ano ) ) - 1; $this->url_default = $url_default; if( strpos( $this->url_default, '?' ) === false ) { $this->url_uniao = '?'; } else { $this->url_uniao = '&'; } $this->url_var = $url_var; // define a quantidade de dias nescessaria para chegar em cada mes ( a partir do mes atual ) for( $i = $this->mes - 1, $totalDias = 0; $i > 0; $i-- ) { // meses que estao atras recebem dias negativos $totalDias -= date( "t", mktime( 0, 0, 0, $i, 1, $this->ano ) ); $this->meses_dias[$i] = $totalDias; } for( $i = $this->mes + 1, $totalDias = 0; $i < 13; $i++ ) { // meses para frente recebem dias positivos $totalDias += date( "t", mktime( 0, 0, 0, $i - 1, 1, $this->ano ) ); $this->meses_dias[$i] = $totalDias; } // mes atual nao tem nenhu mdia de diferenca $this->meses_dias[$this->mes] = 0; } function gera_calendario() { $retorno = "
'; $comeco = true; $aux_desloc = 0; $aux_finalizador = $this->ultimo_dia; $aux_desloc = $aux_desloc - $this->deslocamento_entrada; $aux_finalizador = $aux_finalizador + 10 - $this->deslocamento_saida; $t_aux = 0; for ($aux=$aux_desloc; $aux<=$aux_finalizador; $aux++) { $data = mktime( 0, 0, 0, $this->mes, $aux, $this->ano ); if ( $comeco ) { $retorno .= "\n"; $comeco = false; } $d = date('d', $data); $m = date('m', $data); $Y = date('Y', $data); $classe = ( $aux <= 0 || $aux > $this->ultimo_dia + 2 ) ? "calendario_outromes" : "calendario_dias"; if( $data <= $this->time && $data + 86400 > $this->time ) { $classe = "calendario_dia_sel"; } $retorno .= "\n"; if( $t_aux++ > 5 ) { $t_aux = 0; $comeco = true; $retorno .= "\n"; } } $retorno .= '
D S T Q Q S S
{$d}
"; return $retorno; } function print_calendario() { echo $this->gera_calendario(); } }