public function editAction() { $admin = new Admin_Model_Admin(); $applications = array(); if ($admin_id = $this->getRequest()->getParam('admin_id')) { $admin->find($admin_id); if (($admin->getId() or $admin->getParentId()) and ($admin->getId() != $this->getAdmin()->getId() and $admin->getParentId() != $this->getAdmin()->getId())) { $this->getSession()->addError("This administrator does not exist"); $this->redirect("admin/access_management/list"); } } if ($admin->getParentId() and $admin->getId() != $this->getAdmin()->getId()) { $application = new Application_Model_Application(); $authorized_applications = $application->findAllByAdmin($this->getRequest()->getParam("admin_id")); $applications = $application->findAllByAdmin($this->getAdmin()->getId()); $data = array("app_ids" => array(), "is_allowed_to_add_pages" => array()); foreach ($applications as $application) { $application->setIsAllowedToEdit(false)->setIsAllowedToAddPages(false); foreach ($authorized_applications as $authorized_application) { if ($application->getId() == $authorized_application->getId()) { $application->setIsAllowedToEdit(true)->setIsAllowedToAddPages($authorized_application->getIsAllowedToAddPages()); } } } } $this->loadPartials(); $this->getLayout()->getPartial('content')->setAdmin($admin)->setApplications($applications)->setMode("management"); }