PageRenderTime 24ms CodeModel.GetById 21ms RepoModel.GetById 0ms app.codeStats 0ms

/app/view/modulos/Doa/dp/doarSangue.dp.php

https://gitlab.com/jalon/doadoronline
PHP | 169 lines | 70 code | 16 blank | 83 comment | 19 complexity | 6d9871ad854efa17dc7ebb645cece5e2 MD5 | raw file
  1. <?php
  2. #################################################################################
  3. ## Includes
  4. #################################################################################
  5. if (defined('DOC_ROOT')) {
  6. include_once(DOC_ROOT . 'include.php');
  7. }else{
  8. include_once('../include.php');
  9. }
  10. #################################################################################
  11. ## Resgata os parâmetros passados pelo formulário
  12. #################################################################################
  13. //if (isset($_POST['codUsuario'])) $codUsuario = \AppClass\App\Util::antiInjection($_POST['codUsuario']);
  14. if (isset($_POST['pacienteTipo'])) $pacienteTipo = \AppClass\App\Util::antiInjection($_POST['pacienteTipo']);
  15. if (isset($_POST['nome'])) $nome = \AppClass\App\Util::antiInjection($_POST['nome']);
  16. if (isset($_POST['codEstado'])) $codEstado = \AppClass\App\Util::antiInjection($_POST['codEstado']);
  17. if (isset($_POST['codCidade'])) $codCidade = \AppClass\App\Util::antiInjection($_POST['codCidade']);
  18. if (isset($_POST['codTipoSangue'])) $codTipoSangue = \AppClass\App\Util::antiInjection($_POST['codTipoSangue']);
  19. if (isset($_POST['dataPrazo'])) $dataPrazo = \AppClass\App\Util::antiInjection($_POST['dataPrazo']);
  20. if (isset($_POST['relato'])) $relato = \AppClass\App\Util::antiInjection($_POST['relato']);
  21. #################################################################################
  22. ## Limpar a variável de erro
  23. #################################################################################
  24. $err = false;
  25. #################################################################################
  26. ## Fazer validação dos campos
  27. #################################################################################
  28. /** Nome **/
  29. if ((empty($nome))) {
  30. $system->criaAviso(\AppClass\App\Aviso\Tipo::ERRO,$tr->trans("Campo NOME é obrigatório"));
  31. $err = 1;
  32. }
  33. /** Estado **/
  34. if ((empty($codEstado))) {
  35. $system->criaAviso(\AppClass\App\Aviso\Tipo::ERRO,$tr->trans("Campo ESTADO é obrigatório"));
  36. $err = 1;
  37. }
  38. /** Cidade **/
  39. if ((empty($codCidade))) {
  40. $system->criaAviso(\AppClass\App\Aviso\Tipo::ERRO,$tr->trans("Campo CIDADE é obrigatório"));
  41. $err = 1;
  42. }
  43. /** Tipo Sanguineo **/
  44. if ((empty($codTipoSangue))) {
  45. $system->criaAviso(\AppClass\App\Aviso\Tipo::ERRO,$tr->trans("Campo TIPO SANGUÍNEO é obrigatório"));
  46. $err = 1;
  47. }
  48. /** DataPrazo **/
  49. if ((empty($dataPrazo))) {
  50. $system->criaAviso(\AppClass\App\Aviso\Tipo::ERRO,$tr->trans("Campo DATA PRAZO é obrigatório"));
  51. $err = 1;
  52. }
  53. if ($err != null) {
  54. echo '1'.\AppClass\App\Util::encodeUrl('||'.htmlentities($err));
  55. exit;
  56. }
  57. #################################################################################
  58. ## Salvar no banco
  59. #################################################################################
  60. try {
  61. //$db->transaction();
  62. $params = array();
  63. if (!empty($dataPrazo)) {
  64. $dataPrazo = implode("-",array_reverse(explode("/",$dataPrazo)));
  65. }else{
  66. $dataPrazo = null;
  67. }
  68. $params += array(':nome' => $nome,
  69. ':pacienteTipo' => $pacienteTipo,
  70. ':codEstado' => $codEstado,
  71. ':codCidade' => $codCidade,
  72. ':codTipoSangue' => $codTipoSangue,
  73. ':dataSolicitacao' => date('Y-m-d'),
  74. ':dataPrazo' => $dataPrazo,
  75. ':relato' => $relato
  76. );
  77. if (isset($codUsuario) && (!empty($codUsuario))) {
  78. $params += array(':codigo' => $codUsuario);
  79. $oDoacao = $db->Executa('UPDATE `SLDOA_DOACAO` SET `COD_PACIENTE_TIPO`=:pacienteTipo, `NOME`=:nome,`COD_ESTADO`=:codEstado,`COD_CIDADE`=:codCidade,`COD_TIPO_SANGUE`=:codTipoSangue,`RELATO`=:relato,`DATA_SOLICITACAO`=:dataSolicitacao,`DATA_PRAZO`=:dataPrazo WHERE `CODIGO`=:codigo',
  80. $params);
  81. }else{
  82. $oDoacao = $db->Executa('INSERT INTO `SLDOA_DOACAO`(`COD_PACIENTE_TIPO`, `NOME`, `COD_ESTADO`, `COD_CIDADE`, `COD_TIPO_SANGUE`, `RELATO`, `DATA_SOLICITACAO`, `DATA_PRAZO`)
  83. VALUES (:pacienteTipo,:nome,:codEstado,:codCidade,:codTipoSangue,:relato,:dataSolicitacao,:dataPrazo)', $params);
  84. }
  85. if (stristr($oDoacao,'[ERR]')) throw new Exception();
  86. /*if($db->commit()){
  87. #################################################################################
  88. ## Carregando o template html
  89. #################################################################################
  90. $tpl = new \AppClass\App\Template();
  91. $tpl->load(TPL_PATH . '/' . 'tplUsuarioCadastro.html');
  92. $texto = "Segue abaixo seus dados de acesso: ";
  93. $assunto = "Cadastro de Usuário";
  94. $tpl->set('ASSUNTO' , $assunto);
  95. $tpl->set('TEXTO' , $texto);
  96. $tpl->set('NOME' , $nome);
  97. $tpl->set('LOGIN' , $email);
  98. $tpl->set('SENHA' , $senha);
  99. #################################################################################
  100. ## Por fim exibir a página HTML
  101. #################################################################################
  102. $mensagem = $tpl->getHtml();
  103. #################################################################################
  104. ## Criar os objeto do email ,transporte e validador
  105. #################################################################################
  106. $mail = \AppClass\App\Mail::getMail();
  107. $transport = \AppClass\App\Mail::getTransport();
  108. $validator = new \Zend\Validator\EmailAddress();
  109. $htmlMail = new \Zend\Mime\Part($mensagem);
  110. $htmlMail->type = "text/html";
  111. $body = new \Zend\Mime\Message();
  112. $bodyArray = array();
  113. $bodyArray[] = $htmlMail;
  114. if (!$mail || !$transport) return 0;
  115. #################################################################################
  116. ## Definir o conteúdo do e-mail
  117. #################################################################################
  118. $body->setParts($bodyArray);
  119. $mail->setBody($body);
  120. $mail->setSubject("<DoadorOnline> ".$assunto);
  121. $mail->addTo($email);
  122. try {
  123. $indOK = true;
  124. $log->debug("Vou enviar o e-mail");
  125. $transport->send($mail);
  126. $log->debug("E-mail enviado com sucesso !!!");
  127. $erro = null;
  128. } catch (\Exception $e) {
  129. $log->err("Erro ao enviar o e-mail:". $e->getTraceAsString());
  130. $indOK = false;
  131. $erro = $e->getTraceAsString();
  132. throw new Exception($erro);
  133. }
  134. }else{
  135. throw new Exception();
  136. }*/
  137. } catch (\Exception $e) {
  138. //$db->rollBack();
  139. $system->criaAviso(\AppClass\App\Aviso\Tipo::ERRO, "Ocorreu um erro ao realizar solicitação. " . $e->getMessage());
  140. echo '1'.\AppClass\App\Util::encodeUrl('||'.htmlentities($e->getMessage()));
  141. exit;
  142. }
  143. $system->criaAviso(\AppClass\App\Aviso\Tipo::INFO,"Solicitação de doação realizada com sucesso");
  144. echo '0'.\AppClass\App\Util::encodeUrl('|'.$oDoacao);