public function editAction() { $this->view->breadcrumb = Snep_Breadcrumb::renderPath(array($this->view->translate("Manage"), $this->view->translate("Extension Groups"), $this->view->translate("Edit Extension Groups"))); Zend_Registry::set('cancel_url', $this->getFrontController()->getBaseUrl() . '/' . $this->getRequest()->getControllerName() . '/index'); $xml = new Zend_Config_Xml("modules/default/forms/extensions_groups.xml"); $form = new Snep_Form($xml); $form->setAction($this->getFrontController()->getBaseUrl() . '/' . $this->getRequest()->getControllerName() . '/edit'); $id = $this->_request->getParam('id'); $group = Snep_ExtensionsGroups_Manager::getGroup($id); $groupId = $form->getElement('id')->setValue($id); $groupName = $form->getElement('name')->setValue($group['name'])->setLabel($this->view->translate('Name')); $groupType = $form->getElement('type'); $groupType->setRequired(true)->setLabel($this->view->translate('Type'))->setMultiOptions(array('administrator' => $this->view->translate('Administrator'), 'users' => $this->view->translate('User')))->setValue($group['inherit']); $groupExtensions = array(); foreach (Snep_ExtensionsGroups_Manager::getExtensionsOnlyGroup($id) as $data) { $groupExtensions[$data['name']] = "{$data['name']}"; } $groupAllExtensions = array(); foreach (Snep_ExtensionsGroups_Manager::getExtensionsAll() as $data) { if (!isset($groupExtensions[$data['name']])) { $groupAllExtensions[$data['name']] = "{$data['name']}"; } } $this->view->objSelectBox = "extensions"; $form->setSelectBox($this->view->objSelectBox, $this->view->translate('Extensions'), $groupAllExtensions, $groupExtensions); if ($this->_request->getPost()) { $form_isValid = $form->isValid($_POST); $dados = $this->_request->getParams(); $idGroup = $dados['id']; $this->view->group = Snep_ExtensionsGroups_Manager::editGroup(array('name' => $dados['name'], 'type' => $dados['type'], 'id' => $idGroup)); foreach (Snep_ExtensionsGroups_Manager::getExtensionsOnlyGroup($id) as $extensionsGroup) { Snep_ExtensionsGroups_Manager::addExtensionsGroup(array('extensions' => $extensionsGroup['name'], 'group' => 'all')); } if ($dados['box_add']) { foreach ($dados['box_add'] as $id => $dados['name']) { $this->view->extensions = Snep_ExtensionsGroups_Manager::addExtensionsGroup(array('extensions' => $dados['name'], 'group' => $idGroup)); } } $this->_redirect($this->getRequest()->getControllerName()); } $this->view->form = $form; }