Exemplo n.º 1
0
 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;
 }
Exemplo n.º 2
0
 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");
 }
Exemplo n.º 3
0
 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;
 }
Exemplo n.º 4
0
 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;
 }
Exemplo n.º 5
0
 /**
  * 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;
 }
Exemplo n.º 6
0
 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;
 }
Exemplo n.º 7
0
 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;
 }
Exemplo n.º 8
0
 /**
  * @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;
 }