Example #1
0
function Main()
{
    $codTPL = $_GET["t"];
    $codReg = $_GET["r"];
    $editar = false;
    $u = unserialize($_SESSION["usu"]);
    if (!is_numeric($codTPL)) {
        $msg = "Ação inválida";
        header("Location:index.php?msg=" . $msg);
    }
    //Verifica se veio um código para ser editado
    if (isset($codReg) && $codReg != "") {
        $codReg = base64_decode($codReg);
        $editar = true;
    }
    $cnn = new Conexao();
    $sql = "SELECT Arquivo FROM mestemplates WHERE Codigo = 3;";
    $rs = $cnn->Consulta($sql);
    $tpl_p = file_get_contents(mysql_result($rs, 0, "Arquivo"));
    $tpl_p = str_replace("<!--telatopo-->", Comuns::GeraTopoPagina($u), $tpl_p);
    $tpl_p = str_replace("<!--Mensagem-->", isset($mensagem) && $mensagem != "" ? base64_decode($mensagem) : "", $tpl_p);
    $sql = "SELECT Classe, jsLoad, CodPermissao, linkSalva, linkVolta ";
    $sql .= "FROM mestemplates WHERE Codigo = " . $codTPL . ";";
    $rs = $cnn->Consulta($sql);
    if ($rs != 0) {
        // Classe que será instanciada e permissão necessária para acessar a tela
        $classe = mysql_result($rs, 0, "Classe");
        $permissao = mysql_result($rs, 0, "CodPermissao");
        $funload = mysql_result($rs, 0, "jsLoad");
        if ($u->TemPermissao($permissao)) {
            $frm = new $classe();
            if ($editar) {
                // Se vier um comando de edição de registro, monta o form com os dados do registro solicitado
                Log::RegistraLog("Acessou a tela de " . $frm->RetornaDescricaoTela('cadastro') . " para editar o registro " . $codReg);
                $tpl = $frm->FormEdita($codReg);
            } else {
                // Senão, monta um formulário em branco
                Log::RegistraLog("Acessou a tela de " . $frm->RetornaDescricaoTela('cadastro') . " para inserir um novo registro");
                $tpl = $frm->FormNovo();
            }
            if (!is_null($funload) && $funload != '') {
                $tpl_p = str_replace('<!--javaonload-->', $funload, $tpl_p);
            } else {
                $tpl_p = str_replace('<!--javaonload-->', '', $tpl_p);
            }
            $botoes = Botao::BotaoSalvar(mysql_result($rs, 0, "linkSalva"));
            $botoes .= Botao::BotaoVoltar(mysql_result($rs, 0, "linkVolta"));
            $tpl_p = str_replace("<!--itens-toolbar-->", $botoes, $tpl_p);
        } else {
            $msg = base64_encode("@lng[Você não tem permissão para acessar esta tela]");
            header("Location:interna.php?msg=" . $msg);
        }
    } else {
        $msg = "@lng[Página inválida]";
        header("Location:index.php?msg=" . $msg);
    }
    $tpl_p = str_replace("##Formulario##", $tpl, $tpl_p);
    header('Content-Type: text/html; charset=iso-8859-1');
    echo Comuns::Idioma($tpl_p);
}
Example #2
0
function Main()
{
    header('Content-Type: text/html; charset=iso-8859-1');
    if (isset($_SESSION['caso']) && $_SESSION['caso'] > 0) {
        $u = unserialize($_SESSION['usu']);
        //$u = new Usuario();
        if ($u->TemPermissao(25)) {
            if ($_POST['p'] == "false" || $_POST['p'] == "true") {
                if ($_POST['p'] == "true") {
                    Log::RegistraLog("Publicou o caso clínico " . $_SESSION['caso']);
                    $acao = true;
                } else {
                    Log::RegistraLog("Despublicou o caso clínico " . $_SESSION['caso']);
                    $acao = false;
                }
                $c = new Caso();
                $c->setCodigo($_SESSION['caso']);
                $ret = $c->PublicaCaso($acao);
                if ($ret) {
                    echo "OK";
                } else {
                    echo $c->getErro();
                }
            } else {
                echo "@lng[Dados informados inválidos]";
            }
        } else {
            echo "@lng[Você não tem permissões suficientes para realizar esta operação]";
        }
    } else {
        echo "@lng[Erro ao localizar caso para ser publicado]";
    }
}
Example #3
0
function fntGravaDados()
{
    $nome = $_POST['txtNome'];
    $usuario = $_POST['txtUsuario'];
    $email = $_POST['txtEmail'];
    $senha = $_POST['txtSenha'];
    $senhaII = $_POST['txtRepetirSenha'];
    $ins = $_POST['selInstituicao'];
    if (trim($senha) != "" && trim($senhaII) != "") {
        if ($senha == $senhaII) {
            try {
                $u = new Usuario();
                $g = new Grupo();
                $u->setNome($nome);
                $u->setUsuario($usuario);
                $u->setEmail($email);
                $u->setSenha($senha);
                $u->setCodigoInstituicao($ins);
                $ret = $u->CadastraNovoUsuario(2);
                $g->setCodigo(3);
                $g->AdicionaUsuarioAoGrupo($u->getCodigo());
                $_SESSION['usu'] = serialize($u);
                $ret = "OK";
                try {
                    $mensagem = "Foi realizado um novo cadastro de usuário no SIACC.<br />";
                    $mensagem .= "Nome: " . $u->getNome() . " (" . $u->getUsuario() . ")<br />";
                    $mensagem .= "E-mail: " . $u->getEmail() . "<br />";
                    //$mensagem .= "Instituição: " . $u->getNomeInstituicao() . " - " . $u->getSiglaInstituicao() . "<br />";
                    //$mensagem .= "Cidade/UF: " . $u->getCidadeInstituicao() . "/" . $u->getUFInstituicao() . "<br /><br />";
                    $mensagem .= 'Acesse o SIACC agora clicando <a href="http://siacc.regisls.net">aqui</a> para ativar a conta deste usuário e liberar seu acesso a ferramenta';
                    $mail = new Email();
                    $mail->setRemetente("Regis Leandro Sebastiani <*****@*****.**>");
                    $mail->setAssunto("[SIACC] Novo cadastro de usuário");
                    $mail->setDestinatario("*****@*****.**");
                    $mail->setMensagem($mensagem);
                    $mail->Enviar();
                } catch (Exception $exEmail) {
                    Log::RegistraLog("Erro ao enviar e-mail de cadastro de usuário realizado pelo site", true);
                }
            } catch (Exception $ex) {
                $ret = "@lng[Erro ao gravar usuário.] " . $ex->getMessage();
            }
        } else {
            $ret = "@lng[As senhas informadas não são identicas. Verifique.]";
        }
    } else {
        $ret = "@lng[A senha não pode ser vazia]";
    }
    echo $ret;
}
Example #4
0
function Main()
{
    $usu = unserialize($_SESSION['usu']);
    //$usu = new Usuario();
    $usufiltro = $_POST['txtUsuario'];
    $idusuario = $_POST['idusuario'];
    $dtinifiltro = $_POST['txtDtIni'];
    $dtfimfiltro = $_POST['txtDtFin'];
    $pagina = $_POST['hidPagina'];
    $tpl = file_get_contents("tpl/frm-acessos.html");
    $botoes = Botao::BotaoPesquisar("fntPesquisarAcessos();", "Pesquisar acessos");
    $tpl = str_replace("<!--telatopo-->", Comuns::GeraTopoPagina($usu), $tpl);
    $tpl = str_replace("<!--itens-toolbar-->", $botoes, $tpl);
    $tpl = str_replace("<!--txtDtIni-->", $dtinifiltro, $tpl);
    $tpl = str_replace("<!--txtDtFin-->", $dtfimfiltro, $tpl);
    if ($dtinifiltro != "" && $dtfimfiltro != "") {
        Log::RegistraLog("Acessou tela de consulta de acessos ao sistema e parametrizou: dtinifiltro=" . $dtinifiltro . "; dtfimfiltro=" . $dtfimfiltro . "; idusuario=" . $idusuario);
        $idusuario = $idusuario == "" ? null : $idusuario;
        $pagina = $pagina == "" ? 1 : $pagina;
        $tpl = str_replace("<!--hidPagina-->", $pagina, $tpl);
        $dtinifiltro = Comuns::DataBanco($dtinifiltro) . " 00:00:00";
        $dtfimfiltro = Comuns::DataBanco($dtfimfiltro) . " 23:59:59";
        $regs = 0;
        $acessos = $usu->ListaAcessosSistema($usuario = $idusuario, $dataini = $dtinifiltro, $datafim = $dtfimfiltro, $pagina = $pagina, 30, $regs);
        if (count($acessos) > 0) {
            $tabela = Comuns::TopoTabelaListagem("Acessos ao sistema", "acessos", array('Núm. Acesso', 'Usuário', 'Data', 'Detalhes'));
            foreach ($acessos as $linha) {
                $tabela .= '<tr>';
                $tabela .= '  <td>' . $linha->NumAcesso . '</td>';
                $tabela .= '  <td>' . $linha->Usuario . '</td>';
                $tabela .= '  <td>' . date("d/m/Y H:i:s", strtotime($linha->Data)) . '</td>';
                $tabela .= '  <td><a href="javascript:void(0);" onclick="javascript:fntDetalhesAcesso(' . $linha->NumAcesso . ');">' . Comuns::IMG_ACAO_DETALHES . '</a></td>';
                $tabela .= '</tr>';
            }
            $tabela .= '</tbody>';
            $tabela .= '</table>';
            $tabela .= Comuns::GeraPaginacao($regs, $pagina, 30, 0, "fntNavegaPaginacaoAcessos", true);
            $tabela .= '<br /><br />';
        } else {
            $tabela = "@lng[Nenhum registro encontrado]";
        }
    } else {
        $tabela = "@lng[Pesquisa não realizada]";
    }
    $tpl = str_replace("<!--txtUsuario-->", $usufiltro, $tpl);
    $tpl = str_replace("<!--id-usuario-->", $idusuario, $tpl);
    $tpl = str_replace("<!--acessos-usuarios-->", $tabela, $tpl);
    $tpl = str_replace("<!--hidPagina-->", "", $tpl);
    echo Comuns::Idioma($tpl);
}
Example #5
0
function Main()
{
    if (isset($_FILES["realupload"])) {
        $up = new Upload();
        $m = new Midia();
        $up->setArquivo($_FILES["realupload"]);
        if ($up->ValidaVideo($up->getTipo())) {
            // Gera onde o arquivo será armazenado
            if (isset($_SESSION['caso']) && $_SESSION['caso'] != 0) {
                // Gera o nome do arquivo
                $nome = Comuns::CodigoUnico();
                $destino = "files/" . $_SESSION['caso'] . "/videos";
                $up->setNome($nome);
                $up->setDestino($destino);
                if ($up->RealizaUpload()) {
                    $descricao = $_POST['txtDesArquivo'] != "" ? $_POST['txtDesArquivo'] : null;
                    $complemento = $_POST['txtComplementoVideo'] != "" ? urldecode($_POST['txtComplementoVideo']) : null;
                    $origem = $_POST['txtOrigem'];
                    $tipo = $_POST['txtTipo'];
                    $m->setCodCaso($_SESSION['caso']);
                    $m->setDescricao($descricao);
                    $m->setComplemento($complemento);
                    $m->setTipoMidia(Comuns::TIPO_MIDIA_VIDEO);
                    $m->setURL($up->getFullPath());
                    $m->setOrigem("upload");
                    if ($m->Insere()) {
                        Log::RegistraLog('Realizado upload do arquivo de vídeo ' . $up->getFullPath() . ' - ' . $descricao);
                        $tpl = file_get_contents("tpl/caso-upload-video.html");
                        $tpl = str_replace("<!--Listararquivos-->", "fntReloadConteudos();", $tpl);
                        echo $tpl;
                    } else {
                        $up->DeletaArquivo($up->getFullPath());
                        Log::RegistraLog('Falha ao realizar upload do arquivo de vídeo ' . $up->getFullPath() . ' - ' . $descricao . '. Detalhes: ' . $m->getErro(), true);
                        echo Comuns::Idioma('@lng[Não foi possível enviar o arquivo. Detalhes:]' . ' ' . $m->getErro() . '<br /><br /><a href="vwuploaddetalhe.php?type=vid">@lng[Voltar]</a>');
                    }
                } else {
                    Log::RegistraLog('Falha ao realizar upload do arquivo de vídeo ' . $up->getFullPath() . ' - ' . $_POST['txtDesArquivo'] . '. Detalhes: ' . $up->getStatus(), true);
                    echo Comuns::Idioma('@lng[Problemas ao enviar o arquivo:]' . ' ' . $up->getStatus() . '<br /><br /><a href="vwuploaddetalhe.php?type=vid">@lng[Voltar]</a>');
                }
            }
        } else {
            Log::RegistraLog("Falha ao tentar enviar arquivo de vídeo. Detalhes: " . $up->getStatus(), true);
            echo Comuns::Idioma($up->getStatus() . '<br /><br /><a href="vwuploaddetalhe.php?type=vid">@lng[Voltar]</a>');
        }
    }
}
Example #6
0
function Main()
{
    header('Content-Type: text/html; charset=iso-8859-1');
    $u = unserialize($_SESSION['usu']);
    $msgRet = "";
    if ($u->TemPermissao(26)) {
        if ($_REQUEST['hdnHorigem'] == "banco") {
            foreach ($_REQUEST['chkUsar'] as $imagem) {
                $value = base64_decode($imagem);
                $valores = split("::::", $value);
                $m = new Midia();
                $m->setCodCaso($_SESSION['caso']);
                $m->setTipoMidia(Comuns::TIPO_MIDIA_IMAGEM);
                $m->setURL($valores[0]);
                $m->setDescricao($valores[1]);
                $m->setComplemento("@lng[Imagem do banco de imagens da UFCSPA]");
                $m->setOrigem("banco");
                if (!$m->Insere()) {
                    $msgRet = "ERRO: " . $m->getErro();
                } else {
                    if ($_POST['txtTipo'] == "exame") {
                        $e = new Exame();
                        // Se tem alguma indicação de que seja um exame, então grava na tabela de exames
                        if ($e->InsereImagemExame($_SESSION['caso'], $_SESSION['exame'], $m->getCodMidia(), $m->getDescricao(), $m->getComplemento(), $m->getOrigem())) {
                            Log::RegistraLog('@lng[Realizado upload da imagem] ' . $m->getURL() . ' - ' . $m->getDescricao());
                            $msgRet = '@lng[Realizado upload da imagem] ' . $m->getURL() . ' - ' . $m->getDescricao();
                        } else {
                            Log::RegistraLog('@lng[Falha ao realizar upload da imagem]' . $m->getURL() . ' - ' . $m->getDescricao() . '. @lng[Detalhes:] ' . $e->getErro(), true);
                            $m->Deteta();
                            $up->DeletaArquivo($up->getFullPath());
                            $msgRet = '@lng[Não foi possível cadastrar a imagem] ' . $m->getURL() . '. @lng[Detalhes:] ' . $e->getErro() . '<br /><br /><a href="vwuploaddetalhe.php?type=img">@lng[Voltar]</a>';
                        }
                    } else {
                        $msgRet = "@lng[Imagem carregada]";
                    }
                }
            }
        } else {
            $msgRet = "ERRO: @lng[Origem inválida]";
        }
    } else {
        $msgRet = "ERRO: @lng[Usuário sem permissão para cadastrar imagens]";
    }
    echo Comuns::Idioma($msgRet);
}
Example #7
0
function Main()
{
    $tpl = file_get_contents("tpl/frm-ativacao.html");
    $u = unserialize($_SESSION['usu']);
    $evento = "O usuário " . $u->getNome() . " (" . $u->getUsuario() . ") tentou acessar o sistema mas seu usuário ainda não estava ativo";
    Log::RegistraLog($evento);
    $mensagem = "";
    if (isset($_SESSION['origem']) && $_SESSION['origem'] == "actvalidalogin.php") {
        $mensagem .= "<p>@lng[Olá] <strong>" . $u->getNome() . "</strong>. @lng[Seus dados estão cadastrados no sistema e seu usuário será ativado em breve.]</p>";
        $mensagem .= "<p>@lng[Você receberá um e-mail de confirmação da ativação de sua conta.]</p>";
    } else {
        $mensagem .= "<p>@lng[Olá] <strong>" . $u->getNome() . "</strong>. @lng[Seus cadastro foi realizado com sucesso. Sua conta será ativada em breve.]</p>";
        $mensagem .= "<p>@lng[Aguarde receber por e-mail as instruções para a utilização do sistema.]</p>";
    }
    $_SESSION['usu'] = null;
    $tpl = str_replace("<!--mensagem-->", $mensagem, $tpl);
    echo $tpl;
}
Example #8
0
function Main()
{
    //header('Content-Type: text/html; charset=iso-8859-1');
    $acao = $_GET['act'];
    $acaoload = false;
    $tpl = file_get_contents("tpl/casos-inicio.html");
    if ($acao == "new") {
        $_SESSION['caso'] = 0;
    } else {
        if ($acao == "") {
            if ($_GET['cod'] != "" && is_numeric(base64_decode($_GET['cod'])) == true) {
                $_SESSION['caso'] = base64_decode($_GET['cod']);
            } else {
                if (!isset($_SESSION['caso'])) {
                    $_SESSION['caso'] = 0;
                }
            }
        }
    }
    $tpl = str_replace("<!--javaonload-->", $acao == "new" ? "fntLoadTela('basicos');" : "", $tpl);
    if (isset($_SESSION['caso']) && $_SESSION['caso'] > 0) {
        if (Caso::ConsultaSituacao($_SESSION['caso']) == 0) {
            $botoes = Botao::BotaoPublicar("fntPublicaCaso();", "@lng[Publicar o caso clínico]");
        } else {
            $botoes = Botao::BotaoDespublicar("fntDespublicaCaso();", "@lng[Cancelar publicação]");
        }
        $botoes .= Botao::BotaoVisualizar("fntInstanciaPreview('" . base64_encode($_SESSION['caso']) . "');", "@lng[Visualizar o caso clínico]");
        $tpl = str_replace("caso-estilo", '', $tpl);
        $infoscaso = Caso::ConsultaInfosCaso($_SESSION['caso']);
        $evento = "Acessou o caso clínico " . $infoscaso['nome'] . " (código " . $infoscaso['codigo'] . ")";
        Log::RegistraLog($evento);
    } else {
        $tpl = str_replace("caso-estilo", 'style="display:none;"', $tpl);
        $botoes = "";
    }
    $tpl = str_replace("<!--itens-toolbar-->", $botoes, $tpl);
    $tpl = str_replace("<!--CodCaso-->", base64_encode($_SESSION['caso']), $tpl);
    $tpl = str_replace("<!--Mensagem-->", isset($mensagem) && $mensagem != "" ? base64_decode($mensagem) : "", $tpl);
    $u = unserialize($_SESSION["usu"]);
    $mensagem = $_GET["m"];
    $tpl = str_replace("<!--telatopo-->", Comuns::GeraTopoPagina($u), $tpl);
    echo Comuns::Idioma($tpl);
}
Example #9
0
function Main()
{
    $u = unserialize($_SESSION['usu']);
    $cod = $_POST['txtCodigo'];
    $nomecomp = $_POST['txtNomeCurso'];
    $data = date("Y-m-d H:i:s");
    $usuario = $u->getCodigo();
    header('Content-Type: text/html; charset=iso-8859-1');
    try {
        $i = new Curso();
        if ($nomecomp != "") {
            $i->setNomeCompleto($nomecomp);
        }
        if ($sigla != "") {
            $i->setSigla($sigla);
        }
        if ($cod == "") {
            if ($i->Insere()) {
                Log::RegistraLog("Instituição de ensino " . $nomecomp . " inserido pelo usuário " . $u->getNome() . ".", 0);
                echo "GRAVADO";
            } else {
                Log::DetalhaLog("Erro ao tentar inserir a instituição de ensino " . $nomecomp . ". " . $i->getErro(), 1);
                echo $i->getErro();
            }
        } else {
            if ($i->Altera()) {
                Log::RegistraLog("Instituição de ensino " . $nomecomp . " atualizada pelo usuário " . $u->getNome() . ".", 0);
                echo "GRAVADO";
            } else {
                Log::DetalhaLog("Erro ao tentar atualizar a instituição de ensino " . $nomecomp . ". " . $i->getErro(), 1);
                echo $i->getErro();
            }
        }
    } catch (Exception $ex) {
        echo $ex->getMessage();
    }
}
Example #10
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]";
    }
}
Example #11
0
 public function ListaTabela($pagina = 1, $nporpagina = 10, $usu = null, $filtros = "")
 {
     $ini = $pagina * $nporpagina - $nporpagina;
     $sql = "select Codigo, Descricao, Ativo, TemComponentes ";
     $sql .= "from mestipoexame WHERE 1=1 " . $filtros . " ORDER BY Descricao LIMIT " . $ini . ", " . $nporpagina . ";";
     Log::RegistraLog($sql);
     $cnn = Conexao2::getInstance();
     $cmd = $cnn->prepare($sql);
     $cmd->execute();
     if ($cmd->rowCount() > 0) {
         $ret = Comuns::TopoTabelaListagem("Tipos de exames cadastrados", "exames", array('Descrição', 'Ativo', 'Ações'));
         while ($rs = $cmd->fetch(PDO::FETCH_OBJ)) {
             $cod = base64_encode($rs->Codigo);
             $ret .= '<tr>';
             $ret .= '  <td>' . $rs->Descricao . '</td>';
             if ($rs->Ativo == 1) {
                 $ret .= '  <td><a href="javascript:void(0);" onclick="javascript:fntAlteraStatus(\'AAAF\', \'' . $cod . '\');">' . Comuns::IMG_STATUS_ATIVO . '</a></td>';
                 $ret = str_replace("##id##", 'id="' . $cod . '"', $ret);
             } else {
                 $ret .= '  <td><a href="javascript:void(0);" onclick="javascript:fntAlteraStatus(\'AAAF\', \'' . $cod . '\');">' . Comuns::IMG_STATUS_INATIVO . '</a></td>';
                 $ret = str_replace("##id##", 'id="' . $cod . '"', $ret);
             }
             $ret .= '  <td>';
             $ret .= '    <a href="cadastro.php?t=' . $this->form . '&r=' . $cod . '">' . Comuns::IMG_ACAO_EDITAR . '</a>';
             $ret = str_replace("##id##", "", $ret);
             if ($rs->TemComponentes == 1) {
                 $ret .= '  <a href="javascript:void(0);" onclick="javascript:fntAbreComponentes(\'' . $cod . '\');">' . Comuns::IMG_ACAO_COMPONENTES . '</a>';
             } else {
                 $ret .= '  <a href="javascript:void(0);" onclick="javascript:fntAbreValorRef(\'' . $cod . '\', \'' . base64_encode("0") . '\');">' . Comuns::IMG_ACAO_VALORES_REF . '</a>';
             }
             $ret .= '		<a href="javascript:void(0);" onclick="javascript:fntExcluiTipoExame(\'' . $cod . '\')">' . Comuns::IMG_ACAO_DELETAR . '</a>';
             $ret .= '  </td>';
             $ret .= '</tr>';
         }
         $ret .= '  </tbody>';
         $ret .= '</table>';
         if ($filtros != "") {
             $sqlCount = "SELECT COUNT(*) AS Registros FROM mestipoexame WHERE 1=1 " . $filtros . ";";
         } else {
             $sqlCount = null;
         }
         $registros = Comuns::NRegistros("mestipoexame", $sqlCount);
         if ($registros > 0) {
             $ret .= Comuns::GeraPaginacao($registros, $pagina, $nporpagina, $this->form, "fntNavegaTab", true);
         }
     } else {
         $ret = "@lng[Nenhum item cadastrado até o momento]";
     }
     return $ret;
 }
