Created
January 9, 2020 21:58
-
-
Save andre-mz/588088d69acb884407aae09458fae647 to your computer and use it in GitHub Desktop.
Controller
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
<?php | |
class Eventos extends Controller { | |
public function __construct(){ | |
if (!estaLogado()){ | |
redirect('usuario/login '); | |
} | |
//instancia as classes do model | |
$this->postModel = $this->model('Evento'); | |
$this->userModel = $this->model('Usuario'); | |
} | |
public function index(){ | |
$eventos = $this->postModel->getEventos2(); | |
$dados= [ | |
'eventos' => $eventos | |
]; | |
$this->view('eventos/index', $dados); | |
} | |
/**ADICIONAR EVENTOS*/ | |
public function adicionar(){ | |
$_POST = filter_input_array(INPUT_POST, FILTER_SANITIZE_STRING); | |
if($_SERVER['REQUEST_METHOD'] == 'POST'){ | |
$dados = [ | |
'titulo' => trim($_POST['titulo']), | |
'cat' => trim($_POST['cat']), | |
'data' => trim($_POST['data']), | |
'img1' => trim($_POST['img1']), | |
'img2' => trim($_POST['img2']), | |
'corpo' => trim($_POST['corpo']), | |
'usuario_id' => $_SESSION['usuario_id'], | |
'titulo_erro' => '', | |
'cat_erro' =>'', | |
'data_erro' => '', | |
'img1_erro' => '', | |
'img2_erro' => '', | |
'corpo_erro' => '', | |
]; | |
if(empty($dados['titulo'])){ | |
$dados['titulo_erro'] = 'Insira o titulo'; | |
} | |
if(empty($dados['corpo'])){ | |
$dados['corpo_erro'] = 'Insira o conteudo'; | |
}elseif(strlen($dados['corpo']) < 400){ | |
//checa o tamanho do password | |
$dados['corpo_erro'] = 'O Conteudo do texto e muito curto, 400 palavras no minimo'; | |
} | |
if(empty($dados['cat'])){ | |
$dados['cat_erro'] = 'Seleciona uma categoria'; | |
} | |
if(empty($dados['data'])){ | |
$dados['data_erro'] = 'Insira a data do evento'; | |
} | |
if(empty($dados['img1'])){ | |
$dados['img1_erro'] = 'Insira a imagem do evento'; | |
} | |
if(empty($dados['img2'])){ | |
$dados['img2_erro'] ='Insira a segunda imagem do evento'; | |
} | |
if(empty($dados['titulo_erro']) && empty($dados['corpo_erro']) && empty($dados['cat_erro']) && | |
empty($dados['data_erro']) && empty($dados['img1_erro']) && empty($dados['img2_erro'])){ | |
if($this->postModel->addEvento($dados)){ | |
flash('post_message', 'Adicionado com sucesso'); | |
redirect('eventos'); | |
}else{ | |
die('Algo deu Errado'); | |
} | |
//le a view com error | |
}else{ | |
$this->view('eventos/adicionar', $dados); | |
} | |
}else{ | |
$dados = [ | |
'titulo' => trim($_POST['titulo']), | |
'cat' => trim($_POST['cat']), | |
'data' => trim($_POST['data']), | |
'img1' => trim($_POST['img1']), | |
'img2' => trim($_POST['img2']), | |
'corpo' => trim($_POST['corpo']) | |
]; | |
$this->view('eventos/adicionar', $dados); | |
} | |
} | |
/** | |
* Visualzar evento | |
*/ | |
public function visualizar($id){ | |
$evento = $this->postModel->pegaEventoId($id); | |
$usuario = $this->userModel->pegaUsuarioId($evento->usuario_id); | |
$dados = [ | |
'evento' => $evento, | |
'usuario' => $usuario | |
]; | |
$this->view('eventos/visualizar', $dados); | |
} | |
public function editar($id){ | |
if ($_SERVER['REQUEST_METHOD'] == 'POST'){ | |
$_POST = filter_input_array(INPUT_POST, FILTER_SANITIZE_STRING); | |
$dados = [ | |
'id' => $id, | |
'titulo' => trim($_POST['titulo']), | |
'cat' => trim($_POST['cat']), | |
'data' => trim($_POST['data']), | |
'img1' => trim($_POST['img1']), | |
'img2' => trim($_POST['img2']), | |
'corpo' => trim($_POST['corpo']), | |
'usuario_id' => $_SESSION['usuario_id'], | |
'titulo_erro' => '', | |
'cat_erro' =>'', | |
'data_erro' => '', | |
'img1_erro' => '', | |
'img2_erro' => '', | |
'corpo_erro' => '', | |
]; | |
//validar titulo | |
if(empty($dados['titulo'])){ | |
$dados['titulo_erro'] = 'Insira o titulo'; | |
} | |
//validar conteudo | |
if(empty($dados['corpo'])){ | |
$dados['corpo_erro'] = 'Insira o conteudo'; | |
}elseif(strlen($dados['corpo']) < 400){ | |
//checa o tamanho do password | |
$dados['corpo_erro'] = 'O Conteudo do texto e muito curto, 400 palavras no minimo'; | |
} | |
if(empty($dados['cat'])){ | |
$dados['cat_erro'] = 'Seleciona uma categoria'; | |
} | |
if(empty($dados['data'])){ | |
$dados['data_erro'] = 'Insira a data do evento'; | |
} | |
if(empty($dados['img1'])){ | |
$dados['img1_erro'] = 'Insira a imagem do evento'; | |
} | |
if(empty($dados['img2'])){ | |
$dados['img2_erro'] ='Insira a segunda imagem do evento'; | |
} | |
//validatr erro | |
if(empty($dados['titulo_erro']) && empty($dados['corpo_erro']) && empty($dados['cat_erro']) && | |
empty($dados['data_erro']) && empty($dados['img1_erro']) && empty($dados['img2_erro'])){ | |
if($this->postModel->updateEvento($dados)){ | |
flash('post_message', 'Actualizado'); | |
redirect('eventos'); | |
}else{ | |
die('Algo deu Errado'); | |
} | |
//ler vista do erro | |
}else{ | |
$this->view('eventos/actualizar', $dados); | |
} | |
} | |
else{ | |
//checa o usuario e chama o method a partir do modal | |
$evento = $this->postModel->pegaEventoId($id); | |
if($evento->usuario_id != $_SESSION['usuario_id']){ | |
redirect('eventos'); | |
} | |
$dados = [ | |
'id' => $id, | |
'titulo' => $evento->titulo, | |
'corpo' => $evento->corpo | |
]; | |
$this->view('eventos/actualizar', $dados); | |
} | |
} | |
//delete eventos | |
public function apagar($id){ | |
if($_SERVER['REQUEST_METHOD'] == 'POST'){ | |
//chaca o usuario | |
$evento = $this->postModel->pegaEventoId($id); | |
if($evento->usuario_id != $_SESSION['usuario_id']){ | |
redirect('eventos'); | |
} | |
//chama o method delete do model | |
if($this->postModel->apagaEvento($id)){ | |
flash('post_message', 'Evento Removido'); | |
redirect('eventos'); | |
}else{ | |
die('Algo deu Errado'); | |
} | |
}else{ | |
redirect('eventos'); | |
} | |
} | |
/** | |
* LINKS DE ENDERECAMENTO | |
*/ | |
public function todos(){ | |
$eventos = $this->postModel->getEventos(); | |
$dados= [ | |
'eventos' => $eventos | |
]; | |
$this->view('eventos/todos', $dados); | |
} | |
//anucio | |
public function anucio(){ | |
$anucio = $this->postModel->getEventos(); | |
$dados= [ | |
'eventos' => $anucio | |
]; | |
$this->view('eventos/anucio', $dados); | |
} | |
//show/festas | |
public function show(){ | |
$eventos = $this->postModel->getEventos(); | |
$dados= [ | |
'eventos' => $eventos | |
]; | |
$this->view('eventos/show', $dados); | |
} | |
//noticia | |
public function noticia(){ | |
$eventos = $this->postModel->getEventos(); | |
$dados= [ | |
'eventos' => $eventos | |
]; | |
$this->view('eventos/noticia', $dados); | |
} | |
//calendario | |
public function calendario(){ | |
$eventos = $this->postModel->getEventos(); | |
$dados= [ | |
'eventos' => $eventos | |
]; | |
$this->view('eventos/calendario', $dados); | |
} | |
//tabelas | |
public function tabelas(){ | |
$eventos = $this->postModel->getEventos(); | |
$dados =[ | |
'eventos' => $eventos | |
]; | |
$this->view('eventos/tabelas', $dados); | |
} | |
//galeria | |
public function galeria(){ | |
$eventos = $this->postModel->getEventos(); | |
$dados =[ | |
'eventos' => $eventos | |
]; | |
$this->view('eventos/galeria', $dados); | |
} | |
} |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
<?php | |
class Usuarios extends Controller { | |
public function __construct(){ | |
$this->usuarioModel = $this->model('Usuario'); | |
} | |
/** | |
* Registrar | |
*/ | |
public function registro(){ | |
if ($_SERVER['REQUEST_METHOD'] == 'POST'){ | |
//Processa o formulario | |
$_POST = filter_input_array(INPUT_POST, FILTER_SANITIZE_STRING); | |
$dados =[ | |
'nome' => trim($_POST['nome']), | |
'apelido' => trim($_POST['apelido']), | |
'email' => trim($_POST['email']), | |
'password' => trim($_POST['password']), | |
'confirma_password' => trim($_POST['confirma_password']), | |
'nome_erro' => '', | |
'apelido_erro' => '', | |
'email_erro' => '', | |
'password_erro' => '', | |
'confirma_password_erro' => '' | |
]; | |
/** | |
* VALIDACACO | |
*/ | |
//validar nome | |
if (empty($dados['nome'])){ | |
$dados['nome_erro'] = 'Por favor insira seu nome'; | |
} | |
//apelido | |
if (empty($dados['apelido'])){ | |
$dados['apelido_erro'] = 'Por favor insira seu apelido'; | |
} | |
if (empty($dados['email'])){ | |
$dados['email_erro'] = 'Por favor insira seu email'; | |
} | |
else{ | |
//checa se o email e valido | |
if ($this->usuarioModel->econtraUsuarioPorEmail($dados['email'])){ | |
$dados['email_erro'] = 'Email ja em uso'; | |
} | |
} | |
//password | |
if (empty($dados['password'])){ | |
$dados['password_erro'] = 'Por favor insira a sua senha'; | |
} | |
elseif(strlen($dados['password']) < 8){ | |
//checa o tamanho do password | |
$dados['password_erro'] = 'A sua senha tem que 8 caracteres no minimo'; | |
} | |
//confirmar o password | |
if (empty($dados['confirma_password'])){ | |
$dados['confirma_password_erro'] = 'Por favor confirma a sua senha'; | |
} | |
else{ | |
//verificar os passwords sao mesmos | |
if ($dados['confirma_password'] != $dados['password']){ | |
$dados['confirma_password_erro'] = 'A senha nao corresponde'; | |
} | |
} | |
//verificar se erros nao estao vazio | |
if (empty($dados['nome_erro']) && | |
empty($dados['apelido_erro']) && | |
empty($dados['email_erro']) && | |
empty($dados['password_erro']) && | |
empty($dados['confirma_password_erro'])){ | |
$dados['password'] = password_hash($dados['password'], PASSWORD_DEFAULT); | |
if ($this->usuarioModel->registro($dados)){ | |
flash('register_success', 'Registrado com sucesso'); | |
redirect('Usuarios/login'); | |
} | |
} | |
else { | |
$this->view('usuario/registro', $dados); | |
} | |
} | |
//o erros sao passados a parir desse array | |
else{ | |
$dados =[ | |
'nome' => '', | |
'apelido' => '', | |
'email' => '', | |
'password' => '', | |
'confirma_password' => '', | |
'nome_erro' => '', | |
'apelido_erro' => '', | |
'email_erro' => '', | |
'password_erro' =>'', | |
'confirma_password_erro' => '' | |
]; | |
//le a view | |
$this->view('usuario/registro', $dados); | |
} | |
} | |
//login | |
public function login(){ | |
if ($_SERVER['REQUEST_METHOD'] == 'POST'){ | |
//processa o formulario | |
$_POST = filter_input_array(INPUT_POST, FILTER_SANITIZE_STRING); | |
$dados = [ | |
'email' => trim($_POST ['email']), | |
'password' => trim($_POST['password']), | |
'email_erro' => '', | |
'password_erro' => '', | |
]; | |
//validar email | |
if(empty($dados['email'])){ | |
$dados['email_erro'] = 'Por favor insira o email'; | |
} | |
else{ | |
if($this->usuarioModel->econtraUsuarioPorEmail($dados['email'])){ | |
//user found | |
} | |
else{ | |
$dados['email_erro'] = 'Usuario nao econtrado'; | |
} | |
} | |
//validar password | |
if (empty($dados['password'])){ | |
$dados['password_erro'] = 'Por favor insira su senha'; | |
} | |
elseif (strlen($dados['password']) < 8){ | |
$dados['password_erro'] = 'Password tem que ter 8 caracteres no minimo'; | |
} | |
//garante que o erro esteja vazio | |
if (empty($dados['email_erro']) && (empty($dados['password_erro']))){ | |
$loggedInUsuario = $this->usuarioModel->login($dados['email'], $dados['password']); | |
if ($loggedInUsuario){ | |
//cria sessao | |
$this->criarUsuarioSessao($loggedInUsuario); | |
} | |
else{ | |
$dados['password_erro'] = 'Sua senha esta incorecta'; | |
$this->view('usuario/login', $dados); | |
} | |
} | |
else{ | |
$this->view('usuario/login', $dados); | |
} | |
} | |
else{ | |
$dados =[ | |
'email' => '', | |
'password' => '', | |
'email_erro' => '', | |
'password_erro' => '' | |
]; | |
$this->view('usuario/login', $dados); | |
} | |
} | |
//configuracao da variavel da sessao dos usuarios | |
public function criarUsuarioSessao($usuario){ | |
$_SESSION['usuario_id'] = $usuario->id; | |
$_SESSION['nome'] = $usuario->nome; | |
$_SESSION['email'] = $usuario->email; | |
redirect('Eventos/index'); | |
} | |
//logout e destroy sessao | |
public function logout(){ | |
unset($_SESSION['id']); | |
unset($_SESSION['nome']); | |
unset($_SESSION['email']); | |
session_destroy(); | |
redirect('paginas/index'); | |
} | |
} |
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment