Guest User

Untitled

a guest
Jun 24th, 2018
201
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
PHP 6.64 KB | None | 0 0
  1. <?php
  2.  
  3. /**
  4.  * UNIBASE
  5.  * Classe responsável pelo controle do banco de dados do sistema.
  6.  * Compatível apenas com bancos de dados POSTGRESQL.
  7.  *
  8.  * @Autor   Lucas Andrade de Araújo
  9.  * @Email   LucasAndrade@Unimake.com.br
  10.  */
  11.  
  12. class unibase
  13. {
  14.     /**
  15.      * @Conectado
  16.      * Variável responsável por armazenar a função que diz
  17.      * respeito se a conexão foi bem sucedia ou não.
  18.      */
  19.     public $Conectado;
  20.    
  21.     /**
  22.      * @Construtor
  23.      * Função responsável por iniciar a conexão com o banco
  24.      * de dados e retornar através da variável Conectado a
  25.      * informação se ele foi conectado ou não.
  26.      */
  27.     function __construct($host, $porta, $dbname, $user, $password)
  28.     {
  29.         /**
  30.          * String de conexão com o banco de dados.
  31.          */
  32.         $conexaoString  = "host=$host ";
  33.         $conexaoString .= "port=$porta ";
  34.         $conexaoString .= "dbname=$dbname ";
  35.         $conexaoString .= "user=$user ";
  36.         $conexaoString .= "password=$password";
  37.        
  38.        /**
  39.         * Realiza uma tentativa de conexão com o banco
  40.         * e em caso de sucesso define a variável Conectado
  41.         * como true, caso contrário como false.
  42.         */
  43.        if($conexaoResource = pg_connect($conexaoString))
  44.             $this->Conectado = true;
  45.        else
  46.             $this->Conectado = false;
  47.     }
  48.    
  49.    /**
  50.     * @Cadastra
  51.     *  Função responvável por cadastrar novos usuários no banco de dados.
  52.     */
  53.    function cadastra($email, $nome, $sexo, $nascimento, $sexo, $religiao, $pais, $estado, $cidade, $senha1, $senha2)
  54.    {
  55.         /* Primeira etapa: Validação de e-mail */
  56.         if($unilogin->_mail($email))
  57.         {
  58.             $this->CadastroValido = true;
  59.             $this->CadastroEmail  = $email;
  60.         }
  61.         else
  62.         {
  63.             $this->CadastroValido = false;
  64.             $this->CadastroErro  .= "<li> E-mail inválido. </li>";
  65.             $uniseg->SalvaLogs();
  66.         }
  67.        
  68.         /* Segunda etapa: Validadação da senha */
  69.         if($senha1 == $senha2)
  70.         {
  71.             $this->CadastroValido = true;
  72.             $this->CadastroSenha  = md5($senha1);
  73.         }
  74.         else
  75.         {
  76.             $this->CadastroValido = false;
  77.             $this->CadastroErro  .= "<li> Senhas diferentes. </li>";
  78.             $uniseg->SalvaLogs();
  79.         }
  80.        
  81.         /* Terceira etapa: Validação do sexo */
  82.         if(($sexo == "M") or ($sexo == "F"))
  83.         {
  84.             $this->CadastroValido = true;
  85.             $this->CadastroSexo   = $sexo;
  86.         }
  87.         else
  88.         {
  89.             $this->CadastroValido = false;
  90.             $this->CadastroErro  .= "<li> Sexo inválido. </li>";
  91.             $uniseg->SalvaLogs();
  92.         }
  93.        
  94.         /* Quarta etapa: validação do país */
  95.         if(!is_null($pais))
  96.         {
  97.             /* Regex: apenas letras, letras com ascentos e espaços */
  98.             $patt = "/^[a-zA-ZéúíóáÉÚÍÓÁèùìòàÈÙÌÒÀõãñÕÃÑêûîôâÊÛÎÔÂëÿüïöäËYÜÏÖÄ\s]+$/";
  99.            
  100.             if(preg_match($patt, $pais))
  101.             {
  102.                
  103.                 $sql = "SELECT * FROM adm_pais WHERE nome='$pais';";
  104.                
  105.                 /* Verifica se o pais informado existe no banco de dados */
  106.                 if(pg_fetch_array(pg_query($sql)))
  107.                 {
  108.                     $this->CadastroValido = true;
  109.                 }
  110.                 else
  111.                 {
  112.                     $this->CadastroErro  .= "<li> O pas informado não consta em nosso banco de dados. </li>";
  113.                     $this->CadastroValido = false;
  114.                     $uniseg->SalvaLogs();
  115.                 }
  116.             }
  117.             else
  118.             {
  119.                     $this->CadastroErro  .= "<li> O nome do país é inválido. </li>";
  120.                     $this->CadastroValido = false;
  121.                     $uniseg->SalvaLogs();
  122.             }
  123.            
  124.         }
  125.        
  126.         /* Quinta etapa: valida nome */
  127.         if(!is_null($nome))
  128.         {
  129.             /* Regex: apenas letras, letras com ascentos, espaços e aspas simples. */
  130.             $patt = "/^[a-zA-ZéúíóáÉÚÍÓÁèùìòàÈÙÌÒÀõãñÕÃÑêûîôâÊÛÎÔÂëÿüïöäËYÜÏÖÄ\s\']+$/";
  131.            
  132.             if(preg_match($patt, $nome))
  133.                 $this->CadastroValido = true;
  134.                
  135.             else
  136.             {
  137.                 $this->CadastroErro  .= "<li> O nome informado é inválido. </li>";
  138.                 $this->CadastroValido = false;
  139.                 $uniseg->SalvaLogs();
  140.             }
  141.         }
  142.        
  143.         /* Sexta etapa: valida religião */
  144.         if(!is_null($religiao))
  145.         {
  146.             /* Regex: apenas letras, letras com ascentos, espaços e aspas simples. */
  147.             $patt = "/^[a-zA-ZéúíóáÉÚÍÓÁèùìòàÈÙÌÒÀõãñÕÃÑêûîôâÊÛÎÔÂëÿüïöäËYÜÏÖÄ\s\']+$/";
  148.            
  149.             if(preg_match($patt, $religiao))
  150.                 $this->CadastroValido = true;
  151.                
  152.             else
  153.             {
  154.                 $this->CadastroErro  .= "<li> O nome da religiãoo é inválido.</li>";
  155.                 $this->CadastroValido = false;
  156.                 $uniseg->SalvaLogs();
  157.             }
  158.         }
  159.        
  160.         /* Sétima etapa: valida estado */
  161.         if(!is_null($nome))
  162.         {
  163.             /* Regex: apenas letras, letras com ascentos, espaços e aspas simples. */
  164.             $patt = "/^[a-zA-ZéúíóáÉÚÍÓÁèùìòàÈÙÌÒÀõãñÕÃÑêûîôâÊÛÎÔÂëÿüïöäËYÜÏÖÄ\s\']+$/";
  165.            
  166.             if(preg_match($patt, $estado))
  167.                 $this->CadastroValido = true;
  168.                
  169.             else
  170.             {
  171.                 $this->CadastroErro  .= "<li> O nome do estado é inválido.</li>";
  172.                 $this->CadastroValido = false;
  173.                 $uniseg->SalvaLogs();
  174.             }
  175.         }
  176.        
  177.         /* Oitava etapa: Cidade */
  178.         if(!is_null($nome))
  179.         {
  180.             /* Regex: apenas letras, letras com ascentos, espaços e aspas simples. */
  181.             $patt = "/^[a-zA-ZéúíóáÉÚÍÓÁèùìòàÈÙÌÒÀõãñÕÃÑêûîôâÊÛÎÔÂëÿüïöäËYÜÏÖÄ\s\']+$/";
  182.            
  183.             if(preg_match($patt, $cidade))
  184.                 $this->CadastroValido = true;
  185.                
  186.             else
  187.             {
  188.                 $this->CadastroErro  .= "<li> O nome da cidade é inválido. </li>";
  189.                 $this->CadastroValido = false;
  190.                 $uniseg->SalvaLogs();
  191.             }
  192.         }
  193.        
  194.         /* Nona etapa:... */
  195.    }
  196. }
Add Comment
Please, Sign In to add comment