| 12
 3
 4
 5
 6
 7
 8
 9
 10
 11
 12
 13
 14
 15
 16
 17
 18
 19
 20
 21
 22
 23
 24
 25
 26
 27
 28
 29
 30
 31
 32
 33
 34
 35
 36
 37
 38
 39
 40
 41
 42
 43
 44
 45
 46
 
 |  
/**
* Le plugin récupère les actions de blocks existants 
* et les ajoute à la pile d'actionStack en lui envoyant des paramètres
* comme la position dans le layout.
*/
class Ez_Controller_Plugin_Block extends Zend_Controller_Plugin_Abstract  
{
    public $stack;
 
    public function routeStartup() {
        $this->stack = Zend_Controller_Action_HelperBroker::getStaticHelper('actionStack');
        // On récupère les blocks dans la base
        $blocks = $this->tableBlocks->getAllBlocks()->toArray();
 
        $blocks = array_reverse($blocks); 
        foreach ($blocks as $block) {
            if ($block['active'] == 1) {
                $this->stack->actionToStack($block['action'], $block['controller'], 
                                            $block['module'], array('segment' => $block['segment'],
                                                                    'title'   => $block['title'])
                                            );
            }
        }
    }
}
 
 
class LoginController extends Zend_Controller_Action
{
 .../...
    public function blockauthAction()
    {
        $auth = Zend_Auth::getInstance();
        $this->view->title = $this->_request->getParam('title');
 
       // on récupère la position passé en param par actionstack $this->_helper->viewRenderer->setResponseSegment($this->_request->getParam('segment'));
 
        if ($auth->hasIdentity()) {
            $this->view->identity = $auth->getIdentity();
            $this->renderScript('login/welcome.phtml');
        } else {
            $this->renderScript('login/loginForm.phtml');
        }
    }
} | 
Partager