Linux slogan
Visite também: Segurança Linux · BR-Linux.org · Dicas-L · Doode · NoticiasLinux · SoftwareLivre.org · UnderLinux



» Screenshot
» Login
Login:
Senha:

Se você ainda não possui uma conta, clique aqui.

Esqueci minha senha



Scripts

Linux user

Publicado por Edvaldo Silva de Almeida Júnior em 13/06/2008    [ 4927 hits ]

Login: edlonewolf, 384106 pontos

Homepage: http://sociedadeantireligiao.com   


Descrição

Essa é uma classe bem simples que gera um calendário. Ela recebe como parâmetros o mês e o ano do calendário desejado.

Pode ser que isso seja útil para alguém, de forma que estou publicando aqui.

[ Download: calendario.php ]   [ Enviar nova versão ]

[ Esconder código-fonte ]

<?php

               class Calendario {
      
      public $dia;
      public $mes;
      public $ano;
      public $tstamp;
      public $dtmanip;
      public $dsprimdia;
      public $linhafechada;
      
      public function Calendario( $pmes, $pano ) {
         $this->linhafechada = true;
         $this->dia = 1;
         $this->mes = $pmes;
         $this->ano = $pano;
         $this->calcula_tstamp();
         $this->data_manipulavel();
         $this->primeiro_dia_mes();
      }
      
      public function calcula_tstamp() {
         $this->tstamp = mktime( 0, 0, 0, $this->mes, $this->dia, $this->ano );
      }
      
      public function data_manipulavel() {
         $this->dtmanip = getdate( $this->tstamp );
      }
      
      public function primeiro_dia_mes() {
         $this->dsprimdia = $this->dtmanip[ "wday" ];
      }
      
      public function proximo_dia() {
         $this->dia++;
         $this->calcula_tstamp();         
      }
      
      public function exibe_calendario() {
         $larg = 100.0/7.0;
         echo "<table border='1' width='100%' cellpadding='0' cellspacing='0' align='center' bordercolor='#333333'>\n";
         echo "<tr class='titulotabela'>\n";
         echo "<td align='center' width='".$larg."%'>Dom</td>\n";         
         echo "<td align='center' width='".$larg."%'>Seg</td>\n";
         echo "<td align='center' width='".$larg."%'>Ter</td>\n";         
         echo "<td align='center' width='".$larg."%'>Qua</td>\n";
         echo "<td align='center' width='".$larg."%'>Qui</td>\n";         
         echo "<td align='center' width='".$larg."%'>Sex</td>\n";
         echo "<td align='center' width='".$larg."%'>Sab</td>\n";         
         echo "</tr>\n";
         
         $ccol = 0;
         $casa = 0;
         while( checkdate( $this->mes, $this->dia, $this->ano ) ) {
            if ( $this->linhafechada ) {
               echo "<tr>\n";
               $this->linhafechada = false;
            }
            if ( $casa < $this->dsprimdia ) {
               echo "<td>&nbsp;</td>\n";
            } else {
               echo "<td align='center'>\n";
               echo $this->dia."\n";
               echo "</td>\n";
               $this->proximo_dia();
            }
            $ccol++;
            $ccol = $ccol % 7;
            $casa++;
            if ( ( $casa % 7 ) == 0 ) {
               echo "</tr>\n";
               $this->linhafecha = true;
            }
         }
         while( $ccol != 0 ) {
            $ccol++;
            $ccol = $ccol % 7;
            echo "<td>&nbsp;</td>\n";
         }
         echo "</tr>\n";
         
         echo "</table>\n";
      }
      
   }


?>

Scripts recomendados
   Script Linux recomendado Gerenciador de Escola de Informática
   Script Linux recomendado Calendário
   Script Linux recomendado Fast Template CVS Revision 1.2.2
   Script Linux recomendado Widgets intermediários em PHP-GTK
   Script Linux recomendado Acesso a Diretórios ou Arquivos Específicos

Comentários
[1] Comentário enviado por fernando0973 em 24/06/2008 - 00:37h:

Olá. Sou iniciante em PHP e gostaria de uma explicação de como utilizar esta classe. Obrigado

[2] Comentário enviado por edlonewolf em 30/06/2008 - 13:41h:

Você só precisa instanciar um objeto dessa classe no ponto do seu código onde deseja que o calendário apareça.

[3] Comentário enviado por edlonewolf em 30/06/2008 - 13:42h:

Exemplo:

$mes = 7;
$ano = 2008;
$calend = new Calendario( $mes, $ano );



[4] Comentário enviado por guilecardoso em 31/03/2011 - 21:45h:

Sei que já faz bastante tempo que foi postado este script mas encontrei um erro e aí segue a correção

falta uma linha na function Calendario
$this->exibe_calendario();

Abraços


Contribuir com comentário


  
Para executar esta ação você precisa estar logado no site, caso contrário, tudo o que for digitado será perdido.
Responsável pelo site: Fábio Berbert de Paula - Conteúdo distribuído sob licença GNU FDL
Site hospedado por:

Viva o Linux

A maior comunidade Linux da América Latina! Artigos, dicas, tutoriais, fórum, scripts e muito mais. Ideal para quem busca auto-ajuda em Linux.