Exemplo n.º 1
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>');
        }
    }
}
Exemplo n.º 2
0
 public function Insere()
 {
     if (isset($this->Texto)) {
         $sql = "INSERT INTO mesperguntaagrupador(Texto, Explicacao, Chave) ";
         $sql .= "VALUES(:pTexto, :pExplicacao, :pChave)";
         $chave = Comuns::CodigoUnico();
         $cnn = Conexao2::getInstance();
         $cmd = $cnn->prepare($sql);
         $cmd->bindParam(":pTexto", $this->Texto, PDO::PARAM_STR);
         $cmd->bindParam(":pExplicacao", $this->Explicacao, PDO::PARAM_STR);
         $cmd->bindParam(":pChave", $chave, PDO::PARAM_STR);
         $cmd->execute();
         if ($cmd->errorCode() == Comuns::QUERY_OK) {
             return true;
         } else {
             $msg = $cmd->errorInfo();
             $this->msg_erro = $msg[2];
             return false;
         }
     } else {
         $this->msg_erro = "@lng[Texto do agrupador não informado]";
         return false;
     }
 }
Exemplo n.º 3
0
 public function ProcessarExames($interno = "N")
 {
     if (isset($this->codcaso) && $this->codcaso > 0) {
         // Verifica se o exame já não foi processado
         $sql = "select ExamesProcessados from mescaso ";
         $sql .= "where Codigo = :pCodCaso";
         $cnn = Conexao2::getInstance();
         $cmd = $cnn->prepare($sql);
         $cmd->bindParam(":pCodCaso", $this->codcaso, PDO::PARAM_INT);
         $cmd->execute();
         if ($cmd->errorCode() == Comuns::QUERY_OK) {
             $status = $cmd->fetchColumn();
             if ($status == 0 || $status == 2) {
                 // 0 é não processado e 2 é Reprocessado
                 $cmd->closeCursor();
                 // Busca a combinação de agrupamentos para a exibição dos resultados dos exames
                 $sql = "SELECT CodCaso, NumBateria, AgrupaComABateria, TipoReg, Exame ";
                 $sql .= "FROM( ";
                 $sql .= "\tSELECT DISTINCT CodCaso ";
                 $sql .= "\t\t, NumBateria ";
                 $sql .= "\t\t, AgrupaComABateria ";
                 $sql .= "\t\t, 2 as TipoReg ";
                 $sql .= "\t\t, CASE WHEN AgrupaComABateria = 0 then CodExame else -1 end as Exame ";
                 $sql .= "\tFROM mescasoexames ";
                 $sql .= "\tWHERE codcaso = :pCodCaso ";
                 $sql .= "\tUNION ";
                 $sql .= "\tSELECT DISTINCT CodCaso, NumBateria, 0 as AgrupaComABateria, 1 as TipoReg, -1 as Exame ";
                 $sql .= "\tFROM mescasoexames ";
                 $sql .= "\tWHERE CodCaso = :pCodCaso AND MostraQuando = 0 ";
                 $sql .= "\t) dados ";
                 $sql .= "ORDER BY NumBateria, TipoReg";
                 $cmd = $cnn->prepare($sql);
                 $cmd->bindParam(":pCodCaso", $this->codcaso, PDO::PARAM_INT);
                 $cmd->execute();
                 if ($cmd->errorCode() == Comuns::QUERY_OK) {
                     if ($cmd->rowCount() > 0) {
                         if ($interno != "S") {
                             Log::RegistraLog("Processou os exames do caso de estudo " . $this->codcaso);
                         }
                         $rs = $cmd->fetchAll(PDO::FETCH_OBJ);
                         $cmd->closeCursor();
                         $sql = "INSERT INTO mescasoexameschaves(CodCaso, NumBateria, Agrupado, CodExame, TipoRegistro, Chave) ";
                         $sql .= "VALUES(:pCodCaso, :pNumBateria, :pAgrupado, :pCodExame, :pTipoReg, :pChave);";
                         $cnn->beginTransaction();
                         foreach ($rs as $item) {
                             $chave = Comuns::CodigoUnico();
                             $cmd = $cnn->prepare($sql);
                             $cmd->bindParam(":pCodCaso", $item->CodCaso, PDO::PARAM_INT);
                             $cmd->bindParam(":pNumBateria", $item->NumBateria, PDO::PARAM_INT);
                             $cmd->bindParam(":pAgrupado", $item->AgrupaComABateria, PDO::PARAM_INT);
                             $cmd->bindParam(":pCodExame", $item->Exame, PDO::PARAM_INT);
                             $cmd->bindParam(":pTipoReg", $item->TipoReg, PDO::PARAM_INT);
                             $cmd->bindParam(":pChave", $chave, PDO::PARAM_STR);
                             $cmd->execute();
                             if ($cmd->errorCode() == Comuns::QUERY_OK) {
                                 $cmd->closeCursor();
                             } else {
                                 $msg = $cmd->errorInfo();
                                 $this->msg_erro = $msg[2] . " linha 1304";
                                 $cnn->rollBack();
                                 return false;
                             }
                         }
                         $sql = "UPDATE mescaso SET ExamesProcessados = 1 WHERE Codigo = :pCodCaso;";
                         $cmd = $cnn->prepare($sql);
                         $cmd->bindParam(":pCodCaso", $this->codcaso, PDO::PARAM_INT);
                         $cmd->execute();
                         if ($cmd->errorCode() == Comuns::QUERY_OK) {
                             $cnn->commit();
                             return true;
                         } else {
                             $msg = $cmd->errorInfo();
                             $this->msg_erro = $msg[2] . " linha 1325";
                             $cnn->rollBack();
                             return false;
                         }
                     } else {
                         $this->msg_erro = "@lng[Nenhum exame encontrado para ser processado]";
                         return false;
                     }
                 } else {
                     $msg = $cmd->errorInfo();
                     $this->msg_erro = $msg[2] . " linha 1339";
                     return false;
                 }
             } else {
                 $this->msg_erro = "@lng[Os exames deste caso já foram processados. Se deseja atualiza-los faça um reprocessamento e não um processamento]";
                 return false;
             }
         } else {
             $msg = $cmd->errorInfo();
             $this->msg_erro = $msg[2] . " linha 1352";
             return false;
         }
     } else {
         $this->msg_erro = "@lng[Caso não informado]";
         return false;
     }
 }
Exemplo n.º 4
0
 public function AdicionaAlternativa($alt)
 {
     try {
         if ($this->getTipo()->getCodigo() == 1) {
             if ($_REQUEST['hdnOrigem'] == "banco") {
                 foreach ($_REQUEST['chkUsar'] as $imagem) {
                     $value = base64_decode($imagem);
                     $valores = split("::::", $value);
                     $img = $valores[0];
                 }
             } else {
                 $arquivo = isset($_FILES["realupload"]) ? $_FILES["realupload"] : false;
                 // Se não veio o arquivo
                 if ($arquivo == false) {
                     $this->msg_erro[] = "@lng[Informe um arquivo para realizar o upload]";
                     return false;
                 }
                 if (!eregi("^image\\/(pjpeg|jpeg|png|gif)\$", $arquivo["type"])) {
                     $this->msg_erro[] = "@lng[Tipo de arquivo enviado inválido. Envie jpeg, gif ou png]";
                     return false;
                 }
                 // Recupera extensão do arquivo
                 preg_match("/\\.(gif|bmp|png|jpg|jpeg){1}\$/i", $arquivo["name"], $ext);
                 // Monta o nome final do arquivo
                 $img = 'files/perg/' . $this->getCodigo() . "/imgs/" . Comuns::CodigoUnico() . "." . $ext[1];
                 // Verifica a existencia dos diretórios. Se não existirem, eles são criados
                 $this->CriaDiretorio();
                 // Carrega o arquivo
                 move_uploaded_file($arquivo["tmp_name"], $img);
             }
         } else {
             $img = "";
         }
         // Se deu tudo certo no upload ou pergunta é do tipo texto, faz a gravação no banco de dados
         $sql = "INSERT INTO mesalternativa(CodPergunta, Sequencia, Texto, Imagem, Correto, Explicacao, ExibirExplicacao, TipoConsequencia, ValorConsequencia, CodBinario, Origem) ";
         $sql .= "SELECT :pCodPerg, :pSeq, :pTexto, :pImagem, :pCorreto, :pExplicacao, :pExibirExp, :pTipoConseq, :pValConseq, ";
         $sql .= "(SELECT IFNULL((MAX(CodBinario) * 2), 1) FROM mesalternativa WHERE codpergunta = :pCodPerg), :pOrigem ";
         //$sql .= "VALUES(:pCodPerg, :pSeq, :pTexto, :pImagem, :pCorreto, :pExplicacao, :pExibirExp, :pTipoConseq, :pValConseq);";
         $proximo = $this->maiorseq + 1;
         try {
             $cnn = Conexao2::getInstance();
             $cnn->beginTransaction();
             $q = $cnn->prepare($sql);
             $q->bindParam(":pCodPerg", $this->getCodigo(), PDO::PARAM_INT);
             $q->bindParam(":pSeq", $proximo, PDO::PARAM_INT);
             $q->bindParam(":pTexto", $alt->getTexto(), PDO::PARAM_STR);
             $q->bindParam(":pImagem", $img, PDO::PARAM_STR);
             $q->bindParam(":pCorreto", $alt->getCorreto(), PDO::PARAM_INT);
             $q->bindParam(":pExplicacao", $alt->getExplicacao(), PDO::PARAM_STR);
             $q->bindParam(":pExibirExp", $alt->getExibirExplicacao(), PDO::PARAM_INT);
             $q->bindParam(":pTipoConseq", $alt->getTipoConsequencia(), PDO::PARAM_INT);
             $q->bindParam(":pValConseq", $alt->getValorConsequencia(), PDO::PARAM_INT);
             $q->bindParam(":pOrigem", $alt->getOrigem(), PDO::PARAM_STR);
             $q->execute();
             if ($q->errorCode() == Comuns::QUERY_OK) {
                 if ($alt->getTipoConsequencia() == 2 || $alt->getTipoConsequencia() == 3) {
                     switch ($alt->getTipoConsequencia()) {
                         case 2:
                             $sqlE2 = "INSERT INTO mesproximapergunta(CodPergunta) ";
                             $sqlE2 .= "VALUES(:pValorAcao);";
                             break;
                         case 3:
                             $sqlE2 = "INSERT INTO mesperguntaapoio";
                     }
                     $q2 = $cnn->prepare($sqlE2);
                     $q2->bindParam(":pValorAcao", $alt->getValorConsequencia(), PDO::PARAM_INT);
                     $q2->execute();
                     $codacao = $cnn->lastInsertId();
                     if ($codacao > 0) {
                         $sqlE3 = "UPDATE mesalternativa ";
                         $sqlE3 .= "SET ValorConsequencia = :pCodAcaoGerado ";
                         $sqlE3 .= "WHERE CodPergunta = :pCodPergunta AND Sequencia = :pCodSequencia;";
                         $q3 = $cnn->prepare($sqlE3);
                         $q3->bindParam(":pCodAcaoGerado", $codacao, PDO::PARAM_INT);
                         $q3->bindParam(":pCodPergunta", $this->getCodigo(), pdo::PARAM_INT);
                         $q3->bindParam(":pCodSequencia", $proximo, PDO::PARAM_INT);
                         $q3->execute();
                         $cnn->commit();
                     } else {
                         $cnn->rollBack();
                         echo "Erro 2035";
                     }
                 } else {
                     $cnn->commit();
                 }
             } else {
                 $cnn->rollBack();
                 $msg = $q->errorInfo();
                 echo $msg[2];
             }
         } catch (PDOException $e) {
             $cnn->rollBack();
             echo "Erro 2054";
         }
         $this->RecarregarAlternativas();
         return true;
     } catch (PDOException $ex) {
         echo $ex->getMessage();
         $this->msg_erro[] = $ex->getMessage();
         return false;
     }
 }
Exemplo n.º 5
0
 public function AddItem($sTCo, $iOrd, $sPai, $iRef, $sOrg)
 {
     /*
     $sqlins = "INSERT INTO mescasomontagem(CodCaso, CodMontagem, Chave, TipoConteudo, Ordem, ChavePai, Organizador, ContReferencia) ";
     $sqlins .= "values(:pCodCaso, :pCodMontagem, :pChave, :pTipoConteudo, :pOrdem, :pChavePai, :pOrganizador, :pContReferencia)";
     */
     $sqlins = "INSERT INTO mescasomontagem(CodCaso, CodMontagem, Chave, TipoConteudo, Ordem, ChavePai, Organizador, ContReferencia, ValorOpt) ";
     $sqlins .= "SELECT :pCodCaso, ";
     $sqlins .= "\t   :pCodMontagem, ";
     $sqlins .= "\t   :pChave, ";
     $sqlins .= "\t   :pTipoConteudo, ";
     $sqlins .= "\t   :pOrdem, ";
     $sqlins .= "\t   :pChavePai, ";
     $sqlins .= "\t   :pOrganizador, ";
     $sqlins .= "\t   :pContReferencia, ";
     $sqlins .= "\t   CASE WHEN :pOrganizador = 'cont' AND :pTipoConteudo NOT IN('an','aninv','exfis') THEN ";
     $sqlins .= "\t   \t\tIFNULL(((SELECT MAX(ValorOpt) FROM mescasomontagem ";
     $sqlins .= "\t   \t\t\t\t WHERE CodCaso = :pCodCaso AND CodMontagem = :pCodMontagem AND ChavePai = :pChavePai) * 2), 1) ";
     $sqlins .= "\t   ELSE 0 END ";
     $codunico = Comuns::CodigoUnico();
     $cnn = Conexao2::getInstance();
     $cmdins = $cnn->prepare($sqlins);
     $cmdins->bindParam(":pCodCaso", $this->codcaso, PDO::PARAM_INT);
     $cmdins->bindParam(":pCodMontagem", $this->nummontagem, PDO::PARAM_INT);
     $cmdins->bindParam(":pChave", $codunico, PDO::PARAM_STR);
     $cmdins->bindParam(":pTipoConteudo", $sTCo, PDO::PARAM_STR);
     $cmdins->bindParam(":pOrdem", $iOrd, PDO::PARAM_INT);
     $cmdins->bindParam(":pChavePai", $sPai, PDO::PARAM_STR);
     $cmdins->bindParam(":pOrganizador", $sOrg, PDO::PARAM_STR);
     $cmdins->bindParam(":pContReferencia", $iRef, PDO::PARAM_INT);
     $cmdins->execute();
     if ($cmdins->errorCode() == Comuns::QUERY_OK) {
         return $sOrg . '_' . $sTCo . '_' . $iRef . '_' . $codunico;
     } else {
         $msg = $cmdins->errorInfo();
         $this->msg_erro = $msg[2];
         return false;
     }
 }
