function Main() { $codigo = base64_decode($_POST['txtCodigo']); $txt = urldecode($_POST['txtDescricao']); $clsAtual = $_POST['selClasse']; $nivAtual = $_POST['selNivel']; $tipAtual = $_POST['selTipo']; $ativo = $_POST['selAtivo']; $expGeral = urldecode($_POST['txtExplicacaoGeral']); if (trim($codigo) == "") { $codigo = null; } else { if (!is_numeric($codigo)) { echo Comuns::Idioma("@lng[Código informado não é válido]"); } } $p = new Pergunta(); if (!is_null($codigo)) { $p->setCodigo($codigo); } $p->setTexto($txt); $p->setClasse($clsAtual); $p->setNivel($nivAtual); $p->setTipo(TipoPergunta::RetornaTipo($tipAtual)); $p->setAtivo($ativo); if ($expGeral != "") { $p->setTextoExplicacaoGeral($expGeral); } if ($p->getCodigo() === 0) { if ($p->AdicionaPergunta() === true) { $_SESSION['perg'] = $p->getCodigo(); echo "OK"; } else { $_SESSION['perg'] = 0; echo Comuns::Idioma("@lng[Erro ao adicionar a pergunta:]"); } } else { if ($p->AtualizaPergunta() === true) { $_SESSION['perg'] = $p->getCodigo(); echo "OK"; } else { $erros = "@lng[Erros ocorreram.]"; foreach ($p->msg_erro as $err) { $erros .= "<br />" . $err; } echo Comuns::Idioma($erros); } } }
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); }
} // fim do IF $perguntaAtual->setNumAlternativas($_POST['num_alternativas']); //Salva as alternativas no objeto alternativa for ($i = 1; $i <= $_POST["num_alternativas"]; $i++) { $alternativas->setAlternativa($i, $numDaPergunta, $_POST['txt_alternativa_' . $i], $altCorretas[$i]); } } else { //Define que o questionário precisa de correção, pois tem perguntas dissertativas $questionario->setNecessitaCorrecao(1); $perguntaAtual->setNumAlternativas(0); } //Salva as informações da pergunta no objeto pergunta $perguntaAtual->setEnunciado($_POST['txt_enunciado']); $perguntaAtual->setNumPergunta($numDaPergunta); $perguntaAtual->setTipo($_POST['tipo_pergunta']); //Opcional $imagem = array("type" => "image/" . $_POST["txt_tipo_imagem"], "tmp_name" => $_POST["txt_caminho_imagem"]); $perguntaAtual->setImagem($imagem); $perguntaAtual->setPeso($_POST['txt_peso_pergunta']); $tags = array(); //Testa se o Campo Tags está preenchido e salva as tags individualmente if ($_POST["txt_tags"] != "") { $tags = explode(";", $_POST["txt_tags"]); } array_push($tags, $questionario->getMateria()); $perguntaAtual->setTags($tags); //Salva objeto "PerguntaAtual" no vetor de perguntas $perguntas[$numDaPergunta] = $perguntaAtual; //Salva o objeto "Alternativas" no vetor de alternativas $perguntas_alternativas[$numDaPergunta] = $alternativas;