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]"; } }
public function BuscaAlternativasFiltradas($filtro) { Log::RegistraLog("Pesquisa alternativas da pergunta " . $this->codigo . " filtradas por: " . $filtro); $sql = "select CASE WHEN Sequencia IS NULL THEN 0 ELSE Sequencia END Sequencia, "; $sql .= "Texto, Imagem, Correto, Explicacao, ExibirExplicacao, TipoConsequencia, ValorConsequencia, CodUnico, CodBinario "; $sql .= "from mesalternativa "; $sql .= "where CodPergunta = :pCodPerg "; $sql .= " and ((CodBinario & :pFiltro) > 0) "; $sql .= "order by Sequencia;"; $cnn = Conexao2::getInstance(); $q = $cnn->prepare($sql); $q->bindParam(":pCodPerg", $this->codigo, PDO::PARAM_INT); $q->bindParam(":pFiltro", $filtro, PDO::PARAM_INT); $q->execute(); $arrAlternativas = array(); if ($q->rowCount() > 0) { while ($rs = $q->fetch(PDO::FETCH_OBJ)) { $a = new Alternativa(); $a->setSequencia($rs->Sequencia); $a->setCodUnico($rs->CodUnico); $a->setTexto($rs->Texto); $a->setImagem($rs->Imagem); $a->setCorreto($rs->Correto); $a->setExplicacao($rs->Explicacao); $a->setExibirExplicacao($rs->ExibirExplicacao); $a->setTipoConsequencia($rs->CodConsequencia); $a->setValorConsequencia($rs->ValorConsequencia); $a->setCodBinario($rs->CodBinario); $arrAlternativas[] = $a; } } return $arrAlternativas; }