/** * Edit a Contact Group */ public function editAction() { $this->view->breadcrumb = Snep_Breadcrumb::renderPath(array($this->view->translate("Manage"), $this->view->translate("Contact Group"), $this->view->translate("Edit"))); $id = $this->_request->getParam('id'); Zend_Registry::set('cancel_url', $this->getFrontController()->getBaseUrl() . '/' . $this->getRequest()->getControllerName() . '/index'); $form = new Snep_Form(new Zend_Config_Xml("modules/default/forms/contact_groups.xml")); $id = $this->_request->getParam('id'); $obj = new Snep_Contacts_Manager(); $select = $obj->select()->where('id_contact_group = ?', $id); $group = $obj->fetchAll($select)->toArray(); $groupContacts = array(); foreach ($group as $contact) { $groupContacts[$contact['id_contact']] = "{$contact['ds_name']}"; } $objGroup = new Snep_ContactGroups_Manager(); $selectGroup = $objGroup->select()->where('id_contact_group = ?', $id); $groups = $objGroup->fetchrow($selectGroup)->toArray(); $form->getElement('group')->setValue(trim($groups['ds_name'])); $selectno = $obj->select()->where('id_contact_group <> ?', $id); $groupno = $obj->fetchAll($selectno)->toArray(); $groupContactsno = array(); foreach ($groupno as $contactsno) { $selectGroup = $objGroup->select()->where('id_contact_group = ?', $contactsno['id_contact_group']); $groups = $objGroup->fetchRow($selectGroup)->toArray(); $groupContactsno[$contactsno['id_contact']] = "{$contactsno['ds_name']} ({$groups['ds_name']})"; } $this->view->objSelectBox = "contacts"; $form->setSelectBox($this->view->objSelectBox, $this->view->translate('Contacts'), $groupContactsno, $groupContacts); $hiddenId = new Zend_Form_Element_Hidden('id'); $hiddenId->setValue($id); $form->addElement($hiddenId); if ($this->_request->getPost()) { $form_isValid = $form->isValid($_POST); $dados = $this->_request->getParams(); $dadosUpdate = array('ds_name' => $_POST['group']); if ($form_isValid) { $contact = new Snep_ContactGroups_Manager(); $contact->update($dadosUpdate, "id_contact_group = {$id}"); if ($dados['box_add']) { $dadosUpdate = array('id_contact_group' => $id); foreach ($dados['box_add'] as $id => $idContact) { $contact = new Snep_Contacts_Manager(); $contact->update($dadosUpdate, "id_contact = {$idContact}"); } } $this->_redirect($this->getRequest()->getControllerName()); } } $this->view->form = $form; }