Calendário
Publicado por Vinicus S Moraes 20/07/2008
[ Hits: 6.890 ]
Homepage: http://vsmoraes.wordpress.com
Ta aí uma classe pra gerar um calendário...
Informando a classe CSS fica bem bonitinho x). Classe de minha autoria.
<?php
error_reporting(E_ALL);
class Calendario {
private $_dia;
private $_mes;
private $_ano;
private $_class;
private $_ts = 0;
public function __construct($data=0, $class="") {
if ($data == 0) {
$this->_dia = date("d");
$this->_mes = date("m");
$this->_ano = date("Y");
} else {
$tmp = explode("/", $data);
$this->_dia = $tmp[0];
$this->_mes = $tmp[1];
$this->_ano = $tmp[2];
}
$this->_class = $class;
} // __construct
public function __show() {
printf("<table class=\"%s\" width=\"%s\" height=\"%s\">\n", $this->_class, "100%", "100%");
$this->__openWeek();
$this->__printHeader();
$this->__closeWeek();
$first = true;
$numDay = 0;
$day = $this->__calcNextDate();
while ($day) {
if ($numDay == 7) {
$this->__closeWeek();
$numDay = 0;
}
if ($numDay == 0) {
$this->__openWeek();
if ($first) {
$numDay = date("w", $this->_ts);
$first = false;
for ($x = 0; $x<$numDay; $x++) {
$this->__addDay(" ");
}
}
}
$this->__addDay($day);
$day = $this->__calcNextDate();
$numDay++;
}
while ($numDay < 7) {
$this->__addDay(" ");
$numDay++;
}
$this->__closeWeek();
printf("</table>\n");
} // __show
private function __calcNextDate() {
if ($this->_ts == 0) {
$ts = mktime(0, 0, 0, $this->_mes, 1, $this->_ano);
} else {
$tmp = date("d-m-Y", $this->_ts);
$tmp = explode("-", $tmp);
$ts = mktime(0, 0, 0, $tmp[1], ($tmp[0]+1), $tmp[2]);
}
$this->_ts = $ts;
if (date("m",$ts) != $this->_mes) {
return false;
} else {
return date("d", $ts);
}
} // __ calcNextDate
private function __openWeek() {
printf("<tr class=\"%s\">\n", $this->_class);
} // __openWeek
private function __closeWeek() {
printf("</tr>\n");
} // __closeWeek
private function __addDay($day) {
if ($day == $this->_dia) {
$class = $this->_class."1";
} else {
$class = $this->_class;
}
printf("<td class=\"%s\">\n", $class);
printf("%s\n", $day);
printf("</td>\n");
} // __addDay
private function __printHeader() {
printf("<th class=\"%s\">\n", $this->_class);
printf("DOM\n");
printf("</th>\n");
printf("<th class=\"%s\">\n", $this->_class);
printf("SEG\n");
printf("</th>\n");
printf("<th class=\"%s\">\n", $this->_class);
printf("TER\n");
printf("</th>\n");
printf("<th class=\"%s\">\n", $this->_class);
printf("QUA\n");
printf("</th>\n");
printf("<th class=\"%s\">\n", $this->_class);
printf("QUI\n");
printf("</th>\n");
printf("<th class=\"%s\">\n", $this->_class);
printf("SEX\n");
printf("</th>\n");
printf("<th class=\"%s\">\n", $this->_class);
printf("SAB\n");
printf("</th>\n");
}
};
?>
Graficos 3D simples e configuraveis com PHP
Separa endereços sem formatação
Nenhum comentário foi encontrado.
IA Turbina o Desktop Linux enquanto distros renovam forças
Como extrair chaves TOTP 2FA a partir de QRCODE (Google Authenticator)
Linux em 2025: Segurança prática para o usuário
Desktop Linux em alta: novos apps, distros e privacidade marcam o sábado
Atualizando o Fedora 42 para 43
Como saber se o seu e-mail já teve a senha vazada?
Como descobrir se a sua senha já foi vazada na internet?
E aí? O Warsaw já está funcionando no Debian 13? [RESOLVIDO] (15)
Secure boot, artigo interessante, nada técnico. (4)
copiar library para diretorio /usr/share/..... su com Falha na a... (1)









