function putQuestoes($vars) { $freq = 0; ?> <div align="center"><?php $sql = pg_query("SELECT * FROM aulas_avaliacoes WHERE \"CodAula\" = " . $vars['chkaula'] . " ORDER BY \"IndexQuestao\""); while ($r = pg_fetch_array($sql)) { //insere a questão ?> <table class="tbform"> <tr> <td align="left"> <b>Questão <?php echo $r['IndexQuestao']; ?> </b> </td> <td align="center"> <b>Tipo: <?php echo $r['Tipo']; ?> </b> </td> <td align="right"> <b><?php echo $r['Tipo'] == 'DS' ? $r['Min'] . ' e ' . $r['Max'] . ' Palavras' : ''; ?> </b> </td> </tr> <tr> <td colspan="3"> <?php echo $r['Questao']; ?> </td> </tr> </table> <?php $resposta = ''; $sql2 = pg_query("SELECT * FROM aulas_avaliacoes_alunos_respostas WHERE \"CodAvaliacao\" = " . $r['Chave'] . " AND \"CodAluno\" = " . $vars['chkaluno']); $r2 = pg_fetch_array($sql2); if (pg_num_rows($sql2) == 0) { $resposta = 'Pendente'; } if ($r['Tipo'] == 'DS' && $resposta != 'Pendente') { $resp = preg_replace("/(\\r)?\\n/i", "<br/>", $r2['Discursiva']); ?> <table class="tbform"> <tr> <td colspan="3"> <?php echo $r2['Discursiva'] != '' ? $resp : 'Pendente'; ?> </td> </tr> <tr> <td align="left"><b>Avaliação preliminar: <?php echo $r2['Nota']; ?> </b></td> <td></td> <td align="right"> <b> <?php include_once 'funcs.php'; $funcs = new funcs(); echo $funcs->contapalavras($r2['Discursiva'], $r['Min'], $r['Max']); ?> </b> </td> </tr> </table> <?php } else { if (($r['Tipo'] == 'MP' || $r['Tipo'] == '') && $resposta != 'Pendente') { $sqlAlt = pg_query("SELECT * FROM aulas_avaliacoes_alternativas WHERE \"Chave\" = " . $r2['CodAlternativa']); $alt = pg_fetch_array($sqlAlt); $resp = preg_replace("/(\\r)?\\n/i", "<br/>", $alt['Alternativa']); ?> <table class="tbform"> <tr> <td align="left"><b>Alternativa:</b></td> <td></td> <td></td> </tr> <tr> <td colspan="3"><?php echo $resp; ?> </td> </tr> <tr> <td align="left"><b>Avaliação preliminar: <?php echo $alt['Resposta'] == 1 ? $r['Peso'] : '0'; ?> </b></td> <td></td> <td align="right"> <b><?php echo $alt['Resposta'] == 1 ? 'Correta' : 'Incorreta'; ?> </b> </td> </tr> </table> <?php } } if ($resposta == 'Pendente') { ?> <table class="tbform"> <tr> <td colspan="3" align="center"> <font color="Red"><b>Avaliação Pendente</b></font> </td> </tr> </table> <?php } $f = 0; $conceito = 0; $nota = 0; if ($resposta != 'Pendente') { $f = 1; $conceito = 0; if ($r2['Nota'] != NULL) { $nota = $r2['Nota']; } if ($r['Tipo'] == 'DS') { if ($r['Peso'] == 4) { $conceito = $r2['Nota']; } } else { $conceito = 0; $nota = $alt['Resposta'] == 1 ? $r['Peso'] : '0'; } } //verifica se já houve lançamento para a aula. Se não, lança $sqlFreq = pg_query("SELECT * FROM notas_frequencia WHERE \"CodGrupo\" = " . $vars['codgrupo'] . " AND \"CodCurso\" = " . $vars['chkcurso'] . " AND \"CodAula\" = " . $vars['chkaula'] . " AND \"CodAluno\" =" . $vars['chkaluno'] . " AND \"CodAvaliacao\" = " . $r['Chave']); if (pg_num_rows($sqlFreq) == 0) { //insere o novo registro $sqlins = pg_query("INSERT INTO notas_frequencia (\"CodGrupo\", \"NomeGrupo\", \"CodCurso\", \"CodAula\", \r\n \"CodAvaliacao\", \"CodAluno\", \"Frequencia\", \"Conceito\", \"Nota\") \r\n VALUES (" . $vars['codgrupo'] . ", '" . $vars['disciplina'] . "', " . $vars['chkcurso'] . ", " . $vars['chkaula'] . ", " . $r['Chave'] . ", " . $vars['chkaluno'] . ", " . $f . ", " . $conceito . ", " . $nota . ")"); //executa a sql novamente para recuperar os dados $sqlFreq = pg_query("SELECT * FROM notas_frequencia WHERE \"CodGrupo\" = " . $vars['codgrupo'] . " AND \"CodCurso\" = " . $vars['chkcurso'] . " AND \"CodAula\" = " . $vars['chkaula'] . " AND \"CodAluno\" =" . $vars['chkaluno'] . " AND \"CodAvaliacao\" = " . $r['Chave']); } $freq = pg_fetch_array($sqlFreq); //formulário de lançamento ?> <form id="lancanota" method="post"> <table class="tbform" style="background-color:#cbeecb;"> <tr> <td align="left">Frequência:</td> <td align="left">Conceito:</td> <td align="left">Nota:</td> </tr> <tr> <td align="left"> <input type="checkbox" name="chFreq" value="<?php echo $freq['Frequencia']; ?> " <?php echo $freq['Frequencia'] == 1 ? 'checked' : ''; ?> > </td> <td align="left"> <select size="1" name="conceito"> <option value="0" <?php echo $freq['Conceito'] == 0 ? 'selected ' : ''; ?> ></option> <option value="1" <?php echo $freq['Conceito'] == 1 ? 'selected ' : ''; ?> >Insatisfatório</option> <option value="2" <?php echo $freq['Conceito'] == 2 ? 'selected ' : ''; ?> >Satisfatório</option> <option value="3" <?php echo $freq['Conceito'] == 3 ? 'selected ' : ''; ?> >Bom</option> <option value="4" <?php echo $freq['Conceito'] == 4 ? 'selected ' : ''; ?> >Ótimo</option> </select> </td> <td align="left"> <input type="text" size="20" name="nota" value="<?php echo $freq['Nota']; ?> "> </td> </tr> <tr> <td></td> <td></td> <td align="right"> <input type="hidden" name="vars" value="<?php echo base64_encode(serialize($vars)); ?> "> <input type="hidden" name="codavaliacao" value="<?php echo $r['Chave']; ?> " > <input type="hidden" name="chavefreq" value="<?php echo $freq['Chave']; ?> " > <input type="submit" name="GravaNotaFreq" title="grava " value="Grava" onclick="gettopo();"> </td> </tr> </table> </form> <br/> <?php } ?> </div><?php }
function questionario($cod_Curso, $codaula, $user, $indexQuest, $msg, $val) { echo "<br>"; //foreach($val as $c=>$d) // echo $c.'-'.$d. ' '; $sql = pg_query("SELECT \"Nome\", \"MinimoMP\", \"DataLimite\" FROM aulas WHERE \"Chave\" = {$codaula}"); $r = pg_fetch_array($sql); //carrega o mínimoMP para verificação de questões DS $min = $r['MinimoMP']; $verifica = 0; ?> <div align="center"> <table class="tablemenuAluno"> <tr> <td align="left"><b><?php echo $r[0]; ?> </b></td> <td align="right"><?php echo "Data limite: {$r['2']}"; ?> </td> </tr> </table> <form id="Questionario" name="Questionario" method="post" onclick="gettopo();"> <?php //exibe mensagem de erro caso necessário if ($msg != '') { $av = preg_replace("/(\\r)?\\n/i", "<br/>", $msg); echo "<br><table width=\"500\" class=\"tbform\">\r\n <tr>\r\n <td><font color=\"red\"><b>{$av}</b></font></td>\r\n </tr>\r\n </table>"; } //echo "<br> $cod_Curso -- $codaula"; if ($sql = pg_query("SELECT * FROM aulas_avaliacoes WHERE \"CodCurso\" = {$cod_Curso} AND \"CodAula\" = {$codaula} ORDER BY \"IndexQuestao\"")) { while ($r = pg_fetch_array($sql)) { //exibe o enunciado da questão $questao = preg_replace("/(\\r)?\\n/i", "<br/>", $r['Questao']); $questao = ltrim($questao); ?> <table width="500" class="tbform"> <tr> <td width="20" valign="top" align="left"><b><?php echo $r['IndexQuestao']; ?> :</b></td> <td align="left" colspan="2"><b><?php echo $questao; ?> </b></td> </tr> </table> <?php $ds = false; if ($r['Tipo'] == '') { $r['Tipo'] = 'MP'; } switch ($r['Tipo']) { case 'MP': //obtem a sequencia de alternativas pela Chave $array_alts = array(); $SQLalts = pg_query("SELECT \"Chave\" FROM aulas_avaliacoes_alternativas \r\n WHERE \"CodAula\" = {$codaula} and \"CodAvaliacao\" = {$r['0']} ORDER BY \"IndexAlternativa\""); while ($alts = pg_fetch_array($SQLalts)) { $array_alts[] = $alts[0]; } //var_dump($array_alts); //conta o nº de alternativas $numalts = count($array_alts); //echo $numalts."<br>"; //cria a sequancia randomica //gera a sequencia aleatória de numalts; $RandSeq = $this->GeraSequencia($numalts); //var_dump($RandSeq); $seq = array(); foreach ($RandSeq as $s) { $seq[] = $array_alts[$s - 1]; } //var_dump($seq); //exibe as alternativas foreach ($seq as $key => $value) { $sql2 = pg_query("SELECT * FROM aulas_avaliacoes_alternativas \r\n WHERE \"Chave\" = {$value}"); $r2 = pg_fetch_array($sql2); /* substituido pela sequencia aleatória //echo "<br> SELECT * FROM aulas_avaliacoes_alternativas WHERE CodAula = $codaula AND CodAvaliacao = $r[0] ORDER BY IndexAlternativa"; if ($sql2 = mysql_query("SELECT * FROM aulas_avaliacoes_alternativas WHERE CodAula = $codaula AND CodAvaliacao = $r[0] ORDER BY IndexAlternativa") or die(mysql_errno()) ){ while($r2 = mysql_fetch_array($sql2)) */ $letra = $this->Num_to_letra($key + 1); //. $r2[0]."-".$r2[3]."-".$this->Num_to_letra($r2[3]); $alternativa = preg_replace("/(\\r)?\\n/i", "<br/>", $r2['Alternativa']); $sel = false; if ($val != '') { foreach ($val as $c) { reset($val); if ($c == $r2[0]) { $sel = true; //echo "C-> $c <br>"; } } } ?> <table width="500" class="tbformQuest" > <tr> <td width="10" align="left"><?php echo $letra; ?> </td> <td width="20" valign="middle" align="center" > <input type="radio" name="<?php echo $r[0]; ?> " value="<?php echo $r2[0]; ?> " <?php echo $sel ? 'Checked' : ''; ?> ></td> <td align="left" ><b><?php echo $alternativa; ?> </b></td> </tr> </table> <?php //} } //exibe a informação ?> <table width="500" class="tbformQuest" > <tr> <td><font color="red"> A Ordem das alternativas é aleatória e diferente a cada alteração de tela. Provavelmente será diferente da letra da alternativa exibida no resultado da questão. </font> </td> </tr> </table> <?php //uma linha echo "<br>"; break; case 'DS': $ds = true; $verifica = 1; $sel = ''; //var_dump($val); if ($val != '') { reset($val); foreach ($val as $chave => $valor) { if ($chave == $r[0]) { $sel = $valor; //echo "C-> $c <br>"; } } } else { //obtém $sel do rascunho salvo no banco de dados $rascunho = pg_query("SELECT \"Discursiva\" FROM aulas_avaliacoes_alunos_respostas WHERE \"CodAvaliacao\" = " . $r['Chave'] . " AND \"CodAluno\" = {$user}"); if (pg_num_rows($rascunho) > 0) { $rasc = pg_fetch_array($rascunho); $sel = $rasc['Discursiva']; } } //echo "sel: $sel...<br/>"; $gravado = false; $editavel = true; //echo "SELECT * FROM aulas_avaliacoes_alunos_respostas WHERE \"CodAvaliacao\" = ".$r['Chave']." AND \"CodAluno\" = ".$user."<br/>"; $sqlds = pg_query("SELECT * FROM aulas_avaliacoes_alunos_respostas WHERE \"CodAvaliacao\" = " . $r['Chave'] . " AND \"CodAluno\" = " . $user); if (pg_num_rows($sqlds) > 0) { $gravado = true; $ds = pg_fetch_array($sqlds); if ($ds['Nota'] > 0) { $editavel = false; } } //echo "editavel: $editavel, gravado: $gravado"; ?> <table width="500" class="tbformtbformQuest"> <?php if ($editavel) { //echo "é editável<br>"; ?> <tr> <td width="10px" align="left"></td> <td align="left"> <textarea rows="6" cols="54" name="<?php echo $r['Chave']; ?> " onchange="gravaedicao(this,<?php echo $r['Chave'] . ", {$user}"; ?> )"><?php echo $sel; ?> </textarea> </td> </tr> <tr> <td align="left"> <button type="submit" name="SalvarRascunho" value="<?php echo $r['Chave']; ?> " title="Salvar Rascunho">Salvar</button> </td> <td align="right"> <?php if ($r['Min'] > 0 || $r['Max'] > 0) { if (strlen($sel) > 0) { $fc = new funcs(); $str = $fc->contapalavras($sel, $r['Min'], $r['Max']); echo $str; } } ?> </td> </tr> <?php } else { //não editável $str = $sel; $q = substr_count($str, chr(13)) + 2; ?> <tr> <td width="20"></td> <td> <textarea rows="<?php echo $q; ?> " cols="54" name="<?php echo $r['Chave']; ?> " readonly="readonly"><?php echo $sel; ?> </textarea> </td> <td width="20px"></td> </tr> <tr> <td width="20"></td> <td style="text-align: right;"> <font color="blue"><b> <?php if ($ds['Nota'] > 4) { echo "Nota:" . $ds['Nota']; } else { switch ($ds['Nota']) { case 1: echo "Conceito: Insatisfatório"; break; case 2: echo "Conceito: Satisfatório"; break; case 3: echo "Conceito: Bom"; break; case 4: echo "Conceito: Excelente"; break; } } ?> </b></font> </td> <td width="20px"></td> </tr> <?php } ?> </table> <?php break; case 'SM': //exibe as alternativas //echo "<br> SELECT * FROM aulas_avaliacoes_alternativas WHERE CodAula = $codaula AND CodAvaliacao = $r[0] ORDER BY IndexAlternativa"; if ($sql2 = pg_query("SELECT * FROM aulas_avaliacoes_alternativas WHERE \"CodAula\" = {$codaula} AND \"CodAvaliacao\" = {$r['0']} ORDER BY \"IndexAlternativa\"")) { while ($r2 = pg_fetch_array($sql2)) { $letra = $this->Num_to_letra($r2[3]); $alternativa = preg_replace("/(\\r)?\\n/i", "<br/>", $r2['Alternativa']); $sel = false; if ($val != '') { reset($val); foreach ($val as $c => $i) { if ($c == $r2[2]) { foreach ($i as $k => $v) { if ($v == $r2[0]) { $sel = true; } } } } } ?> <table width="500" class="tbformQuest"> <tr> <td width="10" align="left"><?php echo $letra; ?> </td> <td width="20" valign="middle" align="center" > <input type="checkbox" name="<?php echo $r[0] . "[]"; ?> " value="<?php echo $r2[0]; ?> " <?php echo $sel ? 'Checked' : ''; ?> ></td> <td align="left" ><b><?php echo $alternativa; ?> </b></td> </tr> </table> <?php } } //uma linha echo "<br>"; break; } //switch } //WHILE } //IF ?> <table class="tablemenuAluno"> <tr> <td> </td> </tr> </table> <table width="500" > <tr> <td align="right"> <?php if (!$ds) { ?> <input type="submit" name="Enviarespostas" value="Enviar Respostas" onclick="return checkaDS('Questionario',<?php echo "{$min}, {$verifica}"; ?> )"> <?php } ?> </td> </tr> </table> </form> </div> <?php }
if ($r[0] > $r2[0]) { $msg = "Questionário já respondido."; $grava = false; } else { $msg = ''; $sql = pg_query("SELECT \"Chave\", \"IndexQuestao\", \"Tipo\", \"Min\", \"Max\" FROM aulas_avaliacoes WHERE \"CodAula\" = " . $log['CodAula'] . " ORDER BY \"Chave\""); while ($r = pg_fetch_array($sql)) { reset($_POST); $grava = False; foreach ($_POST as $k => $v) { if ($k == $r[0]) { $grava = TRUE; if (($r[2] == 'DS' || $r[2] == '') && strlen($v) >= 2) { //verifica se a questão tem número mínimo e/ou máximo de caracteres if ($r['Min'] > 0 || $r['Max'] > 0) { $conta = $fc->contapalavras($v, $r['Min'], $r['Max']); if ($conta != '') { $msg .= "Resposta {$r['1']} {$conta} \n"; } } else { if (trim($v) == '') { $grava = FALSE; } } } //sai do laço break; } } if (!$grava && $min[0] < 1) { $msg .= "Informe a resposta para a questão {$r['1']}.\n";