public function indexAction() { $this->view->breadcrumb = $this->view->translate("SNEP Installer"); //$this->view->next = $this->view->url(array("controller"=>"installer", "action"=>"diagnostic"), null, true); $objInspector = new Snep_Inspector('Permissions'); $inspect = $objInspector->getInspects(); $this->view->error = $inspect['Permissions']; $form = new Snep_Form(); $form_xml = new Zend_Config_Xml('./modules/default/formssetup.conf.xml'); $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()); if ($this->getRequest()->isPost()) { $form_isValid = $form->isValid($_POST); $configFile = APPLICATION_PATH . "/includes/setup.conf"; $config = new Zend_Config_Ini($configFile, null, true); $config->system->locale = $_POST['locale']['locale']; $config->system->timezone = $_POST['locale']['timezone']; $config->system->language = $_POST['locale']['language']; if ($form_isValid) { $writer = new Zend_Config_Writer_Ini(array('config' => $config, 'filename' => $configFile)); $writer->write(); $this->_redirect('installer/diagnostic/'); } } $submit_button = $form->getElement('submit'); $submit_button->setLabel('Iniciar a Instalar'); if ($this->view->error['error']) { $submit_button->setAttrib('disabled', true); } $this->view->form = $form->addSubForm($locale_form, "locale"); }
protected function getForm() { // Create object Snep_Form $form = new Snep_Form(); // Set form action $form->setAction($this->getFrontController()->getBaseUrl() . '/ranking-report/index'); $form_xml = new Zend_Config_Xml('./modules/default/forms/ranking_report.xml'); $config = Zend_Registry::get('config'); $period = new Snep_Form_SubForm($this->view->translate("Period"), $form_xml->period); $locale = Snep_Locale::getInstance()->getLocale(); $now = Zend_Date::now(); if ($locale == 'en_US') { $now = $now->toString('YYYY-MM-dd HH:mm'); } else { $now = $now->toString('dd/MM/YYYY HH:mm'); } $yesterday = Zend_Date::now()->subDate(1); $initDay = $period->getElement('init_day'); $initDay->setValue($now); $tillDay = $period->getElement('till_day'); $tillDay->setValue($now); $form->addSubForm($period, "period"); $rank = new Snep_Form_SubForm($this->view->translate("Ranking Options"), $form_xml->rank); $selectNumView = $rank->getElement('view'); for ($index = 1; $index <= 30; $index++) { $selectNumView->addMultiOption($index, $index); } $form->addSubForm($rank, "rank"); $form->getElement('submit')->setLabel($this->view->translate("Show Report")); $form->removeElement("cancel"); return $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; }
private function getForm() { $config = Zend_Registry::get('config'); $db = Zend_Registry::get('db'); $form = new Snep_Form(); $form->setAction($this->getFrontController()->getBaseUrl() . '/calls-report/'); $form->setName('create'); $form_xml = new Zend_Config_Xml('./modules/default/forms/calls_report.xml'); // --- Subsection - Periods $period = new Snep_Form_SubForm($this->view->translate("Period"), $form_xml->period); $locale = Snep_Locale::getInstance()->getLocale(); $now = Zend_Date::now(); if ($locale == 'en_US') { $now = $now->toString('YYYY-MM-dd HH:mm'); } else { $now = $now->toString('dd/MM/YYYY HH:mm'); } $initDay = $period->getElement('initDay'); $initDay->setValue($now); $finalDay = $period->getElement('finalDay'); $finalDay->setValue($now); $order = $period->getElement('order'); $order->setValue('data'); $form->addSubForm($period, "period"); // Populate groups $groupLib = new Snep_GruposRamais(); $groupsTmp = $groupLib->getAll(); $groupsData = array(); foreach ($groupsTmp as $key => $group) { switch ($group['name']) { case 'administrator': $groupsData[$this->view->translate('Administrators')] = $group['name']; break; case 'users': $groupsData[$this->view->translate('Users')] = $group['name']; break; case 'all': $groupsData[$this->view->translate('All')] = $group['name']; break; default: $groupsData[$group['name']] = $group['name']; } } // --- Subsection -- Source $source = new Snep_Form_SubForm($this->view->translate("Source"), $form_xml->source); $sourceElement = $source->getElement('selectSrc'); $sourceElement->addMultiOption(null, ''); $sourceElement->setAttrib('onChange', 'blockFields($(this).id, $(this).value);'); $srcType = $source->getElement('srctype'); $srcType->setValue('src1'); $form->addSubForm($source, "source"); // --- Subsection -- Destination $destination = new Snep_Form_SubForm($this->view->translate("Destination"), $form_xml->destination); $destinationElement = $destination->getElement('selectDst'); $destinationElement->addMultiOption(null, ''); $destinationElement->setAttrib('onChange', 'blockFields($(this).id, $(this).value);'); $dstType = $destination->getElement('dsttype'); $dstType->setValue('dst1'); $form->addSubForm($destination, "destination"); foreach ($groupsData as $key => $value) { $sourceElement->addMultiOption($value, $key); $destinationElement->addMultiOption($value, $key); } // --- Subsection - Calls related options $calls = new Snep_Form_SubForm($this->view->translate("Calls"), $form_xml->calls); // List Cost Centers and populate select $select = $db->select()->from(array('cc' => 'ccustos'))->order('codigo'); $costs = $db->query($select)->fetchAll(); $costsElement = $calls->getElement('costs_center'); foreach ($costs as $cost) { $costsElement->addMultiOption($cost['codigo'], $cost['tipo'] . ' : ' . $cost['codigo'] . ' - ' . $cost['nome']); } $calls->getElement('status')->setValue('ALL'); $calls->getElement('type')->setValue('T'); $form->addSubForm($calls, "calls"); // --- Subsection - Other options $other = new Snep_Form_SubForm($this->view->translate("Other Options"), $form_xml->others); //$other->getElement('graph_type')->setValue('bars'); $other->getElement('report_type')->setValue('analytical'); $form->addSubForm($other, "others"); $form->getElement('submit')->setLabel($this->view->translate("Show Report")); $form->removeElement('cancel'); /* $form->addElement(new Zend_Form_Element_Submit("submit_graph", array("label" => $this->view->translate("Exibir Gráfico")) )); $buttonCsv = new Zend_Form_Element_Submit("submit_csv", array("label" => $this->view->translate("Exportar CSV"))); $buttonCsv->setOrder(5004); $buttonCsv->addDecorator(array("closetd" => 'HtmlTag'), array('tag' => 'td', 'closeOnly' => true, 'placement' => Zend_Form_Decorator_Abstract::APPEND)); $buttonCsv->addDecorator(array("closetr" => 'HtmlTag'), array('tag' => 'tr', 'closeOnly' => true, 'placement' => Zend_Form_Decorator_Abstract::APPEND)); $form->addElement($buttonCsv); */ return $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; }
protected function getmultiaddForm() { if ($this->form === Null) { $form_xml = new Zend_Config_Xml(Zend_Registry::get("config")->system->path->base . "/modules/default/forms/extensionsMulti.xml"); $form = new Snep_Form(); $form->addSubForm(new Snep_Form_SubForm($this->view->translate("Extension"), $form_xml->extension), "extension"); $form->addSubForm(new Snep_Form_SubForm($this->view->translate("Interface Technology"), $form_xml->technology), "technology"); $form->addSubForm(new Snep_Form_SubForm(null, $form_xml->ip, "sip"), "sip"); $form->addSubForm(new Snep_Form_SubForm(null, $form_xml->ip, "iax2"), "iax2"); $form->addSubForm(new Snep_Form_SubForm(null, $form_xml->virtual, "virtual"), "virtual"); $subFormKhomp = new Snep_Form_SubForm(null, $form_xml->khomp, "khomp"); $selectFill = $subFormKhomp->getElement('board'); $selectFill->addMultiOption(null, ' '); // Monta informações para placas khomp $boardList = array(); $khompInfo = new PBX_Khomp_Info(); if ($khompInfo->hasWorkingBoards()) { foreach ($khompInfo->boardInfo() as $board) { if (preg_match("/FXS/", $board['model'])) { $channels = range(0, $board['channels']); $selectFill->addMultiOption($board['id'], $board['id']); $boardList[$board['id']] = $channels; } } // $subFormKhomp->getElement('channel')->setRegisterInArrayValidator(false); $boardTmp = Zend_Json_Encoder::encode($boardList); $this->boardData = $boardTmp; } else { $subFormKhomp->removeElement('board'); $subFormKhomp->removeElement('channel'); $subFormKhomp->addElement(new Snep_Form_Element_Html("extensions/khomp_error.phtml", "err", false, null, "khomp")); } $form->addSubForm($subFormKhomp, "khomp"); //$form->addSubForm(new Snep_Form_SubForm($this->view->translate("Advanced"), $form_xml->advanced), "advanced"); $this->form = $form; } return $this->form; }
protected function getForm() { // Create object Snep_Form $form = new Snep_Form(); // Set form action $form->setAction($this->getFrontController()->getBaseUrl() . '/services-report/index'); $form_xml = new Zend_Config_Xml('./modules/default/forms/services_report.xml'); $config = Zend_Registry::get('config'); $period = new Snep_Form_SubForm($this->view->translate("Period"), $form_xml->period); $validatorDate = new Zend_Validate_Date(Zend_Locale_Format::getDateFormat(Zend_Registry::get('Zend_Locale'))); $locale = Snep_Locale::getInstance()->getLocale(); $now = Zend_Date::now(); if ($locale == 'en_US') { $now = $now->toString('YYYY-MM-dd HH:mm'); } else { $now = $now->toString('dd/MM/YYYY HH:mm'); } $yesterday = Zend_Date::now()->subDate(1); $initDay = $period->getElement('init_day'); $initDay->setValue($now); //$initDay->addValidator($validatorDate); $tillDay = $period->getElement('till_day'); $tillDay->setValue($now); //$tillDay->addValidator($validatorDate); $form->addSubForm($period, "period"); $exten = new Snep_Form_SubForm($this->view->translate("Extensions"), $form_xml->exten); $groupLib = new Snep_GruposRamais(); $groupsTmp = $groupLib->getAll(); $groupsData = array(); foreach ($groupsTmp as $key => $group) { switch ($group['name']) { case 'administrator': $groupsData[$this->view->translate('Administrators')] = $group['name']; break; case 'users': $groupsData[$this->view->translate('Users')] = $group['name']; break; case 'all': $groupsData[$this->view->translate('All')] = $group['name']; break; default: $groupsData[$group['name']] = $group['name']; } } $selectGroup = $exten->getElement('group_select'); $selectGroup->addMultiOption(null, '----'); foreach ($groupsData as $key => $value) { $selectGroup->addMultiOption($value, $key); } $selectGroup->setAttrib('onSelect', "enableField('exten-group_select', 'exten-exten_select');"); $form->addSubForm($exten, "exten"); $service = new Snep_Form_SubForm($this->view->translate("Services"), $form_xml->service); $form->addSubForm($service, "service"); $form->getElement('submit')->setLabel($this->view->translate("Show Report")); $form->removeElement("cancel"); return $form; }
/** * @return Snep_Form */ protected function getForm() { $this->form = null; if ($this->form === Null) { $form_xml = new Zend_Config_Xml(Zend_Registry::get("config")->system->path->base . "/modules/default/forms/trunks.xml"); $form = new Snep_Form(); $form->addSubForm(new Snep_Form_SubForm($this->view->translate("Trunk"), $form_xml->trunks), "trunks"); $form->addSubForm(new Snep_Form_SubForm($this->view->translate("Interface Technology"), $form_xml->technology), "technology"); $form->addSubForm(new Snep_Form_SubForm(null, $form_xml->ip, "sip"), "sip"); $ip = new Snep_Form_SubForm(null, $form_xml->ip, "iax2"); $iax = new Snep_Form_SubForm(null, $form_xml->iax2, "iax2"); foreach ($iax as $_iax) { $ip->addElement($_iax); } $form->addSubForm($ip, "iax2"); $form->addSubForm(new Snep_Form_SubForm(null, $form_xml->snepsip, "snepsip"), "snepsip"); $snepsip = new Snep_Form_SubForm(null, $form_xml->snepsip, 'snepiax2'); $snep_iax = new Snep_Form_SubForm(null, $form_xml->snepiax2, "snepiax2"); foreach ($snepsip as $_snepsip) { $snep_iax->addElement($_snepsip); } $form->addSubForm($snep_iax, "snepiax2"); $form->addSubForm(new Snep_Form_SubForm(null, $form_xml->virtual, "virtual"), "virtual"); $subFormKhomp = new Snep_Form_SubForm(null, $form_xml->khomp, "khomp"); // Informações de placas khomp $khomp_info = new PBX_Khomp_Info(); $khomp_boards = array(); if ($khomp_info->hasWorkingBoards()) { foreach ($khomp_info->boardInfo() as $board) { if (!preg_match("/FXS/", $board['model'])) { $khomp_boards["b" . $board['id']] = "{$board['id']} - " . $this->view->translate("Board") . " {$board['model']}"; $id = "b" . $board['id']; if (preg_match("/E1/", $board['model'])) { for ($i = 0; $i < $board['links']; $i++) { $khomp_boards["b" . $board['id'] . "l{$i}"] = $board['model'] . " - " . $this->view->translate("Link") . " {$i}"; } } else { for ($i = 0; $i < $board['channels']; $i++) { $khomp_boards["b" . $board['id'] . "c{$i}"] = $board['model'] . " - " . $this->view->translate("Channel") . " {$i}"; } } } } $subFormKhomp->getElement('board')->setMultiOptions($khomp_boards); } if (count($khomp_boards) == 0) { $subFormKhomp->removeElement('board'); $subFormKhomp->addElement(new Snep_Form_Element_Html("extensions/khomp_error.phtml", "err", false, null, "khomp")); } $form->addSubForm($subFormKhomp, "khomp"); $form->addSubForm(new Snep_Form_SubForm($this->view->translate("Advanced"), $form_xml->advanced), "advanced"); $this->form = $form; } return $this->form; }