class calendario
{
var $dia;
var $mes;
var $anno;
var $url;
var $target;
var $numletra;
var $numtamanno;
var $numcolor;
var $numfondo;
var $titletra;
var $tittamanno;
var $titcolor;
var $titfondo;
var $alineacion;
var $borde;
var $col_ancho;
var $col_alto;
var $DEBUG = 0;
function calendario($anno=0, $mes=99, $dia=99){
$this->init($anno, $mes, $dia);
}
function init($anno, $mes, $dia) {
$this->setFecha($anno, $mes, $dia);
$this->setNumeros();
$this->setTitulo();
$this->setTabla();
$this->setUrl();
} //FIN functino init
function setFecha($anno, $mes, $dia) {
/* Comprobamos el año */
if ($anno > 0 AND $anno < 32767) {
$this->anno = $anno;
} else {
$this->anno = intval(date("Y"));
}
/* Comprobamos el mes */
if ($mes > 0 AND $mes < 13) {
$this->mes = $mes;
} else {
$this->mes = intval(date("m"));
}
/* Comprobamos el día */
if (checkdate($this->mes, $dia, $this->anno)) {
$this->dia = $dia;
} else {
$this->dia = intval(date("d"));
}
} // FIN function setFecha
function setNumeros($letra= "Arial", $tamanno = "2", $color = "#FFFF00", $fondo = "#AA6F00") {
$this->numletra = $letra;
if (is_int($tamano)) {
$this->numtamanno = strval($tamanno);
} else {
$this->numtamanno = $tamanno;
}
$this->numcolor = $color;
$this->numfondo = $fondo;
} //FIN function setNumeros
function setTitulo($letra= "Arial", $tamanno = "2", $color = "#FFFFFF", $fondo = "0000FF") {
$this->titletra = $letra;
if (is_int($tamano)) {
$this->tittamanno = strval($tamanno);
} else {
$this->tittamanno = $tamanno;
}
$this->titcolor = $color;
$this->titfondo = $fondo;
} //FIN function setTitulo
function setTabla($alin = "center", $borde=1, $ancho=35, $alto=30) {
$this->alineacion = $alin;
$this->borde = strval($borde);
$this->col_ancho = strval($ancho);
$this->col_alto = strval($alto);
} //FIN function setTabla
function setUrl($url="", $target=""){
$this->url = $url;
$this->target = $target;
} //FIN funtion setUrl
function imprimir()
{
/* tabla con los dias de la semana */
//$semana = array ("Lunes", "Martes", "Miercoles", "Jueves", "Viernes", "Sábado", "Domingo");
$semana = array (1=>"Lun", "Mar", "Mie", "Jue", "Vie", "Sáb", "Dom");
//$nombremes = array (1=>"Enero", "Febrero", "Marzo", "Abril", "Mayo", "Junio", "Julio", "Agosto", "Septiembre", "Octubre", "Noviembre", "Diciembre");
$nombremes = array (1=>"ENERO", "FEBRERO", "MARZO", "ABRIL", "MAYO", "JUNIO", "JULIO", "AGOSTO", "SEPTIEMBRE", "OCTUBRE", "NOVIEMBRE", "DICIEMBRE");
/* Cálculamos cuantos días tiene el mes */
$ultimodia = 31;
while (! checkdate($this->mes, $ultimodia, $this->anno)){
$ultimodia -= 1;
}
/* Cálculamos número de dia de la semana del primer dia del mes seleccionado */
$DiaSemanaPrimerDiaMes = date('w', mktime(0,0,0,$this->mes,1,$this->anno));
// en EEUU el domingo es el primer día de la semana (domingo=0)
if ($DiaSemanaPrimerDiaMes == 0 ) {
$DiaSemanaPrimerDiaMes = 7 ;
}
// para depurar
if ($this->DEBUG) {
echo "Año: ".$this->anno."
\n";
echo "Mes: ".$this->mes." - ".$nombremes[$this->mes]."
\n";
echo "Dia: ".$this->dia."
\n";
echo "Dia de la semana 1er. día del Mes: ".$DiaSemanaPrimerDiaMes;
}
echo "
"; echo ""; echo $nombremes[$this->mes]." de ".$this->anno." | \n"; echo "||||||
\n"; echo ""; echo "$semana[$i] | \n"; } echo "||||||
\n"; $diasemana += 1; } for($dia = 1; $dia <= $ultimodia; $dia++) { echo " | "; echo ""; if ($this->url) { $http = $this->url."?anno=$this->anno&mes=$this->mes&dia=$dia"; if ($this->target) { $http .= " target='$this->target'"; } echo "$dia | \n"; } else { echo "$dia\n"; } if ($diasemana == 7 AND $dia != $ultimodia) { echo "|||||
\n"; $diasemana += 1; } echo " |