Ver Mensaje Individual
  #29 (permalink)  
Antiguo 20/07/2011, 16:27
jcq_quiroz
 
Fecha de Ingreso: septiembre-2010
Mensajes: 111
Antigüedad: 14 años, 2 meses
Puntos: 0
Respuesta: [Zend] FlashMessenger En Bootstrap

si tengo otro dos plugins, uno para los acl y otro para asignar layout por modulo automaticamente. te lo subo los dos pluguins que tengo.

par los acl:
Código PHP:
class Plugin_VerificarAcceso extends Zend_Controller_Plugin_Abstract{
    private 
$_acl null;

    public function 
__construct(Zend_Acl $acl) {
        
$this->_acl $acl;
    }

    public function 
preDispatch(Zend_Controller_Request_Abstract $request) {
        
$module strtoupper($request->getModuleName());
        
$controller strtoupper($request->getControllerName());
        
$action strtoupper($request->getActionName());
        
$resource=$module.':'.$controller;
        
       
// Zend_Debug::dump(Zend_Auth::getInstance()->getStorage()->read());

        
if (Zend_Auth::getInstance()->hasIdentity()) {
            
$cod Zend_Auth::getInstance()->getStorage()->read()->COD_TIPOEMPLEADO;
            
$model_tipo_empleado = new administrador_Model_DbTable_Tipoempleado();
            
$tipo_emp $model_tipo_empleado->getTipoEmpleado($cod);
            
$rol $tipo_emp[NOM_TIPO_EMP];
            
        } else {
            
$rol='default';
        }
       

        
//Zend_Debug::dump($this->_acl->isAllowed($rol, $resource, $action));
        
if(!$this->_acl->has($resource)  || !$this->_acl->isAllowed($rol$resource$action)){
            
$request->setModuleName('default');
            
$request->setControllerName('Autentificacion');
            
$request->setActionName('login');



        }
    }
    

para los layouts por modulo:
Código PHP:
<?php

class Plugin_VariosLayout extends Zend_Controller_plugin_Abstract {

    public function 
preDispatch(Zend_Controller_Request_Abstract $request) {
        
$config Zend_Controller_Front::getInstance()->getParam('bootstrap')->getOptions();

        
$moduleName $request->getModuleName();

        if (isset(
$config[$moduleName]['resources']['layout']['layout'])) {


            
$layoutScript $config[$moduleName]['resources']['layout']['layout'];
            
Zend_Layout::getMvcInstance()->setLayout($layoutScript);
            
//print_r($layoutScript);
        
}

        if (isset(
$config[$moduleName]['resources']['layout']['layoutPath'])) {

            
$layoutPath $config[$moduleName]['resources']['layout']['layoutPath'];
            
$moduleDir Zend_Controller_Front::getInstance()->getModuleDirectory();

            
Zend_Layout::getMvcInstance()->setLayoutPath($layoutPath);
        }
    }

}
esos son los dos pluguins mas que tengo, por favor revisamelo donde se esta pisando, gracias