Ejemplo n.º 1
0
 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;
 }