Hola Pablo
mira este es el código:
Saludos
<?php class RestrictComponent extends Object {
var $controller;
var $components = array('Session');
function startup(&$controller)
{
$this->controller = &$controller;
}
function restrict_actions($actions = null,$actual_action){
// echo pr($actions);
if(in_array($actual_action,$actions)){
if($this -> Session -> check('user_session')){
}else{
$this->Session->setFlash(__('Acceso restringido', true));
$this->controller->redirect('login');
}
}
}
function logout($logoutUrl){
if($this->Session->check("user_session")){
$this->Session->delete('user_session');
}
$this->controller->redirect($logoutUrl, null, true);
}
}
?>
2008/4/17 Pablo Viojo <[EMAIL PROTECTED]>:
> Puedes detallar el codigo del RedirectComponent:restrict_actions() ?
>
> Saludos,
>
> --
> Pablo Viojo
> [EMAIL PROTECTED]
> http://pviojo.net
>
>
> 2008/4/17 Miguel Michelsongs <[EMAIL PROTECTED]>:
>
> hola Bakers, yo nuevamente haciendo preguntas:
> >
> > Estoy con la siguiente duda:
> > Tengo un simple componente que hace un a redireccion de accion si es
> > que encuentra que $this->action esta en el array de una variable
> > $restrict_actions
> >
> > ahora supongamos que var $restrict_actions = array('add') y dentro de
> > function add() tengo la llamada al componente
> >
> >
> > $this->Restrict->restrict_actions($this->restrictActions,$this->action);
> >
> > me hace la redireccion bien y no tengo problemas.
> >
> > pero como no quiero repetir la misma linea en cada accion estoy haciendo
> > lo siguiente:
> >
> > function beforeFilter(){
> > parent::beforeFilter();
> >
> > // echo $this->action;
> >
> > $this->Restrict->restrict_actions($this->restrictActions,$this->action);
> > }
> >
> > pero ahi php me arroja el siguiente error:
> >
> > *Fatal error*: Call to a member function redirect() on a non-object in *
> > /Applications/MAMP/htdocs/rnovo/controllers/components/restrict.php* on
> > line *28.
> >
> >
> > *por que se da eso?
> >
> >
> > Gracias
> >
> > --
> > Atte.
> > Miguel Michelson Martinez
> >
> >
> >
> >
>
>
>
> >
>
--
Atte.
Miguel Michelson Martinez
--~--~---------~--~----~------------~-------~--~----~
Has recibido este mensaje porque estás suscrito a Grupo "CakePHP-es" de Grupos
de Google.
Si quieres publicar en este grupo, envía un mensaje de correo
electrónico a [email protected]
Para anular la suscripción a este grupo, envía un mensaje a [EMAIL PROTECTED]
Para obtener más opciones, visita este grupo en
http://groups.google.com/group/CakePHP-es?hl=es.
-~----------~----~----~----~------~----~------~--~---