Ejemplo n.º 1
0
function Main()
{
    header('Content-Type: text/html; charset=iso-8859-1');
    if (isset($_SESSION['caso']) && $_SESSION['caso'] > 0) {
        if ($_POST['tip'] == "tree") {
            $mon = new Montagem();
            $mon->setCodCaso($_SESSION['caso']);
            $html = $mon->RetornaArvoreLista();
            if ($html) {
                $html = str_replace('<div id="tree">', '<div id="' . $_POST['id'] . '">', $html);
            } else {
                $html = "ERRO: " . $mon->getErro();
            }
            echo $html;
        } else {
            if ($_POST['tip'] == "opts") {
                if (!$_POST['perg']) {
                    $res = new Resolucao();
                    $res->setCodcaso($_SESSION['caso']);
                    $hash = $res->BuscaConteudoPelaChave($_POST['nodo'], true);
                    if ($hash != false) {
                        echo $hash->ToXML();
                    } else {
                        echo "ERRO. Hash voltou false";
                    }
                } else {
                    $pergunta = new Pergunta();
                    $pergunta->Carregar($_POST['perg']);
                    if ($pergunta->getTipo()->getCodigo() == 1) {
                        $cont = 1;
                        foreach ($pergunta->getAlternativas() as $alternativa) {
                            $html .= '<div class="alt-img">';
                            $html .= '<input type="checkbox" name="rdoAlternativa_' . $pergunta->getCodigo() . '[]" id="rdoAlt_' . $pergunta->getCodigo() . '_' . $cont . '" value="' . $alternativa->getCodBinario() . '" class="opcao-resposta" />' . $alternativa->getTexto();
                            $html .= '<div id="img"><img src="' . $alt->getImagem() . '" alt="' . $alt->getTexto() . '" title="' . $alt->getTexto() . '" class="img-preview" /></div>';
                            $html .= '</div>';
                            $cont++;
                        }
                    } else {
                        $cont = 1;
                        foreach ($pergunta->getAlternativas() as $alternativa) {
                            $html .= '<div class="alt-txt">';
                            $html .= '<input type="checkbox" name="rdoAlternativa_' . $pergunta->getCodigo() . '[]" id="rdoAlt_' . $pergunta->getCodigo() . '_' . $cont . '" value="' . $alternativa->getCodBinario() . '" class="opcao-resposta" />' . $alternativa->getTexto();
                            $html .= '</div>';
                            $cont++;
                        }
                    }
                    echo '<conteudo>' . $html . '</conteudo>';
                }
            } else {
                if ($_POST['tip'] == 'pergs') {
                    //$arrNodo = split("_", $_POST['nodo']);
                    Log::RegistraLog("Vai consultas as perguntas vinculadas ao nodo: " . $arrNodo[3]);
                    $mon = new Montagem();
                    $mon->setCodCaso($_SESSION['caso']);
                    $lista = $mon->ListaPerguntasNodo($_POST['nodo']);
                    if ($lista) {
                        $html .= '<option value="-1">@lng[Selecione]</option>';
                        foreach ($lista as $perg) {
                            $html .= '<option value="' . $perg->Codigo . '">' . substr($perg->Texto, 0, 100) . '</option>';
                        }
                    } else {
                        $html .= '<option>' . $mon->getErro() . '</option>';
                    }
                    echo $html;
                } else {
                    if ($_POST['tip'] == 'salvacond') {
                        $arrNodoAtual = split("_", $_POST['nodoatual']);
                        $arrNodoDestino = split("_", $_POST['nododes']);
                        if ($_POST['nodocond']) {
                            $arrNodoCond = split("_", $_POST['nodocond']);
                            $strChaveCond = $arrNodoCond[3];
                            if ($_POST['perg']) {
                                $intPerg = $_POST['perg'];
                            } else {
                                $intPerg = null;
                            }
                            $intResp = $_POST['resp'];
                        } else {
                            $strChaveCond = null;
                            $intResp = null;
                            $intPerg = null;
                        }
                        $strChaveAtual = $arrNodoAtual[3];
                        $strChaveDestino = $arrNodoDestino[3];
                        $mon = new Montagem();
                        $mon->setCodCaso($_SESSION['caso']);
                        $desvio = $mon->InsereSalto($strChaveAtual, $strChaveDestino, $strChaveCond, $intPerg, $intResp);
                        if ($desvio) {
                            $html = $mon->RetornaListaConfSaltos($strChaveAtual);
                            if ($html) {
                                echo $html;
                            } else {
                                echo "ERRO: " . $mon->getErro();
                            }
                        } else {
                            echo "ERRO: " . $mon->getErro();
                        }
                    } else {
                        if ($_POST['tip'] == 'mudaprior') {
                            $mon = new Montagem();
                            $mon->setCodCaso($_SESSION['caso']);
                            if ($mon->AlteraPrioridadeSalto($_POST['mm'], base64_decode($_POST['chaveOri']), base64_decode($_POST['chaveDest']))) {
                                echo $mon->RetornaListaConfSaltos(base64_decode($_POST['chaveOri']));
                            } else {
                                echo "ERRO: " . $mon->getErro();
                            }
                        } else {
                            if ($_POST['tip'] == 'delsalto') {
                                $mon = new Montagem();
                                $mon->setCodCaso($_SESSION['caso']);
                                if ($mon->DeletaSalto(base64_decode($_POST['chaveOri']), base64_decode($_POST['chaveDest']))) {
                                    echo $mon->RetornaListaConfSaltos(base64_decode($_POST['chaveOri']));
                                } else {
                                    echo "ERRO: " . $mon->getErro();
                                }
                            } else {
                                if ($_POST['tip'] == 'vincanexo') {
                                    $mon = new Montagem();
                                    $mon->setCodCaso($_SESSION['caso']);
                                    $nodo = $_POST['item'];
                                    $cont = $_POST['cont'];
                                    $strTipoCont = substr($cont, 0, 1);
                                    $arr = split("_", $nodo);
                                    $u = unserialize($_SESSION['usu']);
                                    if ($mon->InsereAnexo($arr[3], base64_decode(substr($cont, 1)), $strTipoCont, $u->getCodigo())) {
                                        echo $mon->RetornaListaConfAnexos($arr[3]);
                                    } else {
                                        echo 'ERRO: ' . $mon->getErro();
                                    }
                                } else {
                                    if ($_POST['tip'] == 'delanexo') {
                                        $mon = new Montagem();
                                        $mon->setCodCaso($_SESSION['caso']);
                                        $nodo = base64_decode($_POST['item']);
                                        $cont = $_POST['cont'];
                                        $strTipoCont = substr($cont, 0, 1);
                                        //$arr = split("_", $nodo);
                                        //die("ERRO: " . $nodo . ' ' . base64_decode(substr($cont, 1)));
                                        if ($mon->DeletaAnexo($nodo, base64_decode(substr($cont, 1)), $strTipoCont)) {
                                            $listagem = $mon->RetornaListaConfAnexos($nodo);
                                            if ($listagem !== false) {
                                                echo $listagem;
                                            } else {
                                                echo "ERRO: " . $mon->getErro();
                                            }
                                        } else {
                                            echo 'ERRO: ' . $mon->getErro();
                                        }
                                    }
                                }
                            }
                        }
                    }
                }
            }
        }
    } else {
        echo "ERRO: @lng[Caso não informado]";
    }
}
Ejemplo n.º 2
0
function Main()
{
    if (isset($_SESSION['perg'])) {
        $p = new Pergunta();
        $p->Carregar($_SESSION['perg']);
        $a = new Alternativa();
        $acao = isset($_GET['act']) && !is_null($_GET['act']) ? $_GET['act'] : "";
        if ($acao == "novaordem") {
            if ($p->ReordenaAlternativa($_POST['ids'])) {
                echo "OK";
            } else {
                $erros = "@lng[Erros ocorreram.]";
                foreach ($p->msg_erro as $err) {
                    $erros .= "<br />" . $err;
                }
                echo $erros;
            }
        } else {
            // Nao recebe o codigo da pergunta pois este ja esta informado na session 'perg'
            // O recebimento da sequencia eh só pra decidir se insere ou atualiza a alternativa
            if ($p->getTipo()->getCodigo() == 1) {
                $seq = isset($_POST['hidSeq']) && $_POST['hidSeq'] != "" ? $_POST['hidSeq'] : null;
                $txt = urldecode($_POST['txtTextoAdicional']);
                $car = $_POST['selCorreta'];
                $m_explicacao = isset($_POST['chkMostra']) ? $_POST['chkMostra'] : 0;
                $explicacao = $_POST['txtExplicacao'];
                $origem = isset($_POST['hdnOrigem']) && $_POST['hdnOrigem'] != "" ? $_POST['hdnOrigem'] : "";
                $acao = $_POST['selConsequencia'];
                $qual_acao = $_POST['selValorConsequencia'];
            } else {
                $seq = isset($_POST['hidSeq']) && $_POST['hidSeq'] != "" ? $_POST['hidSeq'] : null;
                $txt = urldecode($_POST['txtAlternativa']);
                $car = $_POST['selCorretoTxt'];
                $explicacao = $_POST['txtJustTxt'];
                $origem = isset($_POST['hdnOrigem']) && $_POST['hdnOrigem'] != "" ? $_POST['hdnOrigem'] : "";
            }
            if ($acao == 1) {
                $qual_acao = 0;
            }
            if (!is_integer($qual_acao)) {
                if (!is_null($qual_acao)) {
                    $qual_acao = base64_decode($qual_acao);
                }
            }
            if (!is_null($seq)) {
                $a->setSequencia($seq);
            }
            $a->setTexto($txt);
            $a->setCorreto($car);
            $a->setExplicacao($explicacao);
            $a->setExibirExplicacao($m_explicacao);
            $a->setTipoConsequencia($acao);
            $a->setValorConsequencia($qual_acao);
            $a->setOrigem($origem);
            if (is_null($seq)) {
                if ($p->AdicionaAlternativa($a) === true) {
                    $_SESSION['perg'] = $p->getCodigo();
                    header("Location:vwalternativas.php?p=" . base64_encode($p->getCodigo()));
                } else {
                    $erros = "@lng[Erros ocorreram.]";
                    foreach ($p->msg_erro as $erro) {
                        $erros .= "<br />" . $erro;
                    }
                    header("Location:vwalternativas.php?p=" . base64_encode($p->getCodigo()) . "&m=" . base64_encode($erros));
                }
            } else {
                if ($p->AtualizaAlternativa($a) === true) {
                    $_SESSION['perg'] = $p->getCodigo();
                    header("Location:vwalternativas.php?p=" . base64_encode($p->getCodigo()));
                } else {
                    $erros = "@lng[Erros ocorreram.]";
                    foreach ($p->msg_erro as $err) {
                        $erros .= "<br />" . $err;
                    }
                    header("Location:vwalternativas.php?p=" . base64_encode($p->getCodigo()) . "&m=" . base64_encode($erros));
                }
            }
        }
    } else {
        echo "@lng[Pergunta não definida]";
    }
}
Ejemplo n.º 3
0
 private function RenderPergunta($chaveagrupador, $codpergunta, $confs, $bolListagemSimples = false)
 {
     //Log::RegistraLog("Chamou o renderPergunta passando o pergunta " . $codpergunta);
     $pergunta = new Pergunta();
     if ($pergunta->Carregar($codpergunta)) {
         $respostas = $this->BuscaRespostas($chaveagrupador, $codpergunta);
         $html .= '<div class="pergunta">';
         $html .= '  <div id="pergunta-texto">';
         $html .= '    <img id="img_perg_' . $codpergunta . '" src="img/question.png" alt="@lng[Pergunta]" title="@lng[Pergunta]" class="img-pergunta atualizar-resp">' . $pergunta->getTexto();
         $html .= '  </div>';
         $alternativas = $pergunta->getAlternativas();
         $cont = 1;
         $letra = 65;
         $agrupar = true;
         foreach ($alternativas as $alt) {
             switch ($pergunta->getTipo()->getCodigo()) {
                 case 1:
                     $html .= '<div class="alt-img">';
                     $html .= '  <div class="alt-img-radio">';
                     $html .= '    ' . chr($letra) . ') <input type="' . ($bolListagemSimples ? 'checkbox' : 'radio') . '" name="rdoAlternativa_' . $pergunta->getCodigo() . '[]" id="rdoAlt_' . $pergunta->getCodigo() . '_' . $cont . '" value="' . $alt->getCodBinario() . '" ' . ((intval($alt->getCodBinario()) & intval($respostas)) > 0 ? 'checked="checked"' : '') . ' class="opcao-resposta" />';
                     $html .= '  </div>';
                     $html .= '  <div id="img"><img src="' . $alt->getImagem() . '" alt="' . $alt->getTexto() . '" title="' . $alt->getTexto() . '" /></div>';
                     $html .= '</div>';
                     break;
                 case 2:
                     $html .= '<div class="alt-txt">';
                     $html .= '  ' . chr($letra) . ') <input type="checkbox" name="rdoAlternativa_' . $pergunta->getCodigo() . '[]" id="rdoAlt_' . $pergunta->getCodigo() . '_' . $cont . '" value="' . $alt->getCodBinario() . '" ' . ((intval($alt->getCodBinario()) & intval($respostas)) > 0 ? 'checked="checked"' : '') . ' class="opcao-resposta" />' . $alt->getTexto();
                     $html .= '</div>';
                     break;
                 case 3:
                     $html .= '<div class="alt-txt">';
                     $html .= '  ' . chr($letra) . ') <input type="' . ($bolListagemSimples ? 'checkbox' : 'radio') . '" name="rdoAlternativa' . ($agrupar ? '_' . $pergunta->getCodigo() : '') . '[]" id="rdoAlt_' . $pergunta->getCodigo() . '_' . $cont . '" value="' . $alt->getCodBinario() . '" ' . ((intval($alt->getCodBinario()) & intval($respostas)) > 0 ? 'checked="checked"' : '') . ' class="opcao-resposta" />' . $alt->getTexto();
                     $html .= '</div>';
                     break;
             }
             $cont++;
             $letra++;
         }
         $html .= '</div>';
     } else {
         $html = "Erro: " . $pergunta->msg_erro;
     }
     return $html;
 }
