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>'); } } }
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; } }
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; } }
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; } }
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; } }
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; } }
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); } } } } }