Exemplo n.º 1
0
 /**
  * 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;
 }