Ejemplo n.º 4
0
function Main()
{
    $codigo = isset($_POST['txtCodigo']) ? base64_decode($_POST['txtCodigo']) : null;
    $txt = urldecode($_POST['txtDescricao']);
    $clsAtual = $_POST['selClasse'];
    $nivAtual = $_POST['selNivel'];
    $tipAtual = $_POST['selTipo'];
    $ativo = $_POST['selAtivo'];
    $act = isset($_POST['act']) ? base64_decode($_POST['act']) : null;
    $expGeral = $_POST['txtExplicacaoGeral'];
    $u = unserialize($_SESSION['usu']);
    // Ação veio vazio. Sendo assim monta o formulário.
    if (!$act) {
        // Busca o template
        $tpl = file_get_contents('tpl/perguntas-E1.html');
        $tpl = str_replace("<!--telatopo-->", Comuns::GeraTopoPagina($u), $tpl);
        $botoes = Botao::BotaoSalvar("fntGravaE1();", "@lng[Salvar pergunta e cadastrar/editar alternativas]");
        $botoes .= Botao::BotaoCancelar("fntNavega('listagem.php?t=8');", "@lng[Cancelar edição]");
        $tpl = str_replace("<!--itens-toolbar-->", $botoes, $tpl);
        $tpl = str_replace("<!--Mensagem-->", isset($mensagem) && $mensagem != "" ? base64_decode($mensagem) : "", $tpl);
        // Verifica se veio um registro informado via GET
        if (is_null($codigo)) {
            $codigo = isset($_GET['r']) ? base64_decode($_GET['r']) : null;
        }
        // Instancia classe
        $p = new Pergunta();
        // Se veio um código via GET, entende-se que o mesmo deva ser editado.
        if (!is_null($codigo)) {
            $p->Carregar($codigo);
        }
        $tipos = $p->tipos->ListaRecordSet();
        $classes = $p->classes->ListaRecordSet();
        $niveis = $p->niveis->ListaRecordSet();
        $strtipos = "";
        $strclasses = "";
        $strniveis = "";
        foreach ($tipos as $linhat) {
            $strtipos .= '<option ' . ($linhat->Codigo == ($p->getTipo() != null ? $p->getTipo()->getCodigo() : 0) ? 'selected="selected"' : '') . ' value="' . $linhat->Codigo . '">' . $linhat->Descricao . '</option>';
        }
        foreach ($classes as $linhac) {
            $strclasses .= '<option ' . ($linhac->Codigo == $p->getClasse() ? 'selected="selected"' : '') . ' value="' . $linhac->Codigo . '">' . $linhac->Descricao . '</option>';
        }
        foreach ($niveis as $linhan) {
            $strniveis .= '<option ' . ($linhan->Codigo == $p->getNivel() ? 'selected="selected"' : '') . ' value="' . $linhan->Codigo . '">' . $linhan->Descricao . '</option>';
        }
        $strAtivo = '<option ' . ($p->getAtivo() == 1 ? 'selected="selected"' : "") . ' value="1">@lng[Sim]</option><option ' . ($p->getAtivo() == 0 ? 'selected="selected"' : "") . ' value="0">@lng[Não]</option>';
        $tpl = str_replace("<!--txtCodigo-->", $p->getCodigo() == 0 ? "" : base64_encode($p->getCodigo()), $tpl);
        $tpl = str_replace("<!--TextoPergunta-->", $p->getTexto(), $tpl);
        $tpl = str_replace("<!--txtExplicacaoGeral-->", is_null($p->getTextoExplicacaoGeral()) ? "" : $p->getTextoExplicacaoGeral(), $tpl);
        $tpl = str_replace("<!--ListaClasses-->", $strclasses, $tpl);
        $tpl = str_replace("<!--ListaNiveis-->", $strniveis, $tpl);
        $tpl = str_replace("<!--ListaAtivo-->", $strAtivo, $tpl);
        $tpl = str_replace("<!--ListaTipos-->", $strtipos, $tpl);
    } else {
        if ($act == "ins") {
            $p = new Pergunta();
            if (!is_null($codigo)) {
                $p->setCodigo($codigo);
            }
            $p->setTexto($txt);
            $p->setClasse($clsAtual);
            $p->setNivel($nivAtual);
            $p->setTipo($tipAtual);
            $p->setAtivo($ativo);
            if ($expGeral != "") {
                $p->setTextoExplicacaoGeral($expGeral);
            }
            if ($p->getCodigo() === 0) {
                if ($p->AdicionaPergunta() === true) {
                    $_SESSION['perg'] = serialize($p);
                    header("Location:alternativas.php");
                } else {
                    $_SESSION['perg'] = "";
                    echo "@lng[Erro ao adicionar a pergunta:]";
                }
            } else {
                if ($p->AtualizaPergunta() === true) {
                    $_SESSION['perg'] = serialize($p);
                }
            }
        }
    }
    echo Comuns::Idioma($tpl);
}
Ejemplo n.º 5
0
function Main()
{
    $u = unserialize($_SESSION['usu']);
    if (isset($_SESSION['perg']) && !is_null($_SESSION['perg']) && $_SESSION['perg'] != "") {
        // Verifica se já tem uma sessão iniciada para uma pergunta. Se tiver...
        if (isset($_GET['p'])) {
            // Se tiver mas vier via GET algum código, limpa a sessão e recarrega os dados
            unset($_SESSION['perg']);
            $cod = base64_decode($_GET['p']);
            $p = new Pergunta();
            $p->Carregar($cod);
        } else {
            $p = new Pergunta();
            $p->Carregar($_SESSION['perg']);
        }
    } else {
        // Se não tiver sessão iniciada...
        if (isset($_GET['p'])) {
            // Deve vir obrigatoriamente um código informado via GET. Caso veio, instancia a pergunta
            $cod = base64_decode($_GET['p']);
            $p = new Pergunta();
            $p->Carregar($cod);
        } else {
            // Se não veio código é porque alguma coisa saiu errado ou o usuário não deveria estar acessando a página
            $msg = base64_encode("Algo saiu errado.");
            header("Location:listagem.php?t=8&m=" . $msg);
        }
    }
    $tpl = file_get_contents('tpl/alternativas.html');
    $tpl = str_replace("<!--telatopo-->", Comuns::GeraTopoPagina($u), $tpl);
    $botoes = Botao::BotaoSalvar("fntGravaAlternativa();", "@lng[Salvar a alternativa]");
    $botoes .= Botao::BotaoCancelar("fntNavega('listagem.php?t=8');", "@lng[Cancelar edição]");
    $botoes .= Botao::BotaoVoltar("fntNavega('vwpergunta.php?r=" . base64_encode($p->getCodigo()) . "');");
    $tpl = str_replace("<!--itens-toolbar-->", $botoes, $tpl);
    $tpl = str_replace("<!--Mensagem-->", isset($mensagem) && $mensagem != "" ? base64_decode($mensagem) : "", $tpl);
    $tipconsatual = 1;
    $valconsatual = -1;
    if (count($p->getAlternativas()) > 0) {
        $arquivotpl = 'tpl/alternativas-comp' . $p->getTipo()->getCodigo() . '.html';
        //$item_padrao = file_get_contents('tpl/alternativas-comp1.html');
        $item_padrao = file_get_contents($arquivotpl);
        $itens = '';
        foreach ($p->getAlternativas() as $alt) {
            $copia = $item_padrao;
            $copia = str_replace("<!--perg-->", base64_encode($p->getCodigo()), $copia);
            $copia = str_replace("<!--seq-->", base64_encode($alt->getSequencia()), $copia);
            $copia = str_replace("<!--correta-->", $alt->getCorreto() == 1 ? "SIM" : "NÃO", $copia);
            $copia = str_replace("<!--ordem-->", $alt->getSequencia(), $copia);
            $copia = str_replace("<!--ordem-ex-->", base64_encode($alt->getSequencia()), $copia);
            $copia = str_replace("<!--codunico-->", base64_encode($alt->getCodUnico()), $copia);
            $copia = str_replace("<!--excluir-->", "", $copia);
            if ($p->getTipo()->getCodigo() == 1) {
                $copia = str_replace("<!--img-preview-->", $alt->getImagem(), $copia);
            } else {
                $copia = str_replace("<!--textoalternativa-->", strlen($alt->getTexto()) > 100 ? substr($alt->getTexto(), 0, 97) . "..." : $alt->getTexto(), $copia);
            }
            $itens .= $copia;
            if (isset($_GET['s']) && $_GET['s'] != "") {
                // Se foi informado um segundo parâmetro, contendo a sequência da alternativa,
                // quer dizer que deve ser carregada a alternativa para edição.
                if (base64_decode($_GET['s']) == $alt->getCodUnico()) {
                    if ($p->getTipo()->getCodigo() == 1) {
                        $tpl = str_replace("<!--hidSeq-->", $alt->getSequencia(), $tpl);
                        //$tpl = str_replace("<!--nomeimg-->", $alt->getImagem(), $tpl);
                        $tpl = str_replace("<!--nomeimg-->", "", $tpl);
                        $tpl = str_replace("<!--txtTextoAdicional-->", $alt->getTexto(), $tpl);
                        $tpl = str_replace("<!--opcoescorreto-->", SimNao::SelectSimNao($alt->getCorreto()), $tpl);
                        $tpl = str_replace("<!--txtExplicacao-->", $alt->getExplicacao(), $tpl);
                        $tpl = str_replace("<!--hidocultar-->", "N", $tpl);
                    } else {
                        if ($p->getTipo()->getCodigo() == 2 || $p->getTipo()->getCodigo() == 3) {
                            $tpl = str_replace("<!--hidSeq-->", $alt->getSequencia(), $tpl);
                            $tpl = str_replace("<!--txtAlternativa-->", $alt->getTexto(), $tpl);
                            $tpl = str_replace("<!--selcorretotxt-->", SimNao::SelectSimNao($alt->getCorreto()), $tpl);
                            $tpl = str_replace("<!--txtJustTxt-->", $alt->getExplicacao(), $tpl);
                            $tpl = str_replace("<!--hidocultar-->", "N", $tpl);
                        }
                    }
                } else {
                    $tpl = str_replace("<!--hidocultar-->", "S", $tpl);
                }
            } else {
                $tpl = str_replace("<!--hidocultar-->", "S", $tpl);
            }
        }
        $itens .= '<div id="addAlt" class="box-alternativa box-zero-alternativa">';
        $itens .= '    <span style="line-height:43px;">@lng[Adiciona alternativa]</span>';
        $itens .= '</div>';
    } else {
        $itens = '<div id="addAlt" class="box-alternativa box-zero-alternativa">';
        $itens .= '    @lng[Nenhuma alternativa cadastrada]<br />';
        $itens .= '    @lng[Adiciona alternativa]';
        $itens .= '</div>';
    }
    // Se não foi informado nenhum registro, limpa o que ficou pra traz
    $tpl = str_replace("<!--hidSeq-->", "", $tpl);
    $tpl = str_replace("<!--nomeimg-->", "", $tpl);
    $tpl = str_replace("<!--txtTextoAdicional-->", "", $tpl);
    $tpl = str_replace("<!--txtExplicacao-->", "", $tpl);
    $tpl = str_replace("<!--opcoescorreto-->", SimNao::SelectSimNao(), $tpl);
    $tpl = str_replace("<!--txtAlternativa-->", "", $tpl);
    $tpl = str_replace("<!--selcorretotxt-->", SimNao::SelectSimNao(), $tpl);
    $tips = '<option value="0">@lng[Todos]</option>';
    foreach ($p->tipos->ListaRecordSet() as $tipo) {
        $tips .= '<option value="' . $tipo->Codigo . '">' . $tipo->Descricao . '</option>';
    }
    $cls = '<option value="0">@lng[Todos]</option>';
    foreach ($p->classes->ListaRecordSet() as $classe) {
        $cls .= '<option value="' . $classe->Codigo . '">' . $classe->Descricao . '</option>';
    }
    $tpl = str_replace('<!--descricao-->', $p->getTexto(), $tpl);
    $tpl = str_replace('<!--alternativas-->', $itens, $tpl);
    $tpl = str_replace('<!--tipo-->', $p->getTipo()->getDescricao(), $tpl);
    $tpl = str_replace('<!--hidtipo-->', $p->getTipo()->getCodigo(), $tpl);
    $tpl = str_replace("<!--classespergunta-->", $cls, $tpl);
    $tpl = str_replace("<!--tipospergunta-->", $tips, $tpl);
    $_SESSION['perg'] = $p->getCodigo();
    echo Comuns::Idioma($tpl);
}
Ejemplo n.º 6
0
 private function MontaConteudoPerguntas($codpergunta, $dica = true, $agrupar = false)
 {
     $perg = new Pergunta();
     $perg->Carregar($codpergunta);
     $conteudo .= '<div class="pergunta">';
     $conteudo .= '  <div id="pergunta-texto">';
     $conteudo .= '    <img id="img_perg_' . $codpergunta . '" src="img/question.png" alt="@lng[Pergunta]" title="@lng[Pergunta]" class="img-pergunta atualizar-resp">' . $perg->getTexto();
     $conteudo .= '  </div>';
     if ($dica) {
         switch ($perg->getTipo()->getCodigo()) {
             case 1:
             case 3:
                 $conteudo .= '<div id="pergunta-instr">@lng[Escolha uma das alternativas]</div>';
                 break;
             case 2:
                 $conteudo .= '<div id="pergunta-instr">@lng[Você pode escolher mais de uma alternativa se achar necessário]</div>';
                 break;
         }
     }
     $alternativas = $perg->getAlternativas();
     $cont = 1;
     $letra = 65;
     foreach ($alternativas as $alt) {
         switch ($perg->getTipo()->getCodigo()) {
             case 1:
                 $conteudo .= '<div class="alt-img">';
                 $conteudo .= '  <div class="alt-img-radio">';
                 $conteudo .= '    ' . chr($letra) . ') <input type="radio" name="rdoAlternativa' . ($agrupar ? '_' . $perg->getCodigo() : '') . '[]" id="rdoAlt_' . $cont . '" value="' . $alt->getCodUnico() . '" class="opcao-resposta" />';
                 $conteudo .= '  </div>';
                 $conteudo .= '  <div id="img"><img src="' . $alt->getImagem() . '" alt="' . $alt->getTexto() . '" title="' . $alt->getTexto() . '" /></div>';
                 $conteudo .= '</div>';
                 break;
             case 2:
                 $conteudo .= '<div class="alt-txt">';
                 $conteudo .= '  ' . chr($letra) . ') <input type="checkbox" name="rdoAlternativa' . ($agrupar ? '_' . $perg->getCodigo() : '') . '[]" id="rdoAlt_' . $cont . '" value="' . $alt->getCodUnico() . '" class="opcao-resposta" />' . $alt->getTexto();
                 $conteudo .= '</div>';
                 break;
             case 3:
                 $conteudo .= '<div class="alt-txt">';
                 $conteudo .= '  ' . chr($letra) . ') <input type="radio" name="rdoAlternativa' . ($agrupar ? '_' . $perg->getCodigo() : '') . '[]" id="rdoAlt_' . $cont . '" value="' . $alt->getCodUnico() . '" class="opcao-resposta" />' . $alt->getTexto();
                 $conteudo .= '</div>';
                 break;
         }
         $cont++;
         $letra++;
     }
     $conteudo .= '</div>';
     return $conteudo;
 }
Ejemplo n.º 7
0
function VerificaAcerto($codpergunta, $marcadas)
{
    $p = new Pergunta();
    $p->Carregar($codpergunta);
    $alternativas = $p->getAlternativas();
    $acertou = false;
    if ($p->getTipo()->getCodigo() == 1 || $p->getTipo()->getCodigo() == 3) {
        // Somente uma alternativa correta porque vai ser um radio button;
        $escolha = $marcadas;
        foreach ($alternativas as $alt) {
            if ($alt->getCodUnico() == $escolha[0] && $alt->getCorreto() == 1) {
                $acertou = true;
                break;
            }
        }
    } else {
        if ($p->CodTipo == 2) {
            // Pode ter mais de uma alternativa correta porque vai ser um checkbox
            $escolhas = $marcadas;
            for ($i = 0; $i < count($escolhas); $i++) {
                foreach ($alternativas as $alt) {
                    if ($alt->getCodUnico() == $escolhas[$i]) {
                        if ($alt->getCorreto() == 1) {
                            $acertou = true;
                        } else {
                            $acertou = false;
                        }
                    }
                }
            }
        }
    }
    return $acertou;
}