Example #12
0
 public function ValidaDocumento($mime_type)
 {
     //application/pdf
     //application/vnd.ms-excel
     //application/vnd.ms-powerpoint
     //application/x-dot
     //application/msword
     //application/vnd.openxmlformats-officedocument.wordprocessingml.document
     //application/vnd.openxmlformats-officedocument.spreadsheetml.sheet
     //application/vnd.openxmlformats-officedocument.presentationml.presentation
     if (!eregi("^application\\/(pdf|vnd.ms-excel|vnd.ms-powerpoint|x-dot|msword|vnd.openxmlformats-officedocument.wordprocessingml.document|vnd.openxmlformats-officedocument.spreadsheetml.sheet|vnd.openxmlformats-officedocument.presentationml.presentation)\$", $mime_type)) {
         Log::RegistraLog("ERRO: MIME Type do documento enviado inválido: " . $mime_type);
         $this->status = "@lng[Tipo de arquivo inválido. Envie doc, docx, xls, xlsx, ppt, pptx e pdf]";
         return false;
     } else {
         return true;
     }
 }
Example #13
0
function fntProcessaDadosAnamnese()
{
    if ($_SESSION['caso'] > 0) {
        $codcaso = $_SESSION['caso'];
        $id = stripslashes(urldecode($_POST['txtID']));
        $qp = stripslashes(urldecode($_POST['txtQP']));
        $hda = stripslashes(urldecode($_POST['txtHDA']));
        $hmp = stripslashes(urldecode($_POST['txtHMP']));
        $hf = stripslashes(urldecode($_POST['txtHF']));
        $pps = stripslashes(urldecode($_POST['txtPPS']));
        $rs = stripslashes(urldecode($_POST['txtRS']));
        //$ef = $_POST['txtEF'];
        $a = new Anamnese();
        if (trim($id) != "") {
            $a->setIdentificacao($id);
        }
        if (trim($qp) != "") {
            $a->setQueixapri($qp);
        }
        if (trim($hda) != "") {
            $a->setHistatual($hda);
        }
        if (trim($hmp) != "") {
            $a->setHistpregressa($hmp);
        }
        if (trim($hf) != "") {
            $a->setHistfamiliar($hf);
        }
        if (trim($pps) != "") {
            $a->setPerfilpsicosocial($pps);
        }
        if (trim($rs) != "") {
            $a->setRevsistemas($rs);
        }
        //if (trim($ef) != "") { $a->setExamefisico($ef); }
        $ret = "";
        $a->setCodcaso($codcaso);
        if ($a->VerificaCodigo() == false) {
            $ret = $a->Insere();
            Log::RegistraLog('Inseriu a anamnese do caso ' . $codcaso . ')');
        } else {
            $ret = $a->Atualiza();
            Log::RegistraLog('Atualizou a anamnese do caso ' . $codcaso . ')');
        }
        if ($ret == true) {
            echo "OK";
        } else {
            Log::RegistraLog('ERRO. Acusado erro ao executar ultima operaçao. ANAMNESE. Descrição: ' . $a->getErro());
            echo $a->getErro();
        }
    } else {
        $msg = base64_encode("@lng[Nenhum caso clínico vinculado]");
        header("Location:vwcaso.php?m=" . $msg);
    }
}
Example #14
0
function Main()
{
    echo "<script> alert('Dieguinhooo');\n                 \n\t\t</script>";
    $u = unserialize($_SESSION['usu']);
    $cod = $_POST['txtCodigo'];
    $nomecomp = $_POST['txtNomeCompleto'];
    $sigla = $_POST['txtSigla'];
    $end = $_POST['txtEndereco'];
    $compl = $_POST['txtComplemento'];
    $numero = $_POST['txtNumero'];
    $bairro = $_POST['txtBairro'];
    $cidade = $_POST['txtCidade'];
    $cep = $_POST['txtCEP'];
    $uf = $_POST['txtUF'];
    $pais = $_POST['txtPais'];
    $fone = $_POST['txtFoneContato'];
    $site = $_POST['txtSite'];
    $email = $_POST['txtEmail'];
    $obrigaemail = $_POST['chkObrigaEmail'];
    if ($obrigaemail != "") {
        $dominio = $_POST['txtDominioEmail'];
    }
    $ativo = $_POST['chkAtivo'];
    $nomeresp = $_POST['txtNomeResponsavel'];
    $emailresp = $_POST['txtEmailResponsavel'];
    $foneresp = $_POST['txtFoneResponsavel'];
    $data = date("Y-m-d H:i:s");
    $usuario = $u->getCodigo();
    header('Content-Type: text/html; charset=iso-8859-1');
    try {
        $i = new Instituicao();
        if ($nomecomp != "") {
            $i->setNomeCompleto($nomecomp);
        }
        if ($sigla != "") {
            $i->setSigla($sigla);
        }
        if ($end != "") {
            $i->setEndereco($end);
        }
        if ($compl != "") {
            $i->setComplemento($compl);
        }
        if ($numero != "") {
            $i->setNumero($numero);
        }
        if ($bairro != "") {
            $i->setBairro($bairro);
        }
        if ($cidade != "") {
            $i->setCidade($cidade);
        }
        if ($cep != "") {
            $i->setCEP($cep);
        }
        if ($uf != "") {
            $i->setUF($uf);
        }
        if ($pais != "") {
            $i->setPais($pais);
        }
        if ($fone != "") {
            $i->setFoneContato($fone);
        }
        if ($site != "") {
            $i->setSite($site);
        }
        if ($email != "") {
            $i->setEmail($email);
        }
        if ($obrigaemail != "") {
            $i->setObrigaEmail(1);
        }
        if ($dominio != "") {
            $i->setDominioEmail($dominio);
        }
        if ($ativo != "") {
            $i->setAtivo($ativo);
        }
        if ($nomeresp != "") {
            $i->setNomeResponsavel($nomeresp);
        }
        if ($emailresp != "") {
            $i->setEmailResponsavel($emailresp);
        }
        if ($foneresp != "") {
            $i->setFoneResponsavel($foneresp);
        }
        $i->setCodUsuario($usuario);
        $i->setDtCadastro($data);
        if ($cod == "") {
            if ($i->Insere()) {
                Log::RegistraLog("Instituição de ensino " . $nomecomp . " inserido pelo usuário " . $u->getNome() . ".", 0);
                echo "GRAVADO";
            } else {
                Log::DetalhaLog("Erro ao tentar inserir a instituição de ensino " . $nomecomp . ". " . $i->getErro(), 1);
                echo $i->getErro();
            }
        } else {
            if ($i->Altera()) {
                Log::RegistraLog("Instituição de ensino " . $nomecomp . " atualizada pelo usuário " . $u->getNome() . ".", 0);
                echo "GRAVADO";
            } else {
                Log::DetalhaLog("Erro ao tentar atualizar a instituição de ensino " . $nomecomp . ". " . $i->getErro(), 1);
                echo $i->getErro();
            }
        }
    } catch (Exception $ex) {
        echo $ex->getMessage();
    }
}
Example #15
0
 private function RenderItensMidia($tipo, $itens, $chaveagrupador)
 {
     Log::RegistraLog("Chamou o RenderItensMidia com o tipo: " . $tipo);
     $ConfGerais = $this->BuscaConfiguracoesItem($chaveagrupador);
     if (!$ConfGerais) {
         $ConfGerais = $this->BuscaConfiguracoesDetault();
     }
     foreach ($itens as $midia) {
         $ConfImg = $this->BuscaConfiguracoesItem($midia->Chave);
         if (!$ConfImg) {
             $ConfImg = $this->BuscaConfiguracoesDetault();
         }
         if ($tipo == 'vid') {
             $html .= $this->RenderVideo($midia->ContReferencia, $ConfImg);
         } else {
             if ($tipo == 'aud') {
                 $html .= $this->RenderAudio($midia->ContReferencia, $ConfImg);
             } else {
                 if ($tipo == 'doc') {
                     $html .= $this->RenderDocumento($midia->ContReferencia, $ConfImg);
                 }
             }
         }
     }
     $hash = new HashTable();
     $hash->AddItem("titulosecao", is_null($ConfGerais[5]) ? "@lng[Mídia]" : $ConfGerais[5]);
     $hash->AddItem("conteudo", $html);
     //$hash->AddItem("menu", $this->BuscaMenusItem($tipo));
     $hash->AddItem("save", 'N');
     if (!is_null($ConfGerais[4])) {
         $hash->AddItem("fim", 'S');
         $hash->AddItem("menu", $this->BuscaMenusItem($tipo, true));
     } else {
         $hash->AddItem("fim", 'N');
         $hash->AddItem("menu", $this->BuscaMenusItem($tipo));
     }
     return $hash;
 }
