コード例 #1
0
 private function _initConfigsForm($section, $namespace, $configs = array(), $posts = null)
 {
     if (self::$configForm === null) {
         self::$configForm = new Application_Form_AutoConfigs($configs);
         self::$configForm->setAction($this->_helper->url->url(array('action' => 'save', 'controller' => 'config'), 'default', false));
         if ($posts !== null && is_array($posts)) {
             self::$configForm->setDefaults($posts);
         }
         foreach (self::$configForm->getElements() as $key => $element) {
             // plugins prepare known elements
             X_VlcShares_Plugins::broker()->prepareConfigElement($section, $namespace, $key, $element, self::$configForm, $this);
         }
         if ($posts !== null && is_array($posts)) {
             // reset errors
             //self::$configForm->setErrors(array());
             self::$configForm->isValid($posts);
         }
     }
     /*
     if ( $posts !== null && is_array($posts)  ) {
     	$this->configForm->isValid($posts);
     }
     */
     return self::$configForm;
 }
コード例 #2
0
 private function prepareGeneralElementsForm(Application_Form_AutoConfigs $form)
 {
     try {
         if ($form->getElement('general_languageFile')) {
             $languages = array();
             foreach (new DirectoryIterator(APPLICATION_PATH . "/../languages/") as $entry) {
                 if ($entry->isFile() && pathinfo($entry->getFilename(), PATHINFO_EXTENSION) == 'ini') {
                     if (count(explode('.', $entry->getFilename())) == 2) {
                         $languages[$entry->getFilename()] = $entry->getFilename();
                     }
                 }
             }
             $form->general_languageFile->setMultiOptions($languages);
         }
     } catch (Exception $e) {
         //X_Debug::w("No language settings? O_o");
     }
     try {
         if ($form->getElement('general_debug_level')) {
             $form->general_debug_level->setMultiOptions(array('-1' => '-1: ' . X_Env::_('config_debug_level_optforced'), '0' => '0: ' . X_Env::_('config_debug_level_optfatal'), '1' => '1: ' . X_Env::_('config_debug_level_opterror'), '2' => '2: ' . X_Env::_('config_debug_level_optwarning'), '3' => '3: ' . X_Env::_('config_debug_level_optinfo')));
         }
     } catch (Exception $e) {
         //X_Debug::w("No debug level settings? O_o");
     }
     try {
         if ($form->getElement('vlc_version')) {
             $form->vlc_version->setMultiOptions(array('1.1.x' => '<= 1.1.x', '2.x' => '2.x'));
         }
     } catch (Exception $e) {
         //X_Debug::w("No vlc version setting? O_o");
     }
     try {
         if ($form->getElement('helpers_devices_gui')) {
             $_guis = X_VlcShares_Plugins::broker()->getPlugins();
             $guis = array();
             foreach ($_guis as $gui) {
                 if ($gui instanceof X_VlcShares_Plugins_RendererInterface) {
                     $guis[get_class($gui)] = "{$gui->getName()} - {$gui->getDescription()}";
                 }
             }
             $form->helpers_devices_gui->setMultiOptions($guis);
         }
     } catch (Exception $e) {
         //X_Debug::w("No gui settings");
     }
     try {
         if ($form->getElement('helpers_devices_profile')) {
             $_profiles = Application_Model_ProfilesMapper::i()->fetchAll();
             foreach ($_profiles as $profile) {
                 $profiles[$profile->getId()] = "{$profile->getId()} - {$profile->getLabel()}";
             }
             $form->helpers_devices_profile->setMultiOptions($profiles);
         }
     } catch (Exception $e) {
         //X_Debug::w("No gui settings");
     }
 }