/** * This assertion should receive the actual Presentation objects. * * @param Zend_Acl $acl * @param Zend_Acl_Role_Interface $user * @param Zend_Acl_Resource_Interface $model * @param $privilege * @return bool */ public function assert(Zend_Acl $acl, Zend_Acl_Role_Interface $user = null, Zend_Acl_Resource_Interface $model = null, $privilege = null) { if ($user) { $presentations = $user->getMyPresentations(); } else { return false; } $request = Zend_Controller_Front::getInstance()->getRequest(); $param = $request->getParam('id') ? $request->getParam('id') : $request->getParam('presentation_id'); $presentation = $model->getPresentationById($param); // perform check if ($param !== null && $presentation->isBeforeEditDeadline() && in_array((int) $param, $presentations, true)) { return true; } else { return false; } }