/** * Add a new Contact Group */ public function addAction() { $this->view->breadcrumb = Snep_Breadcrumb::renderPath(array($this->view->translate("Manage"), $this->view->translate("Contact Group"), $this->view->translate("Add"))); 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")); $db = Zend_Registry::get('db'); try { $sql = "SELECT c.id_contact as id, c.ds_name as name, g.ds_name as group FROM contact as c, contact_group as g WHERE (c.id_contact_group = g.id_contact_group) "; $contacts_result = $db->query($sql)->fetchAll(PDO::FETCH_ASSOC); } catch (Exception $e) { } $contact = array(); foreach ($contacts_result as $key => $val) { $contact[$val['id']] = $val['name'] . " (" . $val['group'] . ")"; } $this->view->objSelectBox = "contacts"; $form->setSelectBox($this->view->objSelectBox, $this->view->translate('Contacts'), $contact, false); $group = new Snep_ContactGroups_Manager(); if ($this->_request->getPost()) { $form_isValid = $form->isValid($_POST); $dados = $this->_request->getParams(); $dadosGroup = array('ds_name' => $_POST['group']); if ($form_isValid) { $groupId = $group->insert($dadosGroup); $dadosUpdate = array('id_contact_group' => $groupId); if ($dados['box_add']) { 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; }