Exemplo n.º 6
0
 public function Insere()
 {
     if ($this->codcaso > 0) {
         if (isset($this->descricao)) {
             if (isset($this->texto)) {
                 $sql = "insert into mescasoconteudo(CodCaso, Descricao, Texto, Chave, DtCadastro) ";
                 $sql .= "values(:pCodCaso, :pDescricao, :pTexto, :pChave, current_timestamp())";
                 $chave = Comuns::CodigoUnico();
                 $cnn = Conexao2::getInstance();
                 $cmd = $cnn->prepare($sql);
                 $cmd->bindParam(":pCodCaso", $this->codcaso, PDO::PARAM_INT);
                 $cmd->bindParam(":pDescricao", $this->descricao, PDO::PARAM_STR);
                 $cmd->bindParam(":pTexto", $this->texto, PDO::PARAM_STR);
                 $cmd->bindParam(":pChave", $chave, PDO::PARAM_STR);
                 $cmd->execute();
                 if ($cmd->errorCode() == Comuns::QUERY_OK) {
                     return true;
                 } else {
                     $msg = $cmd->errorInfo();
                     $this->msg_erro = $msg[2];
                     return false;
                 }
             } else {
                 $this->msg_erro = "@lng[Conteúdo não informado]";
                 return false;
             }
         } else {
             $this->msg_erro = "@lng[Descrição não informada]";
             return false;
         }
     } else {
         $this->msg_erro = "@lng[Código do caso de estudo não informado]";
         return false;
     }
 }
Exemplo n.º 7
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);
                }
            }
        }
    }
}