Example #16
0
function Main()
{
    header('Content-Type: text/html; charset=iso-8859-1');
    $ret = "";
    $cnn = Conexao2::getInstance();
    $cmd = $cnn->prepare("select Valor from sisparametros where Nome = 'URLWebServiceSIAP';");
    $cmd->execute();
    $UrlWS = $cmd->fetchColumn();
    $cmd->closeCursor();
    $cmd = $cnn->prepare("select Valor from sisparametros where Nome = 'URLSIAP';");
    $cmd->execute();
    $UrlSIAP = $cmd->fetchColumn();
    $cmd->closeCursor();
    //$ws = new WebServiceClient('http://siap.ufcspa.edu.br/ws/siap_ws.php?wsdl');
    $ws = new WebServiceClient($UrlWS);
    if (!$ws) {
        $ret = "@lng[Erro ao conectar o banco de imagens. Detalhes:]" . " " . $ws->getErro();
    } else {
        if (!isset($_REQUEST['r'])) {
            $rotina = "tipos";
        } else {
            $rotina = $_REQUEST['r'];
        }
        if ($rotina == "tipos") {
            $search_types = $ws->call_soap_method('get_search_types', array());
            if ($search_types) {
                $opcoes = '<option value="">@lng[Selecione]</option>';
                foreach ($search_types as $nodo) {
                    $opcoes .= '<option value="' . $nodo['id'] . '">' . $nodo['nome'] . '</option>';
                }
                $ret = $opcoes;
            } else {
                Log::RegistraLog("ERRO. Não foi possível carregar os Tipos de pesquisa ao SIAP", true);
                $ret = 'ERRO: @lng[Não foi possível carregar os Tipos de pesquisa ao banco de imagens. Tente novamente em alguns minutos.]<br /><br /><a href="vwuploaddetalhe.php?type=img">@lng[Tentar novamente]</a>';
            }
        } else {
            if ($rotina == "subtipos") {
                $codigo_search = array("search_type" => $_REQUEST['selTipos']);
                $search_sub_types = $ws->call_soap_method('get_search_type_keywords', $codigo_search);
                if ($search_sub_types) {
                    $opcoes = '<option value="">@lng[Selecione]</option>';
                    foreach ($search_sub_types as $nodo) {
                        $opcoes .= '<option value="' . $nodo['id'] . '">' . $nodo['nome'] . '</option>';
                    }
                    $ret = $opcoes;
                } else {
                    Log::RegistraLog("ERRO. Não foi possível carregar os Subtipos de pesquisa ao SIAP", true);
                    $ret = 'ERRO: @lng[Não foi possível carregar os Subtipos de pesquisa ao banco de imagens. Tente novamente em alguns minutos.]<br /><br /><a href="vwuploaddetalhe.php?type=img">@lng[Tentar novamente]</a>';
                }
            } else {
                if ($rotina == "imagens") {
                    if (urldecode($_REQUEST['type_key']) == "Sistema") {
                        $parametros = array('search_request' => array("palavra" => !isset($_REQUEST['txtPalavraChave']) ? '' : $_REQUEST['txtPalavraChave'], "sistema" => $_REQUEST['selSubTipos'], "procedencia" => "", "patologia" => ""));
                    } else {
                        if ($_REQUEST['type_key'] == "Procedência") {
                            $parametros = array('search_request' => array("palavra" => !isset($_REQUEST['txtPalavraChave']) ? '' : $_REQUEST['txtPalavraChave'], "sistema" => "", "procedencia" => $_REQUEST['selSubTipos'], "patologia" => ""));
                        } else {
                            if ($_REQUEST['type_key'] == "Patologia") {
                                $parametros = array('search_request' => array("palavra" => !isset($_REQUEST['txtPalavraChave']) ? '' : $_REQUEST['txtPalavraChave'], "sistema" => "", "procedencia" => "", "patologia" => $_REQUEST['selSubTipos']));
                            }
                        }
                    }
                    $nmax = $_REQUEST['nmax'];
                    try {
                        $list_images = $ws->call_soap_method('search', $parametros);
                    } catch (Exception $e) {
                        Log::RegistraLog("ERRO: O servidor do banco de imagens não respondeu no tempo máximo de 60 segundos. Detalhes: " . $e->getMessage(), true);
                        $ret = 'ERRO: @lng[O servidor do banco de imagens não respondeu no tempo máximo de 60 segundos.]<br /><br />@lng[Tente repetir a consulta.]';
                    }
                    if ($list_images) {
                        $opcoes = '';
                        if (count($list_images) < $nmax) {
                            $nmax = count($list_images);
                        }
                        for ($i = 0; $i < $nmax; $i++) {
                            $UrlImg = $UrlSIAP . substr($list_images[$i]['url'], stripos($list_images[$i]['url'], "upload"));
                            $opcoes .= '<div class="find-result">';
                            $opcoes .= '  <input type="checkbox" name="chkUsar[]" id="chkUsar_' . $i . '" value="' . base64_encode($UrlImg . "::::" . $list_images[$i]['nome']) . '" class="campo" />@lng[Selecionar]<br />';
                            $opcoes .= '  <img src="' . str_replace("/sis_imagem/", "/sis_imagem_p/", $UrlImg) . '" class="img-preview-2" title="' . $list_images[$i]['nome'] . '" alt="' . $list_images[$i]['nome'] . '">';
                            $opcoes .= '</div>';
                        }
                        $opcoes .= '<input type="hidden" name="hdnHorigem" id="hdnHorigem" value="banco" class="campo" />';
                        $ret = $opcoes;
                    } else {
                        if ($ws->getErro() != "") {
                            Log::RegistraLog("ERRO. Erro ao consulta imagens do SIAP. Detalhes: " . $ws->getErro(), true);
                            $ret = 'ERRO: @lng[Não foi possível realizar a pesquisa no banco de imagens. Detalhes do erro:] ' . $ws->getErro() . '.<br /><br />@lng[Tente novamente em alguns minutos.]<br /><br /><a href="vwuploaddetalhe.php?type=img">@lng[Tentar novamente]</a>';
                        } else {
                            $ret = "@lng[Nenhum item encontrado com a pesquisa realizada]";
                        }
                    }
                }
            }
        }
    }
    echo Comuns::Idioma($ret);
}
Example #17
0
 public function AtualizaUsuario()
 {
     if (isset($this->codigo)) {
         if (isset($this->nomecompleto)) {
             if (isset($this->email)) {
                 if (isset($this->codinst)) {
                     if (isset($this->codidioma)) {
                         if (isset($this->ativo)) {
                             $sql = "UPDATE mesusuario ";
                             $sql .= "SET NomeCompleto = :pNomeCompleto, ";
                             $sql .= "    Email = :pEmail, ";
                             $sql .= "    CodInstituicao = :pCodInstituicao, ";
                             $sql .= "    CodIdioma = :pCodIdioma, ";
                             $sql .= "    Ativo = :pAtivo ";
                             $sql .= "WHERE Codigo = :pCodigo";
                             $cnn = Conexao2::getInstance();
                             $cmd = $cnn->prepare($sql);
                             $cmd->bindParam(":pNomeCompleto", $this->nomecompleto, PDO::PARAM_STR);
                             $cmd->bindParam(":pEmail", $this->email, PDO::PARAM_STR);
                             $cmd->bindParam(":pCodInstituicao", $this->codinst, PDO::PARAM_INT);
                             $cmd->bindParam(":pCodIdioma", $this->codidioma, PDO::PARAM_INT);
                             $cmd->bindParam(":pAtivo", $this->ativo, PDO::PARAM_INT);
                             $cmd->bindParam(":pCodigo", $this->codigo, PDO::PARAM_INT);
                             $cmd->execute();
                             if ($cmd->errorCode() == Comuns::QUERY_OK) {
                                 return true;
                             } else {
                                 $msg = $cmd->errorInfo();
                                 Log::RegistraLog("Erro ao atualizar usuário" . $msg[2], true);
                                 $this->msg_erro = "@lng[Erro ao atualizar usuário]" . $msg[2];
                                 return false;
                             }
                         } else {
                             $this->msg_erro = "@lng[Você deve informar se o usuário está ativo ou não]";
                             return false;
                         }
                     } else {
                         $this->msg_erro = "@lng[Selecione um idioma]";
                         return false;
                     }
                 } else {
                     $this->msg_erro = "@lng[Informe a instituição de ensino]";
                     return false;
                 }
             } else {
                 $this->msg_erro = "@lng[O E-mail é obrigatório]";
                 return false;
             }
         } else {
             $this->msg_erro = "@lng[Nome completo obrigatório]";
             return false;
         }
     } else {
         $this->msg_erro = "@lng[Código não informado]";
         return false;
     }
 }
Example #18
0
 public function ReprocessarExames()
 {
     Log::RegistraLog("Reprocessou os exames do caso de estudo " . $this->codcaso);
     // deletar as ordenações já criadas com os exames
     $sql = "DELETE FROM mescasoordenacao ";
     $sql .= "WHERE codcaso = :pCodCaso AND Prefixo = 'EXA' ";
     $sql .= "AND Chave IN(SELECT Chave FROM mescasoexameschaves WHERE CodCaso = :pCodCaso); ";
     $cnn = Conexao2::getInstance();
     $cmd = $cnn->prepare($sql);
     $cmd->bindParam(":pCodCaso", $this->codcaso, PDO::PARAM_INT);
     $cmd->execute();
     if ($cmd->errorCode() == Comuns::QUERY_OK) {
         $cmd->closeCursor();
         $sql = "DELETE FROM mescasoexameschaves WHERE CodCaso = :pCodCaso;";
         $cmd = $cnn->prepare($sql);
         $cmd->bindParam(":pCodCaso", $this->codcaso, PDO::PARAM_INT);
         $cmd->execute();
         if ($cmd->errorCode() == Comuns::QUERY_OK) {
             $cmd->closeCursor();
             $sql = "UPDATE mescaso SET ExamesProcessados = 2 WHERE Codigo = :pCodCaso;";
             $cmd = $cnn->prepare($sql);
             $cmd->bindParam(":pCodCaso", $this->codcaso, PDO::PARAM_INT);
             $cmd->execute();
             if ($cmd->errorCode() == Comuns::QUERY_OK) {
                 return $this->ProcessarExames("S");
             } else {
                 $msg = $cmd->errorInfo();
                 $this->msg_erro = $msg[2];
                 return false;
             }
         } else {
             $msg = $cmd->errorInfo();
             $this->msg_erro = $msg[2];
             return false;
         }
     } else {
         $msg = $cmd->errorInfo();
         $this->msg_erro = $msg[2];
         return false;
     }
     // deletar as chaves já criadas
 }
Example #19
0
 public function ListaTabela($pagina = 1, $nporpagina = 10, $usuario = "", $filtros = "")
 {
     $ini = $pagina * $nporpagina - $nporpagina;
     $sql = "select  c.Codigo ";
     $sql .= "\t\t,c.Nome ";
     $sql .= "\t\t,c.Descricao ";
     $sql .= "\t\t,concat(c.CodArea, ' - ', a.Descricao) as AreaConhecimento ";
     $sql .= "\t\t,n.Descricao as Dificuldade ";
     $sql .= "\t\t,c.DaResposta ";
     $sql .= "\t\t,c.Ativo ";
     $sql .= "from mescaso c ";
     $sql .= "inner join mesnivelpergunta n ";
     $sql .= "\t\ton n.Codigo = c.CodNivelDif ";
     $sql .= "inner join mesarea a ";
     $sql .= "\t\ton a.Codigo = c.CodArea ";
     $sql .= "where c.Excluido = 0 " . $filtros;
     $sqlcount = "select COUNT(*) FROM mescaso c where c.Excluido = 0 " . $filtros;
     if ($usuario != "") {
         $usuario = unserialize($usuario);
         $isAdmin = $usuario->TemGrupo(1);
         /* Verifica se tem permissão de Administrador */
         $sql .= "  AND (c.Publico = 1 ";
         $sql .= "\tOR (c.Publico = 0 AND c.CodAutor = " . $usuario->getCodigo() . ") ";
         $sql .= "\tOR c.Codigo IN (SELECT CodCaso FROM mescasocolaborador mcol WHERE mcol.CodUsuario = " . $usuario->getCodigo() . ") ";
         $sql .= $isAdmin ? "   OR c.Codigo = c.Codigo) " : ")";
         $sqlcount .= "  AND (c.Publico = 1 ";
         $sqlcount .= "\t OR (c.Publico = 0 AND c.CodAutor = " . $usuario->getCodigo() . ") ";
         $sqlcount .= "\t OR c.Codigo IN (SELECT CodCaso FROM mescasocolaborador mcol WHERE mcol.CodUsuario = " . $usuario->getCodigo() . ") ";
         $sqlcount .= $isAdmin ? "   OR c.Codigo = c.Codigo) " : ")";
     }
     $sql .= "LIMIT " . $ini . ", " . $nporpagina . ";";
     Log::RegistraLog("Comando SQL: " . $sql);
     $cnn = Conexao2::getInstance();
     $cmd = $cnn->prepare($sql);
     $cmd->execute();
     if ($cmd->rowCount() > 0) {
         $ret = Comuns::TopoTabelaListagem("Casos de estudo cadastrados", "casos", array('Nome', 'Descrição', 'Área de conhecimento', 'Nível Dif.', 'Ativo', 'Ações'));
         while ($rs = $cmd->fetch(PDO::FETCH_OBJ)) {
             $cod = base64_encode($rs->Codigo);
             $ret .= '<tr>';
             $ret .= '  <td>' . $rs->Nome . '</td>';
             $ret .= '  <td>' . $rs->Descricao . '</td>';
             $ret .= '  <td>' . $rs->AreaConhecimento . '</td>';
             $ret .= '  <td>' . $rs->Dificuldade . '</td>';
             //$ret .= '  <td>' . SimNao::Descreve($rs->DaResposta) . '</td>';
             if ($rs->Ativo == 1) {
                 $ret .= '  <td><a href="javascript:void(0);" onclick="javascript:fntAlteraStatus(\'AAAE\', \'' . $cod . '\');">' . Comuns::IMG_STATUS_ATIVO . '</a></td>';
                 $ret = str_replace("##id##", 'id="' . $cod . '"', $ret);
             } else {
                 $ret .= '  <td><a href="javascript:void(0);" onclick="javascript:fntAlteraStatus(\'AAAE\', \'' . $cod . '\');">' . Comuns::IMG_STATUS_INATIVO . '</a></td>';
                 $ret = str_replace("##id##", 'id="' . $cod . '"', $ret);
             }
             $ret .= '  <td><a href="vwcaso.php?cod=' . $cod . '">' . Comuns::IMG_ACAO_EDITAR . '</a></td>';
             $ret = str_replace("##id##", "", $ret);
             $ret .= '</tr>';
         }
         $ret .= '  </tbody>';
         $ret .= '</table>';
         $registros = Comuns::NRegistros("mescaso", $sqlcount);
         if ($registros > 0) {
             $ret .= Comuns::GeraPaginacao($registros, $pagina, $nporpagina, $this->form, "fntNavegaTab", true);
         }
     } else {
         $ret = "@lng[Nenhum item cadastrado até o momento]";
     }
     return $ret;
 }
Example #20
0
 public function ExcluiItem($item)
 {
     /* Verifica se o conteúdo já não teve acesso por Alunos (grupos diferente de Administradores e Especialistas) */
     $sqlpode = "SELECT 1 AS Tem ";
     $sqlpode .= "FROM mesresolucaovisconteudo ";
     $sqlpode .= "INNER JOIN mesacessousuario ";
     $sqlpode .= "\t\t ON mesresolucaovisconteudo.CodAcesso = mesacessousuario.NumAcesso ";
     $sqlpode .= "WHERE mesresolucaovisconteudo.CodCaso = :pCodCaso ";
     $sqlpode .= "  AND mesresolucaovisconteudo.CodMontagem = 1 ";
     $sqlpode .= "  AND mesresolucaovisconteudo.CodChave = :pChave ";
     $sqlpode .= "  AND mesacessousuario.CodUsuario NOT IN( ";
     $sqlpode .= "\t\t\t\t\t\t\t\t\t\t SELECT DISTINCT CodUsuario ";
     $sqlpode .= "\t\t\t\t\t\t\t\t\t\t FROM mesusuariogrupo ";
     $sqlpode .= "\t\t\t\t\t\t\t\t\t\t WHERE CodGrupoUsuario IN(1, 4) ";
     $sqlpode .= "\t\t\t\t\t\t\t\t\t\t );";
     $cnn = Conexao2::getInstance();
     $cmdpode = $cnn->prepare($sqlpode);
     $cmdpode->bindParam(":pCodCaso", $this->codcaso, PDO::PARAM_INT);
     $cmdpode->bindParam(":pChave", $item, PDO::PARAM_STR);
     $cmdpode->execute();
     if ($cmdpode->errorCode() == Comuns::QUERY_OK) {
         if ($cmdpode->rowCount() == 0) {
             /* Verifica se o item atual tem filhos para excluí-los primeiro */
             $sqlfilhos = "SELECT Chave FROM mescasomontagem where CodCaso = :pCodCaso AND CodMontagem = 1 AND ChavePai = :pChave;";
             $cmdfilhos = $cnn->prepare($sqlfilhos);
             $cmdfilhos->bindParam(":pCodCaso", $this->codcaso, PDO::PARAM_INT);
             $cmdfilhos->bindParam(":pChave", $item, PDO::PARAM_STR);
             $cmdfilhos->execute();
             if ($cmdfilhos->errorCode() == Comuns::QUERY_OK) {
                 if ($cmdfilhos->rowCount() > 0) {
                     Log::RegistraLog("DEBUG - Encontrou filhos. Vai chamar a função novamente");
                     self::ExcluiItem($cmdfilhos->fetchColumn());
                 }
                 $sqlinfo = "SELECT ChavePai, Ordem FROM mescasomontagem ";
                 $sqlinfo .= "WHERE CodCaso = :pCodCaso AND CodMontagem = 1 AND Chave = :pChave;";
                 $cmdinfo = $cnn->prepare($sqlinfo);
                 $cmdinfo->bindParam(":pCodCaso", $this->codcaso, PDO::PARAM_INT);
                 $cmdinfo->bindParam(":pChave", $item, PDO::PARAM_STR);
                 $cmdinfo->execute();
                 if ($cmdinfo->errorCode() == Comuns::QUERY_OK) {
                     if ($cmdinfo->rowCount() > 0) {
                         $infos = $cmdinfo->fetch(PDO::FETCH_OBJ);
                     } else {
                         $infos = false;
                     }
                     $cnn->beginTransaction();
                     /* Transformar isso em recursividade */
                     /* Exclui as configurações dos itens */
                     $sqldelconf = "delete from mescasomontagemvalconfigs ";
                     $sqldelconf .= "where CodCaso = :pCodCaso ";
                     $sqldelconf .= "  and codmontagem = 1 ";
                     $sqldelconf .= "  and Chave IN( ";
                     $sqldelconf .= "\t\t\tselect Chave ";
                     $sqldelconf .= "\t\t\tfrom mescasomontagem m ";
                     $sqldelconf .= "\t\t\twhere m.CodCaso = :pCodCaso ";
                     $sqldelconf .= "\t\t\t  and m.CodMontagem = 1 ";
                     $sqldelconf .= "\t\t\t  and (m.Chave = :pChave or m.ChavePai = :pChave) ";
                     $sqldelconf .= "\t\t\t);";
                     $cmddelconf = $cnn->prepare($sqldelconf);
                     $cmddelconf->bindParam(":pCodCaso", $this->codcaso, PDO::PARAM_INT);
                     $cmddelconf->bindParam(":pChave", $item, PDO::PARAM_STR);
                     $cmddelconf->execute();
                     /* Transformar isso em recursividade */
                     /* Exclui os anexos dos itens */
                     $sqldelanexos = "delete from mescasomontagemanexos ";
                     $sqldelanexos .= "where CodCaso = :pCodCaso ";
                     $sqldelanexos .= "  and codmontagem = 1 ";
                     $sqldelanexos .= "  and CodChave IN( ";
                     $sqldelanexos .= "\t\t\tselect Chave ";
                     $sqldelanexos .= "\t\t\tfrom mescasomontagem m ";
                     $sqldelanexos .= "\t\t\twhere m.CodCaso = :pCodCaso ";
                     $sqldelanexos .= "\t\t\t  and m.CodMontagem = 1 ";
                     $sqldelanexos .= "\t\t\t  and (m.Chave = :pChave or m.ChavePai = :pChave) ";
                     $sqldelanexos .= "\t\t\t);";
                     $cmddelanexos = $cnn->prepare($sqldelanexos);
                     $cmddelanexos->bindParam(":pCodCaso", $this->codcaso, PDO::PARAM_INT);
                     $cmddelanexos->bindParam(":pChave", $item, PDO::PARAM_STR);
                     $cmddelanexos->execute();
                     /* Transformar isso em recursividade */
                     /* Exclui os desvios condicionais dos itens */
                     $sqldelsaltos = "delete from mescasomontagemsaltos ";
                     $sqldelsaltos .= "where CodCaso = :pCodCaso ";
                     $sqldelsaltos .= "  and codmontagem = 1 ";
                     $sqldelsaltos .= "  and CodAtual IN( ";
                     $sqldelsaltos .= "\t\t\tselect Chave ";
                     $sqldelsaltos .= "\t\t\tfrom mescasomontagem m ";
                     $sqldelsaltos .= "\t\t\twhere m.CodCaso = :pCodCaso ";
                     $sqldelsaltos .= "\t\t\t  and m.CodMontagem = 1 ";
                     $sqldelsaltos .= "\t\t\t  and (m.Chave = :pChave or m.ChavePai = :pChave) ";
                     $sqldelsaltos .= "\t\t\t);";
                     $cmddelsaltos = $cnn->prepare($sqldelsaltos);
                     $cmddelsaltos->bindParam(":pCodCaso", $this->codcaso, PDO::PARAM_INT);
                     $cmddelsaltos->bindParam(":pChave", $item, PDO::PARAM_STR);
                     $cmddelsaltos->execute();
                     /* Exclui o item da montagem propriamente dito */
                     $sqldel = "DELETE FROM mescasomontagem ";
                     $sqldel .= "WHERE CodCaso = :pCodCaso AND CodMontagem = 1 ";
                     $sqldel .= "  AND (Chave = :pChave OR ChavePai = :pChave);";
                     $cmddel = $cnn->prepare($sqldel);
                     $cmddel->bindParam(":pCodCaso", $this->codcaso, PDO::PARAM_INT);
                     $cmddel->bindParam(":pChave", $item, PDO::PARAM_STR);
                     $cmddel->execute();
                     if ($cmddel->errorCode() == Comuns::QUERY_OK) {
                         if ($infos !== false) {
                             $sqlupd = "UPDATE mescasomontagem ";
                             $sqlupd .= "SET Ordem = Ordem - 1 ";
                             $sqlupd .= "WHERE CodCaso = :pCodCaso ";
                             $sqlupd .= "  AND CodMontagem = 1 ";
                             $sqlupd .= "  AND ChavePai = :pChavePai ";
                             $sqlupd .= "  AND Ordem > :pOrdemDel;";
                             $cmdupd = $cnn->prepare($sqlupd);
                             $cmdupd->bindParam(":pCodCaso", $this->codcaso, PDO::PARAM_INT);
                             $cmdupd->bindParam(":pChavePai", $infos->ChavePai, PDO::PARAM_STR);
                             $cmdupd->bindParam(":pOrdemDel", $infos->Ordem, PDO::PARAM_INT);
                             $cmdupd->execute();
                             if ($cmdupd->errorCode() == Comuns::QUERY_OK) {
                                 $cnn->commit();
                                 return true;
                             } else {
                                 $msg = $cmdupd->errorInfo();
                                 $this->msg_erro = $msg[2];
                                 $cnn->rollBack();
                                 return false;
                             }
                         } else {
                             $cnn->commit();
                             Log::RegistraLog("Excluiu o item " . $item . " da montagem do caso");
                             return true;
                         }
                     } else {
                         $msg = $cmddel->errorInfo();
                         $this->msg_erro = $msg[2];
                         $cnn->rollBack();
                         return false;
                     }
                 } else {
                     $msg = $cmdinfo->errorInfo();
                     $this->msg_erro = $msg[2];
                     return false;
                 }
             }
         } else {
             $this->msg_erro = "@lng[Este item já foi acessado por alunos. Não é possível exclui-lo.]";
             return false;
         }
     } else {
         $msg = $cmdpode->errorInfo();
         $this->msg_erro = $msg[2];
         return false;
     }
 }
Example #21
0
 public function AtualizaGrupoUsuario()
 {
     if (isset($this->descricao)) {
         $sql = "UPDATE mesgrupousuario ";
         $sql .= "SET Descricao = '" . $this->descricao . "' ";
         $sql .= "WHERE Codigo = " . $this->codigo . ";";
         $cnn = new Conexao();
         if ($cnn->Instrucao($sql, false)) {
             $cnn->Desconecta();
             Log::RegistraLog("Alterou o grupo de usuários " . $this->getCodigo() . " para " . $this->getDescricao());
             return true;
         } else {
             $cnn->Desconecta();
             throw new Exception("@lng[Erro ao atualizar a descrição do grupo de usuários]", 1014);
         }
     } else {
         throw new Exception("@lng[Você deve informar uma descrição para o grupo de usuários]", 1015);
     }
 }
function Main()
{
    header('Content-Type: text/html; charset=iso-8859-1');
    if (isset($_SESSION['caso']) && $_SESSION['caso'] > 0) {
        $mon = new Montagem();
        $mon->setCodCaso($_SESSION['caso']);
        if ($_REQUEST['a'] == "inc") {
            $ok = true;
            $erro = "";
            $sTipo = $_POST['item'];
            $sIdPai = split("_", $_POST['pai']);
            $sOrg = $_POST['org'];
            $iOrd = $_POST['ord'];
            $sRegPai = $sIdPai[3];
            if (isset($_POST['cont']) && !is_null($_POST['cont']) && $_POST['cont'] != "") {
                $iContRefe = $_POST['cont'];
            } else {
                $iContRefe = $sIdPai[1];
            }
            $sChave = $mon->AddItem($sTipo, $iOrd, $sRegPai, $iContRefe, $sOrg);
            if ($sChave != false) {
                Log::RegistraLog("Adicionado o item " . $sChave . " à montagem do caso clínico");
                echo $sChave;
            } else {
                Log::RegistraLog("Erro ao tentar adicionado um item à montagem do caso clínico. Detalhes: " . $mon->getErro());
                echo "ERRO: " . $mon->getErro();
            }
        } else {
            if ($_REQUEST['a'] == "rem") {
                $idNodo = $_POST['nodo'];
                $itens = split("_", $idNodo);
                $chave = $itens[3];
                if ($mon->ExcluiItem($chave)) {
                    Log::RegistraLog("Removido o item " . $chave . " da montagem do caso clínico");
                    echo "OK";
                } else {
                    Log::RegistraLog("Erro ao tentar remover o item " . $chave . " da montagem do caso clínico. Detalhes: " . $mon->getErro());
                    echo "ERRO: " . $mon->getErro();
                }
            } else {
                if ($_REQUEST['a'] == "mov") {
                    $idNodo = $_POST['nodo'];
                    $idNodoPai = $_POST['nodopai'];
                    $posAnt = $_POST['posant'];
                    $posNova = $_POST['posnova'];
                    $itens = split("_", $idNodo);
                    $itensPai = split("_", $idNodoPai);
                    $chave = $itens[3];
                    $chavePai = $itensPai[3];
                    if ($mon->ReordenaItem($chave, $chavePai, $posAnt, $posNova)) {
                        Log::RegistraLog("O item " . $chave . " foi reordenado da posição " . $posAnt . " para a posição " . $posNova . " na montagem do caso clínico");
                        echo "OK";
                    } else {
                        Log::RegistraLog("Erro ao tentar mover o item " . $chave . " na montagem do caso clínico. Detalhes: " . $mon->getErro());
                        echo "ERRO: " . $mon->getErro();
                    }
                } else {
                    if ($_REQUEST['a'] == "par") {
                        $idNodo = $_POST['nodo'];
                        $itens = split("_", $idNodo);
                        $chave = $itens[3];
                        $erro = false;
                        $deserro = "";
                        foreach ($_POST as $campo => $valor) {
                            if (stripos($campo, "Config") !== false) {
                                $campo = split("_", $campo);
                                $config = $campo[1];
                                if (substr($campo[0], 0, 3) == "txt") {
                                    $valor = urldecode($valor);
                                }
                                if (!$mon->SalvaParamItem($chave, $config, $valor)) {
                                    $erro = true;
                                    Log::RegistraLog("Erro ao tentar gravar a configuração. Caso: " . $_SESSION['caso'] . ". Item: " . $chave . ". Config: " . $config . ". Valor: " . $valor . ". Erro: " . $mon->getErro());
                                    $deserro .= ($deserro != "" ? "\r\n" : "") . $mon->getErro();
                                } else {
                                    Log::RegistraLog("Gravada configuração para o item " . $chave . " na montagem do caso " . $_SESSION['caso'] . ". Config: " . $config . ". Valor: " . $valor);
                                }
                            }
                        }
                        if ($erro) {
                            echo "ERRO: " . $deserro;
                        } else {
                            echo "OK";
                        }
                    } else {
                        if ($_REQUEST['a'] == "retpar") {
                            //cont_an_0_129120D92796F7AF13882551731A996C
                            $idNodo = $_POST['nodo'];
                            $itens = split("_", $idNodo);
                            $tipo = $itens[1];
                            $chave = $itens[3];
                            Log::RegistraLog("Tipo do item informado: " . $tipo . ". Chave informada: " . $chave);
                            $xmlconfigs = $mon->RetornaConfigs($tipo, $chave);
                            $saltos = $mon->RetornaListaConfSaltos($chave);
                            $anexos = $mon->RetornaListaConfAnexos($chave);
                            $ret = "";
                            if ($xmlconfigs !== false) {
                                $ret = $xmlconfigs;
                            }
                            if ($saltos !== false) {
                                $ret .= '<divDesviosSalvos>' . $saltos . '</divDesviosSalvos>';
                            }
                            if ($anexos !== false) {
                                $ret .= '<divAnexosSalvos>' . $anexos . '</divAnexosSalvos>';
                            }
                            echo Comuns::Idioma($ret);
                        }
                    }
                }
            }
        }
    } else {
        echo "ERRO: @lng[Caso não informado]";
    }
}
Example #23
0
function Main()
{
    if (isset($_FILES["realupload"])) {
        $up = new Upload();
        $m = new Midia();
        $up->setArquivo($_FILES["realupload"]);
        if ($up->ValidaDocumento($up->getTipo())) {
            // Gera onde o arquivo será armazenado
            if (isset($_SESSION['caso']) && $_SESSION['caso'] != 0) {
                // Gera o nome do arquivo
                $nome = Comuns::CodigoUnico();
                $destino = "files/" . $_SESSION['caso'] . "/documentos";
                $up->setNome($nome);
                $up->setDestino($destino);
                if ($up->RealizaUpload()) {
                    $descricao = $_POST['txtDesArquivo'] != "" ? $_POST['txtDesArquivo'] : null;
                    $complemento = $_POST['txtComplementoDocumento'] != "" ? urldecode($_POST['txtComplementoDocumento']) : null;
                    $origem = $_POST['txtOrigem'];
                    $tipo = $_POST['txtTipo'];
                    $m->setCodCaso($_SESSION['caso']);
                    $m->setDescricao($descricao);
                    $m->setComplemento($complemento);
                    $m->setTipoMidia(Comuns::TIPO_MIDIA_DOCUMENTO);
                    $m->setURL($up->getFullPath());
                    $m->setOrigem("upload");
                    if ($m->Insere()) {
                        // Se tem alguma indicaão de que seja um exame, então grava na tabela de exames
                        if (isset($_SESSION['exame']) && $_SESSION['exame'] != 0) {
                            $e = new Exame();
                            if ($e->InsereMidiaExame($_SESSION['caso'], $_SESSION['exame'], $m->getCodMidia(), $descricao, $complemento, "doc")) {
                                Log::RegistraLog('Realizado vinculo do documento com exame', true);
                            } else {
                                Log::RegistraLog('Falha ao realizar vinculo do documento com exame', true);
                                echo Comuns::Idioma('@lng[Não foi possível realizar vinculo do documento com exame]<br /><br /><a href="vwuploaddetalhe.php?type=doc">@lng[Voltar]</a>');
                            }
                        }
                        Log::RegistraLog('Realizado upload do arquivo ' . $up->getFullPath() . ' - ' . $descricao);
                        echo file_get_contents("tpl/caso-upload-documento.html");
                    } else {
                        $up->DeletaArquivo($up->getFullPath());
                        Log::RegistraLog('Falha ao realizar upload do arquivo ' . $up->getFullPath() . ' - ' . $descricao . '. Detalhes: ' . $m->getErro(), true);
                        echo Comuns::Idioma('@lng[Não foi possível enviar o arquivo. Detalhes:]' . ' ' . $m->getErro() . '<br /><br /><a href="vwuploaddetalhe.php?type=doc">@lng[Voltar]</a>');
                    }
                } else {
                    Log::RegistraLog('Falha ao realizar upload do arquivo ' . $up->getFullPath() . ' - ' . $_POST['txtDesArquivo'] . '. Detalhes: ' . $up->getStatus(), true);
                    echo Comuns::Idioma('@lng[Problemas ao enviar o arquivo:]' . ' ' . $up->getStatus() . '<br /><br /><a href="vwuploaddetalhe.php?type=doc">@lng[Voltar]</a>');
                }
            }
        } else {
            Log::RegistraLog("Falha ao tentar enviar arquivo. Detalhes: " . $up->getStatus(), true);
            echo $up->getStatus() . '<br /><br /><a href="vwuploaddetalhe.php?type=doc">@lng[Voltar]</a>';
        }
    } else {
        if (isset($_REQUEST['chkDasMidias'])) {
            foreach ($_REQUEST['chkDasMidias'] as $imagem) {
                $value = base64_decode($imagem);
                $m = new Midia();
                $m->setCodCaso($_SESSION['caso']);
                $m->setCodMidia($value);
                if ($m->CarregaPorCodigoEspecifico()) {
                    $e = new Exame();
                    // Se tem alguma indicação de que seja um exame, então grava na tabela de exames
                    if ($e->InsereMidiaExame($_SESSION['caso'], $_SESSION['exame'], $m->getCodMidia(), $m->getDescricao(), $m->getComplemento(), "doc")) {
                        Log::RegistraLog('Realizado vinculo do documento ' . $m->getURL() . ' - ' . $m->getDescricao());
                        echo Comuns::Idioma('@lng[Realizado vinculo do documento]' . ' ' . $m->getURL() . ' - ' . $m->getDescricao());
                    } else {
                        Log::RegistraLog('Falha ao realizar vinculo do documento ' . $m->getURL() . ' - ' . $m->getDescricao() . '. Detalhes: ' . $e->getErro(), true);
                        echo Comuns::Idioma('@lng[Falha ao realizar vinculo do documento]' . ' ' . $m->getURL() . '. @lng[Detalhes:]' . ' ' . $e->getErro() . '<br /><br /><a href="vwuploaddetalhe.php?type=img">@lng[Voltar]</a>');
                    }
                } else {
                    Log::RegistraLog('Não foi possível localizar a mídia ' . $value, true);
                    echo Comuns::Idioma('@lng[Não foi possível localizar a mídia]' . ' ' . $value);
                }
            }
        }
    }
}
Example #24
0
 /**
  * Exclui um Valor de referência de um exame/componente
  * @return bool : true ou false
  * */
 public function Deleta()
 {
     if (isset($this->codexame)) {
         if (isset($this->codcomponente)) {
             if (isset($this->agrupador)) {
                 $this->agrupador = $this->agrupador == '--' ? '' : $this->agrupador;
                 $sql = "DELETE FROM mestipoexamevalref ";
                 $sql .= "WHERE CodExame = :pCodExame ";
                 $sql .= "  AND CodComponente = :pCodComponente ";
                 $sql .= "  AND Agrupador = :pAgrupador;";
                 $cnn = Conexao2::getInstance();
                 $cmd = $cnn->prepare($sql);
                 $cmd->bindParam(":pCodExame", $this->codexame, PDO::PARAM_INT);
                 $cmd->bindParam(":pCodComponente", $this->codcomponente, PDO::PARAM_INT);
                 $cmd->bindParam(":pAgrupador", $this->agrupador, PDO::PARAM_STR);
                 $cmd->execute();
                 if ($cmd->errorCode() == Comuns::QUERY_OK) {
                     Log::RegistraLog("Excluido valor de referência do exame " . $this->codexame . ", componente " . $this->codcomponente . " agrupador: " . $this->agrupador);
                     return true;
                 } else {
                     $msg = $cmd->errorInfo();
                     $this->msg_erro = $msg[2];
                     Log::RegistraLog("Falha ao excluir valor de referência do exame " . $this->codexame . ", componente " . $this->codcomponente . " agrupador: " . $this->agrupador . ". Erro: " . $this->msg_erro, true);
                     return false;
                 }
             } else {
                 $this->msg_erro = "@lng[Agrupador não informado]";
                 return false;
             }
         } else {
             $this->msg_erro = "@lng[Componente não informado]";
             return false;
         }
     } else {
         $this->msg_erro = "@lng[Exame não informado]";
         return false;
     }
 }
