function Main() { $codcaso = $_GET['c']; $direcao = $_POST['d']; $codcaso = is_null($codcaso) ? "" : $codcaso; $direcao = is_null($direcao) ? "f" : $direcao; if ($direcao != "p" && $direcao != "f") { $direcao = "p"; } if ($codcaso == "") { if (!isset($_SESSION['casores']) || is_null('casores')) { $msg = base64_encode("@lng[Não foi informado nenhum caso de estudos]"); header("Location:aluno.php?msg=" . $msg); } } else { $_SESSION['casores'] = base64_decode($codcaso); $_SESSION['status'] = false; $_SESSION['codresolucao'] = null; $_SESSION['chaveanterior'] = null; $_SESSION['chaveatual'] = null; $_SESSION['tipocont'] = null; $_SESSION['organizador'] = null; $_SESSION['ordem'] = null; } $chave = $_GET['k']; if (is_null($chave)) { $chave = ""; } $tpl = file_get_contents("tpl/aluno/resolve.html"); $u = unserialize($_SESSION["usu"]); //$u = new Usuario(); $res = new Resolucao(); $res->setCodcaso($_SESSION['casores']); $res->setCodusuario($u->getCodigo()); if (!$_SESSION['status']) { $_SESSION['status'] = $res->BuscaStatusAndamento(); if ($_SESSION['status'] == 1) { $res->IniciaResolucao(); } else { if ($_SESSION['status'] == 2) { if ($_SESSION['codresolucao'] == null) { $_SESSION['codresolucao'] = base64_decode($_GET['r']); } $res->setCodresolucao($_SESSION['codresolucao']); $res->RegistraAcesso($u->getIdAcessoAtual()); } else { if ($_SESSION['status'] == 3) { $res->IniciaResolucao(); } else { $_SESSION['status'] = false; die("Inconsistencia localizada. " . $res->getErro()); } } } } if ($_SESSION['status'] !== false) { $c = new Caso(); $c->setCodigo($_SESSION['casores']); $c->CarregarCaso(); //$conteudo = $c->BuscaProximoConteudo($chave, $direcao); $conteudo = $res->BuscaProximoConteudo($direcao); if (!$conteudo) { echo $res->getErro(); return; } $tpl = str_replace("<!--titulocaso-->", $c->getNome(), $tpl); $tpl = str_replace("<!--titulosecao-->", $conteudo->getValue("titulosecao"), $tpl); $tpl = str_replace("<!--menusecao-->", $conteudo->getValue("menu"), $tpl); $tpl = str_replace("<!--conteudosecao-->", $conteudo->getValue("conteudo"), $tpl); $tpl = str_replace("<!--chave-->", $conteudo->getValue("chave"), $tpl); //$tpl = str_replace("<!--of-->", $conteudo->getValue("Obrigatorio"), $tpl); if ($conteudo->ContainsKey("javascript")) { $tpl = str_replace("<!--javascriptload-->", $conteudo->getValue("javascript"), $tpl); } else { $tpl = str_replace("<!--javascriptload-->", "", $tpl); } echo $tpl; } else { die("@lng[Status do caso não pode ser localizado. Detalhes:] " . $res->getErro()); } }
function Main() { //header('Content-Type: text/html; charset=iso-8859-1'); if (!$_GET['c']) { if (!isset($_SESSION['casores']) || is_null('casores')) { $msg = base64_encode("@lng[Não foi informado nenhum caso de estudo]"); header("Location:aluno.php?msg=" . $msg); } } else { if (Caso::CasoValido(base64_decode($_GET['c']))) { $_SESSION['casores'] = base64_decode($_GET['c']); $_SESSION['status'] = false; $_SESSION['codresolucao'] = null; } else { $msg = base64_encode("@lng[Caso de estudo informado não é um caso válido]"); header("Location:aluno.php?msg=" . $msg); } } $u = unserialize($_SESSION['usu']); //$u = new Usuario(); $tpl = file_get_contents("tpl/frm-resolucao-off.html"); // Armazena a árvore de forma oculta $mon = new Montagem(); $mon->setCodCaso($_SESSION['casores']); $arvore = $mon->RetornaArvoreLista(); $tpl = str_replace("<!--arvore-->", $arvore, $tpl); $res = new Resolucao(); $res->setCodcaso($_SESSION['casores']); $res->setCodusuario($u->getCodigo()); if ($_GET['m'] == 'pre') { $tpl = str_replace("<!--region_close_preview-->", file_get_contents("tpl/close-preview.html"), $tpl); if ($_GET['t'] == 'I') { if ($u->TemGrupo(1) || $u->TemGrupo(4)) { if (Caso::ConsultaSituacao($_SESSION['casores']) == 0) { if (!$res->LimpaResolucao()) { echo Comuns::Idioma("@lng[Erro ao limpar histórico de resoluções.]") . " " . $res->getErro(); return; } } else { echo Comuns::Idioma("@lng[Este caso está publicado e não é possível lipar suas resoluções]"); return; } } else { echo Comuns::Idioma("@lng[Você não tem permissõo para excluir as resoluções deste caso]"); return; } } } if (!$_SESSION['status']) { $_SESSION['status'] = $res->BuscaStatusAndamento(); $raiz = ""; if ($_SESSION['status'] == 1) { $raiz = $res->BuscaNodoRaiz(); $raiz = "fntInicia('raiz_raiz_0_" . $raiz . "');"; $res->IniciaResolucao(); } else { if ($_SESSION['status'] == 2) { if ($_SESSION['codresolucao'] == null) { if ($_GET['r']) { if (Resolucao::ResolucaoValida($_SESSION['casores'], $u->getCodigo(), base64_decode($_GET['r']))) { $_SESSION['codresolucao'] = base64_decode($_GET['r']); } else { $msg = base64_encode("@lng[Dados informados inválidos]"); header("Location:aluno.php?msg=" . $msg); } } else { $codresolucao = Resolucao::BuscaUltimaResolucaoCaso($_SESSION['casores'], $u->getCodigo(), $_SESSION['status']); if ($codresolucao !== false) { $_SESSION['codresolucao'] = $codresolucao; } else { $msg = base64_encode("@lng[Não foi possível localilzar a resolução deste caso]"); header("Location:aluno.php?msg=" . $msg); } } } $res->setCodresolucao($_SESSION['codresolucao']); $res->RegistraAcesso($u->getIdAcessoAtual()); $raiz = $res->BuscaUltimoNodoVisitado(); if ($raiz !== false) { if ($raiz != -1) { $strPossiveis = $res->BuscaTodosMenosUltimoVisitado(); if ($strPossiveis !== false) { $strJaVisitados = $res->BuscaTodosNodosVisitados(); Log::RegistraLog("Nodos possíveis para o caminho de volta: " . $strPossiveis); $raiz = "fntInicia('" . $raiz . "'); fntGeraCaminhoVolta('" . $strPossiveis . "'); fntGeraVisitados('" . $strJaVisitados . "');"; } else { // Se não retornou nenhum é porque o ultimo visto foi a raiz e dai não precisa gerar histórico de volta $raiz = "fntInicia('" . $raiz . "');"; } } else { $raiz = $res->BuscaNodoRaiz(); $raiz = "fntInicia('raiz_raiz_0_" . $raiz . "');"; } } else { $msg = base64_encode("@lng[Erro durante a recuperação das informações.]" . $res->getErro()); header("Location:aluno.php?msg=" . $msg); } } else { if ($_SESSION['status'] == 3) { if ($_GET['re'] && $_GET['re'] == true) { $raiz = $res->BuscaNodoRaiz(); $raiz = "fntInicia('raiz_raiz_0_" . $raiz . "');"; $res->IniciaResolucao(); } else { header("Location:vwopcoescaso.php?c=" . base64_encode($_SESSION['casores'])); } } else { $_SESSION['status'] = false; die("Inconsistencia localizada. " . $res->getErro()); } } } if ($u->getNome() == "Anonimo") { $raiz .= "fntOcultaHome();"; } $tpl = str_replace("<!--javascriptload-->", $raiz, $tpl); } // Busca o nome do caso clínico $infos = Caso::ConsultaInfosCaso($_SESSION['casores']); $tpl = str_replace("<!--titulocaso-->", $infos['nome'], $tpl); echo Comuns::Idioma($tpl); }