Thursday, September 2, 2010

Re: CORE.PHP - Configure::write('Routing.prefixes', array('admin'));

This is my controller.

<?php
class AdministratorsController extends AppController {
var $name = 'Administrators';
var $helpers = array('Html', 'Form');

/*
FUNCAO "CONSTRUCT"
*/
function index() {
// se o usuario ja estiver logado
if( $this->Session->check('Administrator') ) {
// redireciona para a area restrita
$this-
>redirect(array('controller'=>'administrators','action'=>'admin_index','admin'=>true));
}
// redireciona para a pagina de login
else $this-
>redirect(array('controller'=>'administrators','action'=>'admin_login','admin'=>true));
}

/*
FUNCAO QUE CONTROLA A ACAO LISTAR
*/
function listar() {
// se o usuario ja estiver logado
if( $this->Session->check('Administrator') ) {
// redireciona para a area restrita
$this-
>redirect(array('controller'=>'administrators','action'=>'admin_list','admin'=>true));
}
// redireciona para a pagina de login
else $this-
>redirect(array('controller'=>'administrators','action'=>'admin_login','admin'=>true));
}

/*
FUNCAO QUE CONTROLA A ACAO EDITAR
*/
function edit($id) {
// se o usuario ja estiver logado
if( $this->Session->check('Administrator') ) {
// recebe o id do admin a ser editado
$this->set('update', $id);
// redireciona para a area restrita
$this->redirect(array('controller'=>'administrators','action' =>
'admin_edit','admin'=>true));
//$this->redirect(array('action' => 'admin_edit',
$id),'admin'=>true);
}
// redireciona para a pagina de login
else $this-
>redirect(array('controller'=>'administrators','action'=>'admin_login','admin'=>true));
}

/*
FUNCAO RESPONSAVEL PELA EXIBICAO DAS ACOES DOS ADMINISTRADORES
*/
function admin_index() {
// se o usuario ja estiver logado
if($this->Session->check('Administrator')) {
$this->set('administrators', $this->Session-
>read('Administrator'));
}
// redireciona para a paginda de login
else $this-
>redirect(array('controller'=>'administrators','action'=>'admin_index','admin'=>true));
}

/*
FUNCAO RESPONSAVEL PELO LOGIN DO ADMINISTRADOR
*/
function admin_login() {
// se o usuario ja estiver logado
if( $this->Session->check('Administrator') ) {
// redireciona para a area restrita
$this-
>redirect(array('controller'=>'administrators','action'=>'admin_index','admin'=>true));
}

//criptografia da senha
//$salt = Configure::read('Security.salt');
//echo md5('qwer1234'.$salt);

// se o formulario de login tiver sido preenchido
if(!empty($this->data)) {
// envia os dados para o model
$this->Administrator->set($this->data);
// se o formulario passar pelas regras de validacao
if($this->Administrator->validates(array('fieldList' =>
array('login', 'password')))) {
// checa a existencia do usuario
$result = $this->Administrator->check_administrator_data($this-
>data);

if( $result !== FALSE ) {
// atualiza o horario do ultimo login
$this->Administrator->id = $result['Administrator']['id'];
$this->Administrator->saveField('last_login',date("Y-m-d
H:i:s"));
// salva na sessao
$this->Session->write('Administrator',$result);
$this->Session->setFlash('<br />Login efetuado com sucesso!<br /
><br />', 'default', array('class' => 'example_class', 'message'));
$this->redirect(array('controller'=>'administrators',
array('action' => 'index'),'admin'=>true));
}
else $this->Session->setFlash('<br />Falha ao autenticar o
usuario. Por favor tente novamente!<br /><br />', 'default',
array('class' => 'example_class', 'error'));
}
else $this->Session->setFlash('<br />Falha ao validar o login e o
password. Por favor tente novamente!<br /><br />', 'default',
array('class' => 'example_class', 'error'));
}
}

/*
FUNCAO RESPONSAVEL PELO LOGOUT DO ADMINISTRADOR
*/
function admin_logoff() {
if($this->Session->check('Administrator')) {
$this->Session->delete('Administrator');
$this->Session->setFlash('<br />Logoff efetuado com sucesso!<br /
><br />', 'default', array('class' => 'example_class', 'message'));
}
$this->redirect(array('action'=>'login'));
}

/*
FUNCAO RESPONSAVEL PELA EXIBICAO DOS ADMINISTRADORES
*/
function admin_list() {
// se o usuario ja estiver logado
if( $this->Session->check('Administrator') ) {
// redireciona para a area restrita
$this->set('administrators', $this->Administrator->find('all'));
}
// redireciona para a pagina de login
else $this-
>redirect(array('controller'=>'administrators','action'=>'admin_login','admin'=>true));
}

/*
FUNCAO RESPONSAVEL PELA ALTERACAO DE DADOS DO ADMINISTRADOR
*/
function admin_edit($data) {
// se o formulario tiver sido preenchido
if (!empty($this->data)) {
// faz o tratamento dos dados para o upddate
}
// envia os dados para o formulario
else echo $this->update;
}

}// fim da classe
?>

Check out the new CakePHP Questions site http://cakeqs.org and help others with their CakePHP related questions.

You received this message because you are subscribed to the Google Groups "CakePHP" group.
To post to this group, send email to cake-php@googlegroups.com
To unsubscribe from this group, send email to
cake-php+unsubscribe@googlegroups.com For more options, visit this group at http://groups.google.com/group/cake-php?hl=en

No comments: