Created
June 12, 2016 02:06
-
-
Save valdiney/c18f69a06a6e8ba0b08812966a0d29c5 to your computer and use it in GitHub Desktop.
Exemplo da utilização de um Controler no Ofir Framework.
This file contains hidden or 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 Campanhas_Controller extends Controller | |
{ | |
protected $user; | |
protected $view; | |
protected $layout_pricipal; | |
protected $campanhas; | |
protected $upload; | |
public function __construct(Array $models, Array $services) | |
{ | |
$this->campanhas = $models['Campanhas']; | |
$this->upload = $services['Upload']; | |
$this->view = $this->view(); | |
$this->layout_pricipal = $this->view->layout('admin_layout'); | |
} | |
public function pagina_lista_campanhas() | |
{ | |
$this->layout_pricipal; | |
$campanhas = $this->campanhas->listar_campanhas_ativas(); | |
$count_campanhas_desativadas = count($this->campanhas->listar_campanhas_desativadas()); | |
$detalhes_campanhas = $this->campanhas->detalhes_campanha(); | |
return $this->view->make('campanhas.listar_campanhas', | |
compact( | |
'campanhas', | |
'count_campanhas_desativadas', | |
'detalhes_campanhas' | |
)); | |
} | |
public function pagina_cadastrar() | |
{ | |
$this->layout_pricipal; | |
$campanha = $this->campanhas->find(Input::in_get('id_campanha')); | |
return $this->view->make('campanhas.cadastrar_campanhas', compact('campanha')); | |
} | |
public function pagina_editar() | |
{ | |
$this->layout_pricipal; | |
$campanha = $this->campanhas->find(Input::in_get('id_campanha')); | |
return $this->view->make('campanhas.editar_campanhas', compact('campanha')); | |
} | |
public function pagina_upload_campanha() | |
{ | |
$this->layout_pricipal; | |
return $this->view->make('campanhas.upload_campanha'); | |
} | |
public function pagina_upload_editar_campanha() | |
{ | |
$this->layout_pricipal; | |
return $this->view->make('campanhas.upload_editar_campanha'); | |
} | |
# Realiza o Upload da imagem da Campanha | |
public function campanha_upload() | |
{ | |
$this->upload->setInputFile($_FILES['imagem_file']); | |
$this->upload->sendTo('public/img/campanhas/'); | |
$this->upload->SetMaxFileSize(10); | |
$this->upload->setExtensions(array('jpg','jpeg','png','gif')); | |
# Verifica se o campo está em branco | |
if (empty(Input::in_files('imagem_file', true))) { | |
Session::flash('error', 'Selecione uma Imagem do seu Computador.'); | |
return Redirect::back(); | |
} | |
if ($this->upload->getErros() == 1) { | |
Session::flash('error', 'Erro Critico! Entre em contato com o Administrador do Sistema.'); | |
return Redirect::back(); | |
} | |
if ($this->upload->getErros() == 3) { | |
Session::flash('error', 'Essa imagem é muito grande. Escolha uma imagem menor.'); | |
return Redirect::back(); | |
} | |
if ($this->upload->getErros() == 4) { | |
Session::flash('error', 'O Sistema não aceita esse tipo de Arquivo. Por favor, somente <b>(JPG, PNG, GIF)</b>.'); | |
return Redirect::back(); | |
} | |
# Realiza o Upload da Imagem | |
if ($this->upload->move()) { | |
$endereco_imagem = $this->upload->getPath(); | |
$id_campanha = Input::in_get('id_campanha'); | |
# Se vier da página de Edição, redireciona para Edição | |
if (Input::in_get('pagina_editar') == 'true') { | |
return Redirect::to('campanhas.campanha_upload_editar', "id_campanha={$id_campanha}|endereco_imagem={$endereco_imagem}"); | |
} | |
# Se vier da página de Cadastro, redireciona para o Cadastro | |
if (Input::in_get('pagina_cadastrar') == 'true') { | |
return Redirect::to('campanhas.campanha_upload_cadastrar', "id_campanha={$id_campanha}|endereco_imagem={$endereco_imagem}"); | |
} | |
} else { | |
Session::flash('error', "Erro ao Tentar fazer o Upload da Imagem. Entre em contato com o Administrador do Sistema!"); | |
} | |
return redirect::back(); | |
} | |
# Realiza o Cadastro da Imagem da Campanha | |
public function campanha_upload_cadastrar() | |
{ | |
$campos['imagem'] = Input::in_get('endereco_imagem'); | |
# Realiza o Cadastro da Imagem | |
if ($this->campanhas->cadastrar_imagem($campos)) { | |
$id_campanha = $this->campanhas->get_last_id(); | |
return Redirect::to('campanhas.pagina_cadastrar', "id_campanha={$id_campanha}"); | |
} else { | |
unlink($campos['imagem']); | |
Session::flash('error', "Erro ao Tentar Cadastrar a Imagem. Entre em contato com o Administrador do Sistema!"); | |
} | |
} | |
# Realiza a Edição da Imagem da Campanha | |
public function campanha_upload_editar() | |
{ | |
$id_campanha = Input::in_get('id_campanha'); | |
$campo['imagem'] = Input::in_get('endereco_imagem'); | |
$campanha = $this->campanhas->find($id_campanha); | |
# Realiza a Edição da Imagem | |
if ($this->campanhas->update($campo, $id_campanha)) { | |
Session::flash('success', "Imagem da Campanha Editada com Sucesso"); | |
unlink($campanha['imagem']); | |
} else { | |
Session::flash('error', "Erro ao Tentar Cadastrar a Imagem. Entre em contato com o Administrador do Sistema!"); | |
} | |
return Redirect::to('campanhas.pagina_editar', "id_campanha={$id_campanha}"); | |
} | |
# Realiza o Cadastro das Informações da Campanha | |
public function editar() | |
{ | |
$id_campanha = Input::in_get('id_campanha'); | |
$campos['nome_campanha'] = Input::in_post('nome_campanha'); | |
$campos['data_inicio'] = Input::in_post('data_inicio'); | |
$campos['data_termino'] = Input::in_post('data_termino'); | |
$horas['hora_inicio'] = Input::in_post('hora_inicio'); | |
$horas['hora_termino'] = Input::in_post('hora_termino'); | |
$campos['prioridade'] = Input::in_post('prioridade'); | |
$campos['homens'] = Input::in_post('homens'); | |
$campos['mulheres'] = Input::in_post('mulheres'); | |
$campos['aniversariantes'] = Input::in_post('aniversariantes'); | |
if ($this->campanhas->editar($campos, $horas, $id_campanha)) { | |
Session::flash('success', "Campanha Cadastrada com Sucesso!"); | |
} else { | |
Session::flash('error', "Erro ao tentar Cadastrar uma Campanha. Por favo, entre em contato com o Administrador do Sistema."); | |
} | |
# Se vier da página editar, volta retorna para ela mesma | |
if (Input::in_get('pagina_editar') == true) { | |
return Redirect::to('campanhas.pagina_editar', "id_campanha={$id_campanha}"); | |
} | |
return Redirect::to('campanhas.pagina_cadastrar', "id_campanha={$id_campanha}"); | |
} | |
# Recebe um Post via Ajax para validar a Data de Inicio de apresentação da Campanha | |
public function valida_data_inicio() | |
{ | |
$data_inicio = Input::in_post('data_inicio'); | |
$id_campanha = Input::in_post('id_campanha'); | |
# Página que enviou o post | |
$emissor = Input::in_post('pagina_editar'); | |
if ($this->campanhas->checar_data_inicio($data_inicio, $id_campanha, $emissor)) { | |
echo "true"; | |
} else { | |
echo "false"; | |
} | |
} | |
# Recebe um Post via Ajax para validar a Data de Término de finalização da Campanha | |
public function valida_data_termino() | |
{ | |
$data_termino = Input::in_post('data_termino'); | |
$id_campanha = Input::in_post('id_campanha'); | |
# Página que enviou o post | |
$emissor = Input::in_post('pagina_editar'); | |
if ($this->campanhas->checar_data_inicio($data_termino, $id_campanha, $emissor)) { | |
echo "true"; | |
} else { | |
echo "false"; | |
} | |
} | |
public function pagina_campanhas_desativadas() | |
{ | |
$this->layout_pricipal; | |
$campanhas = $this->campanhas->listar_campanhas_desativadas(); | |
return $this->view->make('campanhas.listar_campanhas_desativadas', compact('campanhas')); | |
} | |
# Realiza a desativação de uma Campanha | |
public function desativar() | |
{ | |
$id_campanha = Input::in_get('id_campanha'); | |
$campo['status'] = 0; | |
if ($this->campanhas->update($campo, $id_campanha)) { | |
Session::flash('success',"Campanha Desativada com Sucesso."); | |
} else { | |
Session::flash('error',"Erro ao tentar Desativar uma Campanha. Por favo, entre em contato com o Administrador do Sistema.."); | |
} | |
return Redirect::back(); | |
} | |
# Realiza a desativação de uma Campanha | |
public function reativar() | |
{ | |
$id_campanha = Input::in_get('id_campanha'); | |
$campo['status'] = 1; | |
if ($this->campanhas->update($campo, $id_campanha)) { | |
Session::flash('success',"Campanha Reativada com Sucesso."); | |
} else { | |
Session::flash('error',"Erro ao tentar Reativar uma Campanha. Por favor, entre em contato com o Administrador do Sistema.."); | |
} | |
return Redirect::to('campanhas.pagina_lista_campanhas'); | |
} | |
# Realiza a deleção de uma Campanha | |
public function deletar() | |
{ | |
$id_campanha = Input::in_get('id_campanha'); | |
if ($this->campanhas->deletar($id_campanha)) { | |
Session::flash('success',"Campanha Deletada com Sucesso."); | |
} else { | |
Session::flash('error',"Erro ao tentar Deletar uma Campanha. Por favor, entre em contato com o Administrador do Sistema.."); | |
} | |
return Redirect::back(); | |
} | |
} |
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment