C:\Arquivos de programas\VertrigoServ\www\exercicios\inclusao\calendario.php domingo, 1 de janeiro de 2012 22:18 <?php $nom = 'calendario.php'; // nome deste arquivo $tmp = $_GET["tmpx"]; if ($tmp) { $var = checkdate(date("m",$tmp),date("d",$tmp),date("Y",$tmp)); if($var == 1){ $data = date("d/m/Y",$tmp); } else { $data = date("d/m/Y"); } } else { $data = date("d/m/Y"); } $dxx = substr($data,0,2); $mxx = substr($data,3,2); $axx = substr($data,6,4); $formulario = $_GET["formulario"]; $campo = $_GET["campo"]; ?> <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN"> <HTML> <HEAD> <TITLE>..:: Calendário ::..</TITLE> <META http-equiv=Content-Type content="text/html; charset=windows-1252"> <META content="programacao, php, mysql, contato, sites, websites, homepages, downloads, mp3, ceara, fortaleza" name="keywords"> <META content="MSHTML 6.00.2743.600" name="GENERATOR"></HEAD> <LINK href="estilo.css" type="text/css" rel="stylesheet"> <SCRIPT language="javascript"> function valor(valor){ opener.document.<?php echo $formulario; ?>.<?php echo $campo; ?>.value = valor; window.self.close(); } </SCRIPT> </HEAD> <BODY> <link rel="stylesheet" type="text/css" href="estilo.css"> <table align="center" border="0" cellspacing="0" cellpadding="0" BGCOLOR="#999999"> <tr> <td> <?php class calendario{ var $mes = array( '01' => 'JANEIRO', '02' => 'FEVEREIRO', '03' => 'MARÇO', '04' => 'ABRIL', '05' => 'MAIO', -1- C:\Arquivos de programas\VertrigoServ\www\exercicios\inclusao\calendario.php '06' '07' '08' '09' '10' '11' '12' ); => => => => => => => domingo, 1 de janeiro de 2012 22:18 'JUNHO', 'JULHO', 'AGOSTO', 'SETEMBRO', 'OUTUBRO', 'NOVEMBRO', 'DEZEMBRO' function mes_anterior($dia,$mes,$ano){ global $nom, $formulario, $campo; if($mes == 1){ $man = 12; $aan = $ano - 1; } else { $man = $mes - 1; $aan = $ano; } $val = checkdate($man,$dia,$aan); if($val == 0){ $dia = 1; } $tmp = mktime(0,0,0,$man,$dia,$aan); echo '<a href="'.$nom.'?tmpx='.$tmp.'&formulario='.$formulario.'&campo='.$campo.'">«</a>'; } function mes_proximo($dia,$mes,$ano){ global $nom, $formulario, $campo; if($mes == 12){ $mpr = 1; $apr = $ano + 1; } else { $mpr = $mes + 1; $apr = $ano; } $val = checkdate($mpr,$dia,$apr); if($val == 0){ $dia = 1; } $tmp = mktime(0,0,0,$mpr,$dia,$apr); echo '<a href="'.$nom.'?tmpx='.$tmp.'&formulario='.$formulario.'&campo='.$campo.'">»</a>'; } function ano_anterior($dia,$mes,$ano){ global $nom, $formulario, $campo; $aan = $ano - 1; $val = checkdate($mes,$dia,$aan); if($val == 0){ $dia = 1; } $tmp = mktime(0,0,0,$mes,$dia,$aan); echo '<a href="'.$nom.'?tmpx='.$tmp.'&formulario='.$formulario.'&campo='.$campo.'">«</a>'; } -2- C:\Arquivos de programas\VertrigoServ\www\exercicios\inclusao\calendario.php domingo, 1 de janeiro de 2012 22:18 function ano_proximo($dia,$mes,$ano){ global $nom, $formulario, $campo; $apr = $ano + 1; $val = checkdate($mes,$dia,$apr); if($val == 0){ $dia = 1; } $tmp = mktime(0,0,0,$mes,$dia,$apr); echo '<a href="'.$nom.'?tmpx='.$tmp.'&formulario='.$formulario.'&campo='.$campo.'">»</a>'; } function global $arr = $dia = $mes = $ano = cria($data){ $nom, $dxx, $mxx, $axx, $formulario, $campo; explode("/",$data); $arr[0]; $arr[1]; $arr[2]; if(($dia == '') OR ($mes = '') OR ($ano = '')){ $data = date("d/m/Y"); $arr = explode("/",$data); $dia = $arr[0]; $mes = $arr[1]; $ano = $arr[2]; } $arr $dia $mes $ano = = = = explode("/",$data); $arr[0]; $arr[1]; $arr[2]; $val = checkdate($mes,$dia,$ano); // Verifica se a data é válida if($val == 1){ $ver = date('d/m/Y', mktime(0,0,0,$mes,$dia,$ano)); } else { $ver = date('d/m/Y', mktime(0,0,0,date(m),date(d),date(Y))); } $arr $dia $mes $ano = = = = explode("/",$ver); $arr[0]; $arr[1]; $arr[2]; $ult = date("d", mktime(0,0,0,$mes+1,0,$ano)); $dse = date("w", mktime(0,0,0,$mes,1,$ano)); $tot = $ult+$dse; if($tot != 0){ $tot = $tot+7-($tot%7); } for($i=0;$i<$tot;$i++){ $dat = $i-$dse+1; -3- C:\Arquivos de programas\VertrigoServ\www\exercicios\inclusao\calendario.php domingo, 1 de janeiro de 2012 22:18 if(($i >= $dse) AND ($i < ($dse+$ult))){ $aux[$i] = ' <td '; if(($dat == $dxx) AND ($mes == $mxx) AND ($ano == $axx)){ $aux[$i] .= 'class="calendario_dias_hoje"'; } else { $aux[$i] .= 'class="calendario_dias"'; } $aux[$i] .= '><a href="'.$nom.'?data='.sprintf("%02.0f",$dat).'/'.$mes.'/'.$ano. '&formulario='.$formulario.'&campo='.$campo.'" onclick="valor(\''.sprintf("%02.0f", $dat).'/'.$mes.'/'.$ano.'\')">'.$dat.'</a> </td> '; } else { $aux[$i] = ' <td> </td> '; } if(($i%7) == 0){ $aux[$i] = '<tr align="center">'.$aux[$i]; } if(($i%7) == 6){ $aux[$i] .= '</tr>'; } } echo ' <table cellspacing="0" cellpadding="0" class="calendario_tabela"> <tr> <td> <table cellspacing="1" cellpadding="1"> <tr class="calendario_mes_ano"> <td> '; $this->mes_anterior($dia,$mes,$ano); echo ' </td> <td colspan="5">'.$this->mes[$mes].'</td> <td> '; $this->mes_proximo($dia,$mes,$ano); echo ' </td> </tr> <tr class="calendario_mes_ano"> <td> '; $this->ano_anterior($dia,$mes,$ano); echo ' </td> <td colspan="5">'.$ano.'</td> -4- C:\Arquivos de programas\VertrigoServ\www\exercicios\inclusao\calendario.php domingo, 1 de janeiro de 2012 22:18 <td> '; $this->ano_proximo($dia,$mes,$ano); echo ' </td> </tr> <tr class="calendario_semana"> <td WIDTH="30">D</td> <td WIDTH="30">S</td> <td WIDTH="30">T</td> <td WIDTH="30">Q</td> <td WIDTH="30">Q</td> <td WIDTH="30">S</td> <td WIDTH="30">S</td> </tr> '; echo implode(' ',$aux); if(count($aux) == 35){ echo ' <tr> <td colspan="7"> </td> </tr> '; }; $_dia $_mes $_ano = date('d'); = date('m'); = date('Y'); echo ' <tr> <td class="calendario_mes_ano" colspan="7" align="center"> [ <a href="'.$nom.'?data='.$_dia.'/'.$_mes.'/'.$ano.'&formulario='. $formulario.'&campo='. $campo.'" onclick="valor(\''.$_dia.'/'.$_mes.'/'.$ano.'\');">Hoje</a> ] </td> </tr> </table> </td> </tr> </table> '; } } $novadata = new calendario; $novadata->cria($data); ?> </td> </tr> </table> </body> </html> -5-