<?php
include_once 'bd.php';

class Usuario 
{
    public $bd;
    
    public $id;
    public $email;
    public $senha;
    public $nome;
    public $perfil;

    public function __construct() {
        $this->bd = new BD();
    }
    
    public function inserir(){
        $sql = "INSERT INTO imediaco_geo.usuario (email, senha, nome, perfil)
                VALUES ('$this->email', ('$this->senha'), '$this->nome', '$this->perfil')";
        $executou = $this->bd->executarSQL($this->bd->substituiVazioPorNull($sql));
        if($executou){
            $this->bd->log('inserir usuario', $sql, null);
            return true;
        }else{
            $_SESSION[erro][] = "Erro ao inserir usuario";
            return false;
        }
    }
    
    public function editar(){
        $sql = "UPDATE imediaco_geo.usuario SET
                email = '$this->email'
                ,senha = ('$this->senha')
                ,nome = '$this->nome'
                ,perfil = '$this->perfil'
                WHERE id = '$this->id'";
        $executou = $this->bd->executarSQL($this->bd->substituiVazioPorNull($sql));
        if($executou){
            $this->bd->log('editar usuario', $sql, null);
            return true;
        }else{
            $_SESSION[erro][] = "Erro ao editar usuario";
            return false;
        }
    }
    
    public function excluir(){
        $sql = "DELETE FROM imediaco_geo.usuario WHERE id = '$this->id'";
        $executou = $this->bd->executarSQL($this->bd->substituiVazioPorNull($sql));
        if($executou){
            $this->bd->log('excluir usuario', $sql, null);
            return true;
        }else{
            $_SESSION[erro][] = "Erro ao excluir usuario";
            return false;
        }
    }
    
    public function encontrar($id){
        $sql = "SELECT * FROM imediaco_geo.usuario WHERE id = '$id'";
        $this->bd->executarSQL($this->bd->substituiVazioPorNull($sql));
        $obj = $this->bd->getObjeto();
        
        $this->id = $obj->id;
        $this->email = $obj->email;
        $this->senha = $obj->senha;
        $this->nome = $obj->nome;
        $this->perfil = $obj->perfil;
        
        return $obj;
    }
}
