public function formsAction() { // Define o título da página, é mostrado automaticamente na view. $this->view->breadcrumb = $this->view->translate("Exemplo » Formulários"); // Parse do arquivo formulário. $xml = new Zend_Config_Xml(Zend_Registry::get("config")->system->path->base . "/modules/example/forms/example.xml"); // Cria objeto Snep_Form $form = new Snep_Form($xml); // Pega determinado elemento do Form $campo4 = $form->getElement('campo04'); // Seta as opções do elemento dinamicamente. $campo4->setMultiOptions(array(1 => 'teste1', 2 => 'teste2', 3 => 'teste3')); // Chama método setButton(), que inclue a barra de botões padrão do SNEP. $form->setButton(); // Verifica se existe dados sendo enviados via $_POST // Se for verdadeiro, é porqyue o formulário foi submetido. if ($this->_request->getPost()) { // Chama método isValid() é confronta os dados submetidos pelo formulário. $isValid = $form->isValid($_POST); if ($isValid) { $this->view->message = $this->view->translate("Dados recebidos") . "!"; $this->view->dados = $_POST; } } // Envia o objeto Snep_Form para a View $this->view->form = $form; }
public function indexAction() { $this->view->breadcrumb = Snep_Breadcrumb::renderPath(array($this->view->translate("Configure"), $this->view->translate("CNL Update"))); $config = Zend_Registry::get('config'); $this->view->pathweb = $config->system->path->web; // verification procedure $db = Zend_Registry::get('db'); $select = $db->select()->from('state'); $stmt = $select->query(); $result = $stmt->fetchAll(); // insert state data if (count($result) < 26) { $brStates = array('AC' => 'Acre', 'AL' => 'Alagoas', 'AM' => 'Amazonas', 'AP' => 'Amapá', 'BA' => 'Bahia', 'CE' => 'Ceará', 'DF' => 'Distrito Federal', 'ES' => 'Espírito Santo', 'GO' => 'Goiás', 'MA' => 'Maranhão', 'MG' => 'Minas Gerais', 'MS' => 'Mato Grosso do Sul', 'MT' => 'Mato Grosso', 'PA' => 'Pará', 'PB' => 'Paraíba', 'PE' => 'Pernambuco', 'PI' => 'Piauí', 'PR' => 'Paraná', 'RJ' => 'Rio de Janeiro', 'RN' => 'Rio Grande do Norte', 'RO' => 'Rondônia', 'RR' => 'Roraima', 'RS' => 'Rio Grande do Sul', 'SC' => 'Santa Catarina', 'SE' => 'Sergipe', 'SP' => 'São Paulo', 'TO' => 'Tocantins'); foreach ($brStates as $uf => $state) { $db->beginTransaction(); try { $_state = array('ds_code' => $uf, 'ds_name' => $state); $db->insert('state', $_state); $db->commit(); } catch (Exception $ex) { $db->rollBack(); throw $ex; } } } $form = new Snep_Form(); $form->setAction($this->getFrontController()->getBaseUrl() . "/default/cnl/index"); $this->view->formAction = $this->getFrontController()->getBaseUrl() . "/default/cnl/index"; $element = new Zend_Form_Element_File('cnl'); $element->setLabel($this->view->translate('CNL File'))->setDestination('/tmp/')->setRequired(true); $element->addValidator('Extension', false, array('bz2', 'json')); $element->removeDecorator('DtDdWrapper'); $form->addElement($element, 'cnl'); $form->getElement("submit")->setLabel($this->view->translate("Save")); $form->setAttrib('enctype', 'multipart/form-data'); $this->view->valid = true; if ($this->_request->getPost()) { $form_isValid = $form->isValid($_POST); $this->view->valid = $form_isValid; if ($form_isValid) { $data = $_POST; $adapter = new Zend_File_Transfer_Adapter_Http(); if ($adapter->isValid()) { $adapter->receive(); $fileName = $adapter->getFileName(); $json = file_get_contents($fileName); $cnl = Zend_Json_Decoder::decode($json, Zend_Json::TYPE_ARRAY); $data = $cnl["operadoras"]; unset($cnl["operadoras"]); $db->delete('city_code'); $db->delete('carrier_prefix'); $db->delete('city'); foreach ($data as $carrier => $id) { Snep_Cnl::addOperadora($id, $carrier); } foreach ($cnl as $data => $id) { foreach ($id as $state => $es) { foreach ($es as $ddd => $d) { foreach ($d as $city => $pre) { $stateId = Snep_Cnl::fetchStateId($state); $cityId = Snep_Cnl::addCidade($city); Snep_Cnl::addDDD($ddd, $stateId, $cityId); foreach ($pre as $prefix => $op) { Snep_Cnl::addPrefixo($prefix, $cityId, $op); } } } } } $this->view->message = $this->view->translate('A lista de informações CNL foi atualizada com sucesso.'); } else { throw new ErrorException($this->view->translate("File format is not valid")); } } } $this->view->form = $form; }
/** * Método edit, editar item conforme id fornecido. */ public function editAction() { // Define o título da página, é mostrado automaticamente na view. $this->view->breadcrumb = $this->view->translate("Exemplo » Editar"); // Pega o id do item selecionado, passado via GET $id = $this->_request->getParam("id"); // Chama método Example_Cadastro::get(), ele retorna os dados confome o id. $dados = Example_Manager::get($id); // Parse do arquivo formulário. $xml = new Zend_Config_Xml(Zend_Registry::get("config")->system->path->base . "/modules/example/forms/cadastro.xml"); // Cria objeto Snep_Form $form = new Snep_Form($xml); // Preenche dados do formulário com dados vindos do banco. // Perceba que ele captura o elemento e ao mesmo tempo seta um valor para ele. $form->getElement('id')->setValue($dados['id']); $form->getElement('nome')->setValue($dados['nome']); // Chama método que insere a barra padrão. $form->setButton(); // Verifica se existe dados sendo enviados via $_POST // Se for verdadeiro, é porqyue o formulário foi submetido. if ($this->_request->getPost()) { // Chama método isValid() é confronta os dados submetidos pelo formulário. $isValid = $form->isValid($_POST); // Caso tudo seja válido chama a classe (Model) para inserir o dado. if ($isValid) { // Chama método estático para atualizar o registro. Example_Manager::update($_POST); // Após remover ou nao dados redireciona para método index $this->_redirect($this->getRequest()->getModuleName() . '/' . $this->getRequest()->getControllerName()); } } // Envia form para a view $this->view->form = $form; }
public function editfileAction() { $fileName = $this->_request->getParam('file'); $class = $this->_request->getParam('class'); $className = Snep_SoundFiles_Manager::getClasse($class); $files = Snep_SoundFiles_Manager::getClassFiles($className); $_files = array('arquivo' => '', 'descricao' => '', 'tipo' => '', 'secao' => $class, 'full' => ''); foreach ($files as $name => $file) { if ($name == $fileName) { if (isset($file['arquivo'])) { $_files = $file; } } } $this->view->breadcrumb = Snep_Breadcrumb::renderPath(array($this->view->translate("Music on Hold Sessions"), $this->view->translate("Edit File"), $className)); $form = new Snep_Form(new Zend_Config_Xml("modules/default/forms/sound_files.xml")); $form->setAction($this->getFrontController()->getBaseUrl() . '/' . $this->getRequest()->getControllerName() . "/editfile/file/{$fileName}/class/{$class}"); $file = new Zend_Form_Element_File('file'); $file->setLabel($this->view->translate('Sound File'))->addValidator(new Zend_Validate_File_Extension(array('wav', 'gsm')))->removeDecorator('DtDdWrapper')->setIgnore(true); $form->addElement($file); $form->getElement('description')->setValue($_files['descricao']); $section = new Zend_Form_Element_Hidden('section'); $section->setValue($_files['secao']); $form->addElement($section); $originalName = new Zend_Form_Element_Hidden('originalName'); $originalName->setValue($fileName); $form->addElement($originalName); $originalPath = new Zend_Form_Element_Hidden('originalPath'); $originalPath->setValue($_files['full']); $form->addElement($originalPath); $form->removeElement('type'); if ($this->_request->getPost()) { $class = Snep_SoundFiles_Manager::getClasse($_POST['section']); $form_isValid = $form->isValid($_POST); $dados = $this->_request->getParams(); $invalid = array('â', 'ã', 'á', 'à', 'ẽ', 'é', 'è', 'ê', 'í', 'ì', 'ó', 'õ', 'ò', 'ú', 'ù', 'ç', " ", '@', '!'); $valid = array('a', 'a', 'a', 'a', 'e', 'e', 'e', 'e', 'i', 'i', 'o', 'o', 'o', 'u', 'u', 'c', "_", '_', '_'); if ($_FILES['file']['size'] > 0) { $oldName = $_POST['originalName']; $originalName = str_replace($invalid, $valid, $_FILES['file']['name']); $files = Snep_SoundFiles_Manager::get($originalName); if ($files) { $file->addError($this->view->translate("The file already exists")); $form_isValid = false; } if ($form_isValid) { $uploadName = $_FILES['file']['tmp_name']; $arq_tmp = $class['directory'] . "/tmp/" . $originalName; $arq_dst = $class['directory'] . "/" . $originalName; $arq_bkp = $class['directory'] . "/backup/" . $originalName; $arq_orig = $class['directory'] . "/" . $originalName; exec("mv {$uploadName} {$arq_tmp}"); $fileNe = basename($arq_dst, 'wav'); if ($_POST['gsm']) { exec("sox {$arq_tmp} -r 8000 {$fileNe}.gsm"); $exists = file_exists($fileNe . "gsm"); } else { exec("sox {$arq_tmp} -r 8000 -c 1 -e signed-integer -b 16 {$arq_dst}"); $exists = file_exists($arq_dst); } } if ($exists) { exec("rm -f {$_POST['originalPath']}"); Snep_SoundFiles_Manager::remove($oldName); Snep_SoundFiles_Manager::add(array('arquivo' => $originalName, 'descricao' => $dados['description'], 'data' => new Zend_Db_Expr('NOW()'), 'tipo' => 'MOH', 'secao' => $dados['section'])); } } else { $originalName = $_POST['originalName']; Snep_SoundFiles_Manager::editClassFile(array('arquivo' => $originalName, 'descricao' => $dados['description'], 'data' => new Zend_Db_Expr('NOW()'), 'tipo' => 'MOH', 'secao' => $dados['section'])); } $this->_redirect($this->getRequest()->getControllerName() . "/file/class/{$className['name']}/"); } $this->view->form = $form; }
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; }
public function indexAction() { // Title $this->view->breadcrumb = Snep_Breadcrumb::renderPath(array($this->view->translate("Configure"), $this->view->translate("Parameters"))); // Get configuration properties from Zend_Registry $config = Zend_Registry::get('config'); // Include Inpector class, for permission test include_once $config->system->path->base . "/inspectors/Permissions.php"; $test = new Permissions(); $response = $test->getTests(); // Verify if there's any error, and if it's related to the setup.conf file if ($response['error'] && strpos($response['message'], "setup.conf") > 0) { // seta variavel verificada no template $this->view->error = $this->view->translate("The File includes/setup.conf does not have permission to be modified."); } // Create object Snep_Form $form = new Snep_Form(); // Set form action $form->setAction($this->getFrontController()->getBaseUrl() . '/parameters/index'); $form_xml = new Zend_Config_Xml('./modules/default/forms/setup.conf.xml'); // Section General $general = new Snep_Form_SubForm($this->view->translate("General Configuration"), $form_xml->general); // Setting propoertie values $empName = $general->getElement('emp_nome'); $empName->setValue($config->ambiente->emp_nome); $debug = $general->getElement('debug'); $debug->setValue($config->system->debug); $ipSock = $general->getElement('ip_sock'); $ipSock->setValue($config->ambiente->ip_sock); $userSock = $general->getElement('user_sock'); $userSock->setValue($config->ambiente->user_sock); $passSock = $general->getElement('pass_sock'); $passSock->setValue($config->ambiente->pass_sock); $email = $general->getElement('mail'); $email->setValue($config->system->mail); $lineLimit = $general->getElement('linelimit'); $lineLimit->setValue($config->ambiente->linelimit); $dstExceptions = $general->getElement('dst_exceptions'); $dstExceptions->setValue($config->ambiente->dst_exceptions); $conferenceApp = $general->getElement('conference_app'); $conferenceApp->setValue($config->ambiente->conference_app); $form->addSubForm($general, "general"); $locale_form = new Snep_Form_SubForm($this->view->translate("Locale Configuration"), $form_xml->locale); $locale = Snep_Locale::getInstance()->getZendLocale(); $locales = array(); foreach ($locale->getTranslationList("territory", Snep_Locale::getInstance()->getLanguage(), 2) as $ccode => $country) { $locales[$country] = $locale->getLocaleToTerritory($ccode); } ksort($locales, SORT_LOCALE_STRING); foreach ($locales as $country => $ccode) { $locale_form->getElement("locale")->addMultiOption($ccode, $country); } $locale_form->getElement("locale")->setValue(Snep_Locale::getInstance()->getLocale()); foreach ($locale->getTranslationList("territorytotimezone", Snep_Locale::getInstance()->getLanguage()) as $timezone => $territory) { $locale_form->getElement("timezone")->addMultiOption($timezone, $timezone); } $locale_form->getElement("timezone")->setValue(Snep_Locale::getInstance()->getTimezone()); $languages = array(); $languageElement = $locale_form->getElement("language"); $available_languages = Snep_Locale::getInstance()->getAvailableLanguages(); foreach ($locale->getTranslationList("language", Snep_Locale::getInstance()->getLanguage()) as $lcode => $language) { if (in_array($lcode, $available_languages)) { $languageElement->addMultiOption($lcode, ucfirst($language)); } } $languageElement->setValue(Snep_Locale::getInstance()->getLanguage()); $form->addSubForm($locale_form, "locale"); // Section Recording $recording = new Snep_Form_SubForm($this->view->translate("Call Recording Configuration"), $form_xml->recording); // Setting propoertie values $application = $recording->getElement('application'); $application->setValue($config->general->record->application); $flag = $recording->getElement('flag'); $flag->setValue($config->general->record->flag); $recordMp3 = $recording->getElement('record_mp3'); $recordMp3->setValue($config->general->record_mp3); $pathVoice = $recording->getElement('path_voz'); $pathVoice->setValue($config->ambiente->path_voz); $pathVoiceBkp = $recording->getElement('path_voz_bkp'); $pathVoiceBkp->setValue($config->ambiente->path_voz_bkp); $form->addSubForm($recording, "gravacao"); // Section Trunks $trunks = new Snep_Form_SubForm($this->view->translate("Trunks Configuration"), $form_xml->trunks); // Setting propoertie values $qualControlValue = $trunks->getElement('valor_controle_qualidade'); $qualControlValue->setValue($config->ambiente->valor_controle_qualidade); $form->addSubForm($trunks, "troncos"); // Verify if the request is a post if ($this->_request->getPost()) { $formIsValid = $form->isValid($_POST); $formData = $this->getRequest()->getParams(); // Specific verification for propertie path_voice if (!file_exists($formData['gravacao']['path_voz'])) { $recording->getElement('path_voz')->addError($this->view->translate("Invalid path")); $formIsValid = false; } //Validates form, then sets propertie values and records it on the configuration file if ($formIsValid) { $configFile = APPLICATION_PATH . "/includes/setup.conf"; $config = new Zend_Config_Ini($configFile, null, true); $config->ambiente->emp_nome = $formData['general']['emp_nome']; $config->system->debug = $formData['general']['debug']; $config->system->language = $formData['locale']['language']; $config->system->locale = $formData['locale']['locale']; $config->system->timezone = $formData['locale']['timezone']; $config->ambiente->ip_sock = $formData['general']['ip_sock']; $config->ambiente->user_sock = $formData['general']['user_sock']; $config->ambiente->pass_sock = $formData['general']['pass_sock']; $config->system->mail = $formData['general']['mail']; $config->ambiente->linelimit = $formData['general']['linelimit']; $config->ambiente->dst_exceptions = $formData['general']['dst_exceptions']; $config->ambiente->conference_app = $formData['general']['conference_app']; $config->general->record->application = $formData['gravacao']['application']; $config->general->record->flag = $formData['gravacao']['flag']; $config->general->record_mp3 = $formData['gravacao']['record_mp3']; $config->ambiente->path_voz = $formData['gravacao']['path_voz']; $config->ambiente->path_voz_bkp = $formData['gravacao']['path_voz_bkp']; $config->ambiente->valor_controle_qualidade = $formData['troncos']['valor_controle_qualidade']; $writer = new Zend_Config_Writer_Ini(array('config' => $config, 'filename' => $configFile)); // Write file $writer->write(); $this->_redirect('parameters'); } } $this->view->form = $form; }
public function editAction() { $this->view->breadcrumb = Snep_Breadcrumb::renderPath(array($this->view->translate("Manage"), $this->view->translate("Users"), $this->view->translate("Edit User"))); $id = $this->_request->getParam("id"); $obj = new Snep_User_Manager(); $select = $obj->select()->where("id_user = ?", $id); $user = $obj->fetchRow($select)->toArray(); $form = new Snep_Form(new Zend_Config_Xml('./modules/default/forms/user.xml')); $form->getElement('id')->setValue($user['id_user']); $form->getElement('ds_login')->setValue($user['ds_login']); $form->getElement('ds_mail')->setValue($user['ds_mail']); $form->getElement('fg_active')->setValue($user['fg_active']); if ($this->_request->getPost()) { $form_isValid = $form->isValid($_POST); if ($form_isValid) { $dados = array('ds_login' => $_POST['ds_login'], 'dt_lastlogin' => $user['dt_lastlogin'], 'ds_mail' => $_POST['ds_mail'], 'fg_active' => $_POST['fg_active'], 'id_profile' => null); if ($_POST['cd_password'] != '') { $new_pass = md5($_POST['cd_password']); if ($user['cd_password'] != $new_pass) { $dados['cd_password'] = md5($_POST['cd_password']); } } $obj->update($dados, "id_user = '******'"); $this->_redirect($this->getRequest()->getControllerName()); } } $this->view->form = $form; }
public function editAction() { $this->view->breadcrumb = Snep_Breadcrumb::renderPath(array($this->view->translate("Manage"), $this->view->translate("Pickup Groups"), $this->view->translate("Edit Pickup Group"))); $id = $this->_request->getParam('group'); $pickupgroupObj = new Snep_PickupGroups_Manager(); Zend_Registry::set('cancel_url', $this->getFrontController()->getBaseUrl() . '/' . $this->getRequest()->getControllerName() . '/index'); $form_xml = new Zend_Config_Xml("modules/default/forms/pickupGroup.xml"); $form = new Snep_Form($form_xml->general); $form->setAction($this->getFrontController()->getBaseUrl() . '/' . $this->getRequest()->getControllerName() . "/edit/group/{$id}"); $pickupgroup = $pickupgroupObj->fetchRow('id_pickupgroup = ' . $id); $name = $form->getElement('name')->setValue($pickupgroup->ds_name); $name = $form->getElement('name')->setLabel($this->view->translate("Name")); if ($this->_request->getPost()) { $form_isValid = $form->isValid($_POST); $dados = $this->_request->getParams(); if ($form_isValid) { $pickupgroup->ds_name = $dados['name']; $pickupgroup->save(); $this->_redirect($this->getRequest()->getControllerName()); } } $this->view->form = $form; $this->renderScript("pickup-groups/add_edit.phtml"); }
/** * Edit Carrier */ public function editAction() { $this->view->breadcrumb = Snep_Breadcrumb::renderPath(array($this->view->translate("Carrier"), $this->view->translate("Edit"))); $this->view->objSelectBox = "carrier"; $id = $this->_request->getParam("id"); $xml = new Zend_Config_Xml("modules/default/forms/carrier.xml"); $form = new Snep_Form($xml); $carriers = new Snep_Carrier_Manager(); $carrier = $carriers->find($id)->current(); // Popula lista de operadoras $carrierList = array(); foreach ($carriers->fetchAll() as $carrierRow) { $carrierList[$carrierRow->id_carrier] = $carrierRow->ds_name; } $carrierElement = $form->getElement('name'); $carrierElement->setMultiOptions($carrierList)->removeDecorator('DtDdWrapper')->setRegisterInArrayValidator(false); $name = $form->getElement('name'); $name->setValue($carrier['id_carrier'])->setAttrib('disabled', 'disabled'); $form->getElement('ta')->setValue($carrier['vl_start']); $form->getElement('tf')->setValue($carrier['vl_fractionation']); $_idleCostCenter = Snep_Carrier_Manager::getIdleCostCenter(); $idleCostCenter = array(); foreach ($_idleCostCenter as $idle) { $idleCostCenter[$idle['id_costcenter']] = $idle['id_costcenter'] . " : " . $idle['cd_type'] . " - " . $idle['ds_name']; } if (isset($id)) { $_selectedCostCenter = $carrier->findSnep_CostCenter_Manager(); $selectedCostCenter = array(); foreach ($_selectedCostCenter as $selected) { $selectedCostCenter[$selected['id_costcenter']] = $selected['id_costcenter'] . " : " . $selected['cd_type'] . " - " . $selected['ds_name']; } } $form->setSelectBox($this->view->objSelectBox, $this->view->translate('Cost Center'), $idleCostCenter, $selectedCostCenter); $formId = new Zend_Form_Element_Hidden('id'); $formId->setValue($id); $form->addElement($formId); if ($this->_request->getPost()) { $form_isValid = $form->isValid($_POST); $dados = $this->_request->getParams(); if ($form_isValid) { $dados['active'] = 1; $manager = new Snep_Carrier_Manager(); $manager->save($id, $dados); $this->_redirect($this->getRequest()->getControllerName()); } } $this->view->form = $form; }
/** * Edit Contact */ public function editAction() { $this->view->breadcrumb = Snep_Breadcrumb::renderPath(array($this->view->translate("Manage"), $this->view->translate("Contacts"), $this->view->translate("Edit"))); $id = $this->_request->getParam('id'); $obj = new Snep_Contacts_Manager(); $select = $obj->select()->where('id_contact = ?', $id); $contact = $obj->fetchRow($select)->toArray(); Zend_Registry::set('cancel_url', $this->getFrontController()->getBaseUrl() . '/' . $this->getRequest()->getControllerName() . '/index'); $form = new Snep_Form(new Zend_Config_Xml("modules/default/forms/contacts.xml")); $form->setAction($this->getFrontController()->getBaseUrl() . '/' . $this->getRequest()->getControllerName() . '/edit/id/' . $id); $idco = new Zend_Form_Element_Hidden('id_contact'); $idco->setValue($contact['id_contact']); $form->getElement('id')->setValue($contact['id_contact'])->setAttrib('readonly', true); $form->getElement('name')->setValue($contact['ds_name']); $form->getElement('address')->setValue($contact['ds_address']); /* * Combo de Grupos */ $group = new Snep_ContactGroups_Manager(); $_allGroups = $group->fetchAll(); foreach ($_allGroups as $group) { $allGroups[$group['id_contact_group']] = $group['ds_name']; } if (count($_allGroups)) { $form->getElement('group')->setMultiOptions($allGroups); $form->getElement('group')->setValue($contact['id_contact_group']); } isset($contact['group']) ? $group->setValue($contact['id_contact_group']) : null; /* * Combo de Cidades * */ $city = new Snep_City_Manager(); $_allCities = $city->fetchAll(); foreach ($_allCities as $city) { $allCities[$city['ds_name']] = $city['ds_name']; } if (count($_allCities)) { $form->getElement('city')->setMultiOptions($allCities)->addMultiOption($contact['ds_city'], $contact['ds_city'])->setValue($contact['ds_city']); } /* * Combo de Estado * */ $state = new Snep_State_Manager(); $_allStates = $state->fetchAll(); foreach ($_allStates as $state) { $allStates[$state['ds_name']] = $state['ds_name']; } if (count($_allStates)) { $form->getElement('state')->setMultiOptions($allStates)->addMultiOption($contact['ds_state'], $contact['ds_state'])->setValue($contact['ds_state']); } $form->getElement('zipcode')->setValue($contact['ds_cep']); $form->getElement('phone')->setValue($contact['ds_phone']); $form->getElement('cell')->setValue($contact['ds_cell_phone']); if ($this->_request->getPost()) { $_POST['id'] = trim($_POST['id']); $form_isValid = $form->isValid($_POST); $dados = array('ds_name' => $_POST['name'], 'id_contact_group' => $_POST['group'], 'ds_address' => $_POST['address'], 'ds_city' => $_POST['city'], 'ds_state' => $_POST['state'], 'ds_cep' => $_POST['zipcode'], 'ds_phone' => $_POST['phone'], 'ds_cell_phone' => $_POST['cell']); if ($form_isValid) { $contact = new Snep_Contacts_Manager(); $contact->update($dados, "id_contact = {$_POST['id']}"); $this->_redirect($this->getRequest()->getControllerName()); } } $this->view->form = $form; }
public function configureAction() { $objInspector = new Snep_Inspector('Permissions'); $inspect = $objInspector->getInspects(); $this->view->error = $inspect['Permissions']; $this->view->hideMenu = true; $this->view->breadcrumb = $this->view->translate("Installer » Configuration"); $form_config = new Zend_Config_Xml("./modules/default/formsinstaller.xml"); $form = new Snep_Form(); $form->setAction($this->getFrontController()->getBaseUrl() . '/installer/configure'); $asterisk_form = new Snep_Form_SubForm($this->view->translate("Asterisk Configuration"), $form_config->asterisk); $database_form = new Snep_Form_SubForm($this->view->translate("Database Configuration"), $form_config->database); $snep_form = new Snep_Form_SubForm($this->view->translate("Admin Password"), $form_config->snep); $form->addSubForm($database_form, "database"); $form->addSubForm($asterisk_form, "asterisk"); $form->addSubForm($snep_form, "snep"); $submit_button = $form->getElement('submit'); if ($this->view->error['error']) { $submit_button->setAttrib('disabled', true); } if ($this->getRequest()->isPost()) { $form_isValid = $form->isValid($_POST); $snep_data = $form->getValue("snep"); if ($snep_data['password'] !== $snep_data['confirmpassword']) { $snep_form->getElement('confirmpassword')->addError($this->view->translate("The password confirmation is different from the original")); $form_isValid = false; } if (!$asterisk_form->isErrors()) { $asterisk_data = $form->getValue("asterisk"); $asterisk = new Asterisk_AMI(null, $asterisk_data); try { $asterisk->connect(); } catch (Asterisk_Exception_Auth $ex) { $asterisk_form->getElement('secret')->addError($this->view->translate("User and/or password rejected by Asterisk")); $form_isValid = false; } catch (Asterisk_Exception_CantConnect $ex) { $asterisk_form->getElement('server')->addError($this->view->translate("Unable to connect: %s", $ex->getMessage())); $form_isValid = false; } } if (!$database_form->isErrors()) { $database_data = $form->getValue('database'); $db = Zend_Db::factory('Pdo_Mysql', $database_data); try { $db->getConnection(); } catch (Zend_Db_Exception $ex) { $database_form->getElement('hostname')->addError($this->view->translate("Unable to connect: %s", $ex->getMessage())); $form_isValid = false; } } if ($form_isValid) { try { $this->install($db); } catch (Exception $ex) { $this->view->message = $ex->getMessage(); $this->renderScript("installer/error.phtml"); } // Setando usuário do admin. $db->update("peers", array('password' => $snep_data['password']), "id = 1"); // Gravando alterações no arquivo de configuração. $config_file = "./includes/setup.conf"; $config = new Zend_Config_Ini($config_file, null, true); $config->ambiente->ip_sock = $_POST['asterisk']['server']; $config->ambiente->user_sock = $_POST['asterisk']['username']; $config->ambiente->pass_sock = $_POST['asterisk']['secret']; $config->ambiente->db->host = $_POST['database']['hostname']; $config->ambiente->db->username = $_POST['database']['username']; $config->ambiente->db->password = $_POST['database']['password']; $config->ambiente->db->dbname = $_POST['database']['dbname']; $writer = new Zend_Config_Writer_Ini(array('config' => $config, 'filename' => $config_file)); // Grava arquivo. $writer->write(); $this->_redirect("installer/installed"); } } $this->view->form = $form; }
/** * Edit Queues */ public function editAction() { $this->view->url = $this->getFrontController()->getBaseUrl() . '/' . $this->getRequest()->getControllerName(); $db = Zend_Registry::get('db'); $id = $this->_request->getParam("id"); $this->view->breadcrumb = Snep_Breadcrumb::renderPath(array($this->view->translate("Manage"), $this->view->translate("Queues"), $this->view->translate("Edit {$id}"))); $obj = new Snep_Queues_Manager(); $select = $obj->select()->where("id_queue = ?", $id); $queue = $obj->fetchRow($select)->toArray(); $sections = new Zend_Config_Ini('/etc/asterisk/snep/snep-musiconhold.conf'); $_section = array_keys($sections->toArray()); $section = array(); foreach ($_section as $value) { $section[$value] = $value; } $files = '/var/lib/asterisk/sounds/'; if (file_exists($files)) { $files = scandir($files); $sounds = array("" => ""); foreach ($files as $i => $value) { if (substr($value, 0, 1) == '.') { unset($files[$i]); continue; } if (is_dir($files . '/' . $value)) { unset($files[$i]); continue; } $sounds[$value] = $value; } } Zend_Registry::set('cancel_url', $this->getFrontController()->getBaseUrl() . '/' . $this->getRequest()->getControllerName() . '/index'); $form = new Snep_Form(); $form->setAction($this->getFrontController()->getBaseUrl() . '/' . $this->getRequest()->getControllerName() . '/edit/id/' . $id); $essentialData = new Zend_Config_Xml('./modules/default/forms/queues.xml', 'essential', true); $essential = new Snep_Form_SubForm($this->view->translate("General Configuration"), $essentialData); $essential->getElement('name')->setValue($queue['name'])->setAttrib('readonly', true); $essential->getElement('musiconhold')->setMultiOptions($section)->setValue($queue['musiconhold']); $essential->getElement('timeout')->setValue($queue['timeout']); $essential->getElement('announce_frequency')->setValue($queue['announce_frequency']); $essential->getElement('retry')->setValue($queue['retry']); $essential->getElement('wrapuptime')->setValue($queue['wrapuptime']); $essential->getElement('maxlen')->setValue($queue['maxlen']); $essential->getElement('servicelevel')->setValue($queue['servicelevel']); $essential->getElement('strategy')->addMultiOptions(array('ringall' => $this->view->translate('For all agents available (ringall)'), 'roundrobin' => $this->view->translate('Search for a available agent (roundrobin)'), 'leastrecent' => $this->view->translate('For the agent idle for the most time (leastrecent)'), 'random' => $this->view->translate('Randomly (random)'), 'fewestcalls' => $this->view->translate('For the agent that answerd less calls (fewestcalls)'), 'rrmemory' => $this->view->translate('Equally (rrmemory)')))->setValue($queue['strategy']); $form->addSubForm($essential, "essential"); $advancedData = new Zend_Config_Xml('./modules/default/forms/queues.xml', 'advanced', true); $advanced = new Snep_Form_SubForm($this->view->translate("Advanced Configuration"), $advancedData); $boolOptions = array(1 => $this->view->translate('Yes'), 0 => $this->view->translate('No')); $advanced->getElement('announce')->setMultiOptions($sounds)->setValue($queue['announce']); $advanced->getElement('context')->setValue($queue['context']); $advanced->getElement('queue_youarenext')->setMultiOptions($sounds)->setValue($queue['queue_youarenext']); $advanced->getElement('queue_thereare')->setMultiOptions($sounds)->setValue($queue['queue_thereare']); $advanced->getElement('queue_callswaiting')->setMultiOptions($sounds)->setValue($queue['queue_callswaiting']); $advanced->getElement('queue_thankyou')->setMultiOptions($sounds)->setValue($queue['queue_thankyou']); $advanced->getElement('joinempty')->setMultiOptions(array('yes' => $this->view->translate('Yes'), 'no' => $this->view->translate('No'), 'strict' => $this->view->translate('Restrict')))->setValue($queue['joinempty']); $advanced->getElement('leavewhenempty')->setMultiOptions($boolOptions)->setValue($queue['leavewhenempty']); $advanced->getElement('reportholdtime')->setMultiOptions($boolOptions)->setValue($queue['reportholdtime']); $advanced->getElement('memberdelay')->setValue($queue['memberdelay']); $advanced->getElement('weight')->setValue($queue['weight']); $advanced->getElement('autopause')->setValue($queue['autopause']); $advanced->getElement('autofill')->setValue($queue['autofill']); $id_queue = new Zend_Form_Element_Hidden('id_queue'); $id_queue->setValue($queue['id_queue']); $advanced->addElement($id_queue); $form->addSubForm($advanced, "advanced"); if ($this->_request->getPost()) { $dados = array('name' => $_POST['essential']['name'], 'musiconhold' => $_POST['essential']['musiconhold'], 'announce' => $_POST['advanced']['announce'], 'context' => $_POST['advanced']['context'], 'timeout' => $_POST['essential']['timeout'], 'queue_youarenext' => $_POST['advanced']['queue_youarenext'], 'queue_thereare' => $_POST['advanced']['queue_thereare'], 'queue_callswaiting' => $_POST['advanced']['queue_callswaiting'], 'queue_thankyou' => $_POST['advanced']['queue_thankyou'], 'announce_frequency' => $_POST['essential']['announce_frequency'], 'announce_round_seconds' => 0, 'retry' => $_POST['essential']['retry'], 'wrapuptime' => $_POST['essential']['wrapuptime'], 'maxlen' => $_POST['essential']['maxlen'], 'servicelevel' => $_POST['essential']['servicelevel'], 'strategy' => $_POST['essential']['strategy'], 'joinempty' => $_POST['advanced']['joinempty'], 'leavewhenempty' => $_POST['advanced']['leavewhenempty'], 'reportholdtime' => $_POST['advanced']['reportholdtime'], 'memberdelay' => $_POST['advanced']['memberdelay'], 'weight' => $_POST['advanced']['weight'], 'autopause' => $_POST['advanced']['autopause'], 'autofill' => $_POST['advanced']['autofill'], 'monitor_join' => NULL, 'monitor_format' => NULL, 'queue_holdtime' => NULL, 'queue_minutes' => NULL, 'queue_seconds' => NULL, 'queue_lessthan' => NULL, 'queue_reporthold' => NULL, 'announce_holdtime' => NULL, 'eventmemberstatus' => NULL, 'eventwhencalled' => NULL, 'timeoutrestart' => NULL, 'queue_name' => NULL, 'interface' => NULL); $form_isValid = $form->isValid($_POST); if ($form_isValid) { $obj = new Snep_Queues_Manager(); $obj->update($dados, "id_queue = {$_POST['advanced']['id_queue']}"); $this->_redirect($this->getRequest()->getControllerName()); } } $this->view->form = $form; }
/** * Edit Carrier */ public function editAction() { $this->view->breadcrumb = Snep_Breadcrumb::renderPath(array($this->view->translate("Sound Files"), $this->view->translate("Edit"))); $file = $this->_request->getParam("file"); $data = Snep_SoundFiles_Manager::get($file); $this->view->file = $data; $form = new Snep_Form(new Zend_Config_Xml("modules/default/forms/sound_files.xml")); $file = new Zend_Form_Element_File('file'); $file->setLabel($this->view->translate('Sound Files'))->addValidator(new Zend_Validate_File_Extension(array('wav', 'gsm')))->removeDecorator('DtDdWrapper')->setIgnore(true); $form->addElement($file); $form->getElement('filename')->setValue($data['arquivo'])->setAttrib('readonly', true); $form->getElement('description')->setLabel($this->view->translate('Description'))->setValue($data['descricao'])->setRequired(true); if ($this->_request->getPost()) { $form_isValid = $form->isValid($_POST); $dados = $this->_request->getParams(); if ($form_isValid) { if ($_FILES['file']['name'] != "" && $_FILES['file']['size'] > 0) { $path_sound = Zend_Registry::get('config')->system->path->asterisk->sounds; $filepath = Snep_SoundFiles_Manager::verifySoundFiles($_POST['filename'], true); exec("mv {$filepath['fullpath']} {$path_sound}/backup/ "); exec("mv {$_FILES['file']['tmp_name']} {$filepath['fullpath']} "); } Snep_SoundFiles_Manager::edit($_POST); $this->_redirect($this->getRequest()->getControllerName()); } } $this->view->form = $form; }
/** * 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; }
/** * Edit Cost Center's */ public function editAction() { $id = $this->_request->getParam('id'); $this->view->breadcrumb = Snep_Breadcrumb::renderPath(array($this->view->translate("Manage"), $this->view->translate("Cost Center"), $this->view->translate("Edit"))); $obj = new Snep_CostCenter_Manager(); $select = $obj->select()->where('id_costcenter = ?', $id); $cost_center = $obj->fetchRow($select)->toArray(); Zend_Registry::set('cancel_url', $this->getFrontController()->getBaseUrl() . '/' . $this->getRequest()->getControllerName() . '/index'); $form = new Snep_Form(new Zend_Config_Xml("modules/default/forms/cost_center.xml")); $form->setAction($this->getFrontController()->getBaseUrl() . '/' . $this->getRequest()->getControllerName() . '/edit/id/' . $id); $idcc = new Zend_Form_Element_Hidden('id_costcenter'); $idcc->setValue($cost_center['id_costcenter']); $form->getElement('id')->setValue($cost_center['cd_code'])->setAttrib('readonly', true); $form->getElement('name')->setValue($cost_center['ds_name']); $form->getElement('description')->setValue($cost_center['ds_description']); $form->getElement('type')->setValue($cost_center['cd_type']); $form->addElement($idcc); if ($this->_request->getPost()) { $_POST['id'] = trim($_POST['id']); $form_isValid = $form->isValid($_POST); $data = array('cd_code' => trim($_POST['id']), 'ds_name' => $_POST['name'], 'cd_type' => $_POST['type'], 'ds_description' => $_POST['description'], 'id_carrier' => null); if ($form_isValid) { $costCenter = new Snep_CostCenter_Manager(); $costCenter->update($data, "id_costcenter = {$_POST['id_costcenter']}"); $this->_redirect($this->getRequest()->getControllerName()); } } $this->view->form = $form; }