Exemplo n.º 1
0
    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&atilde;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&ccedil;&atilde;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&ccedil;&atilde;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&ccedil;&atilde;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&ecirc;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&oacute;rio</option>
                                <option value="2" <?php 
            echo $freq['Conceito'] == 2 ? 'selected ' : '';
            ?>
 >Satisfat&oacute;rio</option>
                                <option value="3" <?php 
            echo $freq['Conceito'] == 3 ? 'selected ' : '';
            ?>
 >Bom</option>
                                <option value="4" <?php 
            echo $freq['Conceito'] == 4 ? 'selected ' : '';
            ?>
 >&Oacute;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 
    }
Exemplo n.º 2
0
    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 &eacute; aleat&oacute;ria e diferente a cada altera&ccedil;&atilde;o de tela.
                                        Provavelmente ser&aacute; diferente da letra da alternativa exibida no resultado da quest&atilde;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 
    }
Exemplo n.º 3
0
 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&atilde;o {$r['1']}.\n";