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; }
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"); } }