Example #25
0
 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;
 }
Example #26
0
function Main()
{
    $codTPL = $_GET["t"];
    $codPagina = $_GET["p"];
    $codMax = $_GET["m"];
    $mensagem = $_GET['msg'];
    if (!is_numeric($codTPL)) {
        $msg = "@lng[A URL acesada é inválida]";
        header("Location:index.php?msg=" . base64_encode($msg));
    }
    if (!is_numeric($codPagina)) {
        $codPagina = 1;
    }
    $u = unserialize($_SESSION['usu']);
    $cnn = new Conexao();
    $sql = "SELECT Arquivo FROM mestemplates WHERE Codigo = 2;";
    $rs = $cnn->Consulta($sql);
    $tpl = file_get_contents(mysql_result($rs, 0, "Arquivo"));
    $tpl = str_replace("<!--telatopo-->", Comuns::GeraTopoPagina($u), $tpl);
    $tpl = str_replace("<!--Mensagem-->", isset($mensagem) && $mensagem != "" ? base64_decode($mensagem) : "", $tpl);
    $sql = "SELECT Classe, jsLoad, linkNovoRegistro, QtdPadListagem FROM mestemplates WHERE Codigo = " . $codTPL . ";";
    $rs = $cnn->Consulta($sql);
    if ($rs != 0) {
        // Classe que será instanciada
        $classe = mysql_result($rs, 0, 0);
        $frm = new $classe();
        if (!is_numeric($codMax)) {
            $codMax = mysql_result($rs, 0, 3);
            // Quantidade padrão para listagem: 15 (exceto listam de Caso que é 10)
        }
        Log::RegistraLog("Acessou a tela de " . $frm->RetornaDescricaoTela('lista'));
        $where = fntConstroiWhere($codTPL, $_GET);
        $lista = $frm->ListaTabela($codPagina, $codMax, $_SESSION['usu'], $where);
        $tpl = str_replace("##Lista##", $lista, $tpl);
        $tpl = str_replace("##CodTpl##", $codTPL, $tpl);
        if (is_null(mysql_result($rs, 0, 2)) || trim(mysql_result($rs, 0, 2)) == "") {
            $tpl = str_replace("##linkNovo##", "cadastro.php?t=" . $codTPL, $tpl);
        } else {
            $tpl = str_replace("##linkNovo##", mysql_result($rs, 0, 2), $tpl);
        }
        $tpl = str_replace("##FuncoesJS##", mysql_result($rs, 0, 1), $tpl);
        $cnnFiltros = Conexao2::getInstance();
        $sqlFiltro = "select TipoFiltro, NomeCampoTela, DscCampoTela, ComandoFill, CampoSelValue, CampoSelText, CSSClassCampoTela ";
        $sqlFiltro .= "from mestemplatesfiltros where CodTemplate = " . $codTPL . ";";
        $cmd = $cnnFiltros->prepare($sqlFiltro);
        $cmd->execute();
        $tplFiltro = "";
        if ($cmd->errorCode() == Comuns::QUERY_OK) {
            if ($cmd->rowCount() > 0) {
                while ($linha = $cmd->fetch(PDO::FETCH_OBJ)) {
                    $tplFiltro .= '<label id="lbl' . $linha->NomeCampoTela . '" for="' . $linha->NomeCampoTela . '">';
                    $tplFiltro .= '    @lng[' . $linha->DscCampoTela . ']<br />';
                    switch ($linha->TipoFiltro) {
                        case "TEXTO":
                            $tplFiltro .= '    <input type="text" name="' . $linha->NomeCampoTela . '" id="' . $linha->NomeCampoTela . '" class="' . $linha->CSSClassCampoTela . '" value="' . ($_GET[$linha->NomeCampoTela] ? $_GET[$linha->NomeCampoTela] : "") . '" />';
                            break;
                        case "COMBO":
                            $arr = null;
                            Comuns::ArrayObj($linha->ComandoFill, $arr);
                            $combo = new ComboBox($linha->NomeCampoTela, $arr, $linha->CampoSelValue, $linha->CampoSelText);
                            $combo->cssClass($linha->CSSClassCampoTela);
                            $combo->setDefaultValue("");
                            $combo->setDefaultText("@lng[Todos]");
                            $tplFiltro .= $combo->RenderHTML();
                            break;
                        default:
                            $tplFiltro .= '    <input type="text" name="' . $linha->NomeCampoTela . '" id="' . $linha->NomeCampoTela . '" class="' . $linha->CSSClassCampoTela . '" value="' . ($_GET[$linha->NomeCampoTela] ? $_GET[$linha->NomeCampoTela] : "") . '" />';
                    }
                    $tplFiltro .= '</label><br /><br />';
                }
                $tpl = str_replace("##Filtros##", $tplFiltro, $tpl);
            } else {
                $tpl = str_replace("##Filtros##", "@lng[Esta tela não possui filtros para serem aplicados]", $tpl);
            }
        } else {
            $msg = $cmd->errorInfo();
            echo $msg[2];
        }
    }
    //header('Content-Type: text/html; charset=iso-8859-1');
    echo Comuns::Idioma($tpl);
}
Example #27
0
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);
}