function MostreCalendario($mes, $link) { $numero_dias = GetNumeroDias($mes); // retorna o número de dias que tem o mês desejado $nome_mes = GetNomeMes($mes); $diacorrente = 0; $diasemana = jddayofweek(cal_to_jd(CAL_GREGORIAN, $mes, "01", date('Y')), 0); // função que descobre o dia da semana echo "<table class='table-bordered'>"; echo "<tr>"; echo "<td colspan = 5><h3 style='margin-left: 10%;'>" . $nome_mes . "</h3></td>"; echo "</tr>"; echo "<tr>"; MostreSemanas(); // função que mostra as semanas echo "</tr>"; for ($linha = 0; $linha < 6; $linha++) { echo "<tr>"; for ($coluna = 0; $coluna < 7; $coluna++) { echo "<td width = 30 height = 10 "; if ($diacorrente == date('d') - 1 && date('m') == $mes) { echo " style='background:#cddcd5;' "; } else { if ($diacorrente + 1 <= $numero_dias) { if ($coluna < $diasemana && $linha == 0) { echo " id = 'dia_branco' "; } else { echo " id = 'dia_comum' "; } } else { echo " "; } } // pega visitas $data = date('y/m/d'); $partes = explode('/', $data); $ano = "20" . $partes[0]; $dia = $diacorrente + 1; $data = $ano . "/" . $mes . "/" . $dia; $sql = "select data from ejbsm_visit WHERE date = '{$data}' AND status = 'Confirmada'"; $result = $link->query($sql) or die(mysqli_error($link)); while ($row = mysqli_fetch_object($result)) { echo "style='background: #ccff00;'"; } echo " align = 'center'>"; /* TRECHO IMPORTANTE: A PARTIR DESTE TRECHO É MOSTRADO UM DIA DO CALENDÁRIO (MUITA ATENÇÃO NA HORA DA MANUTENÇÃO) */ if ($diacorrente + 1 <= $numero_dias) { if ($coluna < $diasemana && $linha == 0) { echo " "; } else { // echo "<input type = 'button' id = 'dia_comum' name = 'dia".($diacorrente+1)."' value = '".++$diacorrente."' onclick = "acao(this.value)">"; echo "<font size='2'><a href = " . $_SERVER["PHP_SELF"] . "?data={$data}>" . ++$diacorrente . "</a></font>"; } } else { break; } /* FIM DO TRECHO MUITO IMPORTANTE */ echo "</td>"; } echo "</tr>"; } echo "</table>"; }
function MostreCalendario($mes, $result, $ano_letivo, $link) { function MostreSemanas() { $semanas = "DSTQQSS"; $corpo = ''; for ($i = 0; $i < 7; $i++) { $corpo .= "<td>" . $semanas[$i] . "</td>"; } return $corpo; } function GetNumeroDias($mes, $ano_letivo) { $numero_dias = array('01' => 31, '02' => 28, '03' => 31, '04' => 30, '05' => 31, '06' => 30, '07' => 31, '08' => 31, '09' => 30, '10' => 31, '11' => 30, '12' => 31); $ano = isset($_GET['ano']) && $_GET['ano'] != '' ? $_GET['ano'] : $ano_letivo; if ($ano % 4 == 0 and $ano % 100 != 0 or $ano % 400 == 0) { $numero_dias['02'] = 29; // altera o numero de dias de fevereiro se o ano for bissexto } return $numero_dias[$mes]; } function GetNomeMes($mes) { $meses = array('01' => "Janeiro", '02' => "Fevereiro", '03' => "Março", '04' => "Abril", '05' => "Maio", '06' => "Junho", '07' => "Julho", '08' => "Agosto", '09' => "Setembro", '10' => "Outubro", '11' => "Novembro", '12' => "Dezembro"); if ($mes >= 01 && $mes <= 12) { return $meses[$mes]; } return "Mês deconhecido"; } $ano = isset($_GET['ano']) && $_GET['ano'] != '' ? $_GET['ano'] : $ano_letivo; $numero_dias = GetNumeroDias($mes, $ano_letivo); // retorna o número de dias que tem o mês desejado $nome_mes = GetNomeMes($mes); $diacorrente = 0; $diasemana = jddayofweek(cal_to_jd(CAL_GREGORIAN, $mes, "01", $ano_letivo), 0); // função que descobre o dia da semana //calculo do mes anterior $dia_atual = ''; $mes_anterior = $mes - 1; $ano_anterior = $ano; if ($mes_anterior == 0) { $ano_anterior--; $mes_anterior = 12; } if ($dia_atual == 0) { $dia_atual_mes = 1; } else { $dia_atual_mes = $dia_atual; } //calculo do mes seguinte $mes_seguinte = $mes + 1; $ano_siguiente = $ano; if ($mes_seguinte == 13) { $ano_siguiente++; $mes_seguinte = 1; } $link_mes_anterior = '<a style=color:white;text-decoration:none href="' . $link . '&ano=' . $ano . '&mes=' . str_pad((int) $mes_anterior, 2, "0", STR_PAD_LEFT) . '&dia=' . $dia_atual_mes . '"><<</a>'; $link_mes_seguinte = '<a style=color:white;text-decoration:none href="' . $link . '&ano=' . $ano . '&mes=' . str_pad((int) $mes_seguinte, 2, "0", STR_PAD_LEFT) . '&dia=' . $dia_atual_mes . '">>></a>'; $corpo = ''; $corpo .= "<table id='calendario'>"; $corpo .= "<tr><th>" . $link_mes_anterior . "</th>"; $corpo .= "<th colspan = 5>" . $nome_mes . " " . $ano . "</th>"; $corpo .= "<th>" . $link_mes_seguinte . "</th></tr>"; $corpo .= "<tr>"; $corpo .= MostreSemanas(); // função que mostra as semanas aqui $corpo .= "</tr>"; for ($linha = 0; $linha < 6; $linha++) { $corpo .= "<tr>"; for ($coluna = 0; $coluna < 7; $coluna++) { $flag = 0; if ($diacorrente + 1 <= $numero_dias) { $dataAula = $ano . '-' . $mes . '-' . str_pad((int) ($diacorrente + 1), 2, "0", STR_PAD_LEFT); foreach ($result as $row) { if ($row['data_aula'] == $dataAula) { $flag = 1; break; } else { $flag = 0; } } } if ($diacorrente == date('d') - 1 && date('m') == $mes) { $id = 'id = "dia_atual"'; $classe = $flag == 1 ? ' class="conteudo"' : ''; } else { if ($diacorrente + 1 <= $numero_dias) { if ($coluna < $diasemana && $linha == 0) { $classe = $flag == 1 ? ' class="conteudo"' : ' class="dia_branco"'; } else { $classe = $flag == 1 ? ' class="conteudo"' : ' class="dia_comum"'; } } else { $corpo .= " "; $classe = ''; } $id = ''; } if ($diacorrente + 1 <= $numero_dias) { if ($coluna < $diasemana && $linha == 0) { $campo = " "; } else { $campo = ++$diacorrente; } } else { break; } $corpo .= $diacorrente != 0 ? "<td " . $id . $classe . ">" . $campo . "</td>" : "<td></td>"; // if( ($diacorrente == ( date('d') - 1) && date('m') == $mes) ){ // $corpo .= " id = 'dia_atual' "; // $corpo .= $flag == 1 ? ' class="conteudo"' : ''; // } else { // if(($diacorrente + 1) <= $numero_dias ) // { // if( $coluna < $diasemana && $linha == 0){ // $corpo .= $flag == 1 ? ' class="conteudo"' : ' class="dia_branco"'; // } else { // $corpo .= $flag == 1 ? ' class="conteudo"' : ' class="dia_comum"'; // } // } else { // $corpo .= " "; // } // } // $corpo .= ">"; // // /* TRECHO IMPORTANTE: A PARTIR DESTE TRECHO É MOSTRADO UM DIA DO CALENDÁRIO (MUITA ATENÇÃO NA HORA DA MANUTENÇÃO) */ // if( $diacorrente + 1 <= $numero_dias ){ // if( $coluna < $diasemana && $linha == 0){ // $corpo .= " "; // } else { // $corpo .= ++$diacorrente; // } // } else { // break; // } // $corpo .= "</td>"; } $corpo .= "</tr>"; } $corpo .= "</table>"; return $corpo; }