ano = $ano; $this->mes = $mes; $this->hoje = date('j'); $this->nome_mes[1]="Janeiro"; $this->nome_mes[2]="Fevereiro"; $this->nome_mes[3]="Março"; $this->nome_mes[4]="Abril"; $this->nome_mes[5]="Maio"; $this->nome_mes[6]="Junho"; $this->nome_mes[7]="Julho"; $this->nome_mes[8]="Agosto"; $this->nome_mes[9]="Setembro"; $this->nome_mes[10]="Outubro"; $this->nome_mes[11]="Novembro"; $this->nome_mes[12]="Dezembro"; $this->dia_na_semana = date(w, mktime(0, 0, 0, $this->mes, 1, $this->ano)); $this->dias_no_mes = date("t", mktime(0, 0, 0, $this->mes, 1, $this->ano)); //$this->prepara_feriados(); } //************************************************************************************************ function prepara_feriados_regionais() { switch ($this->mes) { case 2: # Nossa Senhora dos Navegantes(2 de Fev.): $this->feriados[2]='Nossa Senhora dos Navegantes'; break; case 9: # I# Revolucao Farroupilha: $this->feriados[20]='Revolucao Farroupilha'; break; default: break; } } //************************************************************************************************ function prepara_feriados_nacionais() { $a= $this->ano % 19; $b= $this->ano % 4; $c= $this->ano % 7; $aux1=(19 * $a) + 24; $d= $aux1 % 30; $aux1= (2 * $b) + (4 * $c) + (6 * $d) + 5; $e= $aux1 % 7; $dia_pascoa= 22 + $d + $e; $mes_pascoa= 3; if($dia_pascoa > 31) { $mes_pascoa = 4; $dia_pascoa = $dia_pascoa - 31; if($dia_pascoa > 25) { $dia_pascoa= $dia_pascoa - 7; } } $pascoa = strtotime("$this->ano/$mes_pascoa/$dia_pascoa"); $carnaval = strtotime("$this->ano/$mes_pascoa/$dia_pascoa -47 days"); $sexta_santa = strtotime("$this->ano/$mes_pascoa/$dia_pascoa -2 days"); $corpus = strtotime("$this->ano/$mes_pascoa/$dia_pascoa +60 days"); if($this->mes == strftime("%m",$pascoa)) { $this->feriados[strftime("%d",$pascoa)*1] = 'Pascoa'; $this->feriados[strftime("%d",$sexta_santa)*1] ='Sexta-feira Santa'; } if($this->mes == strftime("%m",$carnaval)) { $this->feriados[(strftime("%d",$carnaval)*1)-1] = 'Carnaval'; // segunda-feira de carnaval $this->feriados[strftime("%d",$carnaval)*1] = 'Carnaval'; // terca-feira de carnaval } if($this->mes == strftime("%m",$corpus)) { $this->feriados[strftime("%d",$corpus)*1] = 'Corpus Cristi'; } switch ($this->mes) { case 1: # Primeiro de Janeiro: $this->feriados[1]='Confraternização Universal'; break; case 4: # Tiradentes: $this->feriados[21]='Tiradentes'; break; case 5: # Dia do trabalhador: $this->feriados[1]='Dia do Trabalho'; break; case 9: # Indepndencia do Brasil: $this->feriados[7]='Dia da Independência'; break; case 10: # Nossa Senhora Aparecida: $this->feriados[12]='Dia de Nossa Senhora Aparecida'; break; case 11: # Finados/ Republica: $this->feriados[2]='Finados'; $this->feriados[15]='Proclamação da República'; break; case 12: # Natal: $this->feriados[25]='Natal'; break; default: break; } } //************************************************************************************************ function prepara_feriados() { for($i=1;$i<$this->dias_no_mes+1;$i++) { $this->feriados[$i] = ''; } # Feriados nacionais ... $this->prepara_feriados_nacionais(); # Feriados regionais ... $this->prepara_feriados_regionais(); } //************************************************************************************************ function pega_feriados_do_mes() { $this->prepara_feriados(); return $this->feriados; } } // ************************************************************************************************ // **************************************** Fim da CLASSE *************************************** // ************************************************************************************************ // // ************************************************************************************************ // Monta o arquivo de feriados de um determinado periodo // ************************************************************************************************ $ano=date('Y'); // Ano corrente $dados=''; $pAno = $ano-6; // Ano inicial while ($pAno< $ano+20) { $pMes = 1; while ($pMes<13) { //$a = new calendario($pAno,$pMes,false); $a = new calendario($pAno,$pMes); $feriados = $a->pega_feriados_do_mes(); // GERA O Arquivo de feriados if($feriados) { // Ppercorre feriados... foreach ($feriados as $dia => $nome) { if($nome) { $dados .= "BR\t".$nome."\t".$dia."\t".$pMes."\t".$pAno."\t0\t0\n"; } } } unset($feriados); $pMes = $pMes + 1; } $pAno = $pAno + 1; } //Grava O RESULTADO //echo $dados; $h = fopen ("holidays.BR.csv", "wb"); fwrite($h,"$dados"); echo '
Mover o arquivo gerado(holidays.BR.csv) para /var/www/expresso/calendar/egroupware
'; echo '
Logado como "administrador":
1 - Clique no icone "administrador", no painel superior.
2 - No bloco "Agenda de Eventos", clique em "Manutencao de feriados do Calendario"
3 - Na linha relativa ao pais "BR", clique em "remover". Confirme a remocao.
4 - Clique no icone "administrador", no painel superior.
5 - No bloco "Administrador", clique em "Configuracao do servidor".
6 - Selecione "Sim" em "Deseja carregar automaticamente arquivos de feriados do Calendário dinâmicamente? " .
7 - Selecione "localhost" em "Local de onde carregar automaticamente:".
8 - Clique em "Salvar".
Pronto. Na proxima vez que o calendario for consultado o novo arquivo de feriados sera carregado.
'; ?>