diff --git a/actions/admin/settings/122.froxlorvhost.php b/actions/admin/settings/122.froxlorvhost.php index b8994b82..7e1f8879 100644 --- a/actions/admin/settings/122.froxlorvhost.php +++ b/actions/admin/settings/122.froxlorvhost.php @@ -126,7 +126,10 @@ return array( 'type' => 'option', 'default' => '2', 'option_mode' => 'one', - 'option_options_method' => 'getPhpConfigs', + 'option_options_method' => array( + '\\Froxlor\\Http\\PhpConfig', + 'getPhpConfigs' + ), 'save_method' => 'storeSettingField', 'websrv_avail' => array( 'apache2' @@ -170,7 +173,10 @@ return array( 'type' => 'option', 'default' => '2', 'option_mode' => 'one', - 'option_options_method' => 'getPhpConfigs', + 'option_options_method' => array( + '\\Froxlor\\Http\\PhpConfig', + 'getPhpConfigs' + ), 'save_method' => 'storeSettingField', 'visible' => \Froxlor\Settings::Get('phpfpm.enabled') ), diff --git a/actions/admin/settings/135.fcgid.php b/actions/admin/settings/135.fcgid.php index cfa14dda..e3f289e2 100644 --- a/actions/admin/settings/135.fcgid.php +++ b/actions/admin/settings/135.fcgid.php @@ -107,7 +107,9 @@ return array( 'type' => 'option', 'default' => '1', 'option_mode' => 'one', - 'option_options_method' => 'getPhpConfigs', + 'option_options_method' => array( + '\\Froxlor\\Http\\PhpConfig', + 'getPhpConfigs'), 'save_method' => 'storeSettingField' ), 'system_mod_fcgid_idle_timeout' => array( diff --git a/actions/admin/settings/136.phpfpm.php b/actions/admin/settings/136.phpfpm.php index 6b47af76..db1839ce 100644 --- a/actions/admin/settings/136.phpfpm.php +++ b/actions/admin/settings/136.phpfpm.php @@ -39,7 +39,10 @@ return array( 'type' => 'option', 'default' => '1', 'option_mode' => 'one', - 'option_options_method' => 'getPhpConfigs', + 'option_options_method' => array( + '\\Froxlor\\Http\\PhpConfig', + 'getPhpConfigs' + ), 'save_method' => 'storeSettingField' ), 'system_phpfpm_aliasconfigdir' => array( diff --git a/admin_settings.php b/admin_settings.php index 2dd5a0c8..85bcdb73 100644 --- a/admin_settings.php +++ b/admin_settings.php @@ -82,7 +82,7 @@ if ($page == 'overview' && $userinfo['change_serversettings'] == '1') { $_part = isset($_POST['part']) ? $_POST['part'] : ''; } - $fields = buildFormEx($settings_data, $_part); + $fields = \Froxlor\UI\Form::buildFormEx($settings_data, $_part); $settings_page = ''; if ($_part == '') { diff --git a/install/updates/preconfig/0.9/preconfig_0.9.inc.php b/install/updates/preconfig/0.9/preconfig_0.9.inc.php index e247b6cc..b6432c33 100644 --- a/install/updates/preconfig/0.9/preconfig_0.9.inc.php +++ b/install/updates/preconfig/0.9/preconfig_0.9.inc.php @@ -85,7 +85,7 @@ function parseAndOutputPreconfig(&$has_preconfig, &$return, $current_version, $c $description = 'If you have more than one PHP configurations defined in Froxlor you can now set a default one which will be used for every domain.'; $question = 'Select default PHP configuration: '; $question .= ''; - $configs_array = getPhpConfigs(); + $configs_array = \Froxlor\Http\PhpConfig::getPhpConfigs(); $configs = ''; foreach ($configs_array as $idx => $desc) { $configs .= makeoption($desc, $idx, '1'); diff --git a/lib/Froxlor/Http/PhpConfig.php b/lib/Froxlor/Http/PhpConfig.php new file mode 100644 index 00000000..cfb0dd52 --- /dev/null +++ b/lib/Froxlor/Http/PhpConfig.php @@ -0,0 +1,35 @@ +fetch(\PDO::FETCH_ASSOC)) { + if (! isset($configs_array[$row['id']]) && ! in_array($row['id'], $configs_array)) { + $configs_array[$row['id']] = html_entity_decode($row['description']); + } + } + } + return $configs_array; + } +} \ No newline at end of file diff --git a/lib/Froxlor/UI/Form.php b/lib/Froxlor/UI/Form.php new file mode 100644 index 00000000..6f716d17 --- /dev/null +++ b/lib/Froxlor/UI/Form.php @@ -0,0 +1,95 @@ + $groupdetails) { + if (isset($groupdetails['title']) && $groupdetails['title'] != '') { + $fields .= getFormGroupOutput($groupname, $groupdetails); + } + + if (validateFieldDefinition($groupdetails)) { + // Prefetch form fields + foreach ($groupdetails['fields'] as $fieldname => $fielddetails) { + $groupdetails['fields'][$fieldname] = array_merge_prefix($fielddetails, $fielddetails['type'], prefetchFormFieldData($fieldname, $fielddetails)); + $form['groups'][$groupname]['fields'][$fieldname] = $groupdetails['fields'][$fieldname]; + } + + // Collect form field output + foreach ($groupdetails['fields'] as $fieldname => $fielddetails) { + $fields .= getFormFieldOutput($fieldname, $fielddetails); + } + } + } + } + + return $fields; + } + + public static function buildFormEx($form, $part = '') + { + $fields = ''; + + if (validateFormDefinition($form)) { + foreach ($form['groups'] as $groupname => $groupdetails) { + // show overview + if ($part == '') { + if (isset($groupdetails['title']) && $groupdetails['title'] != '') { + $fields .= getFormOverviewGroupOutput($groupname, $groupdetails); + } + } // only show one section + elseif ($part != '' && ($groupname == $part || $part == 'all')) { + /** + * this part checks for the 'websrv_avail' entry in the settings-array + * if found, we check if the current webserver is in the array. + * If this + * is not the case, we change the setting type to "hidden", #502 + */ + $do_show = true; + if (isset($groupdetails['websrv_avail']) && is_array($groupdetails['websrv_avail'])) { + $websrv = Settings::Get('system.webserver'); + if (! in_array($websrv, $groupdetails['websrv_avail'])) { + $do_show = false; + } + } + + // visible = Settings::Get('phpfpm.enabled') for example would result in false if not enabled + // and therefore not shown as intended. Only check if do_show is still true as it might + // be false due to websrv_avail + if (isset($groupdetails['visible']) && $do_show) { + $do_show = $groupdetails['visible']; + } + + // if ($do_show) { + if (isset($groupdetails['title']) && $groupdetails['title'] != '') { + $fields .= getFormGroupOutput($groupname, $groupdetails); + } + + if (validateFieldDefinition($groupdetails)) { + // Prefetch form fields + foreach ($groupdetails['fields'] as $fieldname => $fielddetails) { + $groupdetails['fields'][$fieldname] = array_merge_prefix($fielddetails, $fielddetails['type'], prefetchFormFieldData($fieldname, $fielddetails)); + $form['groups'][$groupname]['fields'][$fieldname] = $groupdetails['fields'][$fieldname]; + } + + // Collect form field output + foreach ($groupdetails['fields'] as $fieldname => $fielddetails) { + $fields .= getFormFieldOutput($fieldname, $fielddetails); + } + } + // } + } + } + } + + return $fields; + } +} \ No newline at end of file diff --git a/lib/functions/formfields/function.buildForm.php b/lib/functions/formfields/function.buildForm.php deleted file mode 100644 index ace8a342..00000000 --- a/lib/functions/formfields/function.buildForm.php +++ /dev/null @@ -1,45 +0,0 @@ - (2003-2009) - * @author Froxlor team (2010-) - * @license GPLv2 http://files.froxlor.org/misc/COPYING.txt - * @package Functions - * - */ -function buildForm($form) -{ - $fields = ''; - - if (validateFormDefinition($form)) { - foreach ($form['groups'] as $groupname => $groupdetails) { - if (isset($groupdetails['title']) && $groupdetails['title'] != '') { - $fields .= getFormGroupOutput($groupname, $groupdetails); - } - - if (validateFieldDefinition($groupdetails)) { - // Prefetch form fields - foreach ($groupdetails['fields'] as $fieldname => $fielddetails) { - $groupdetails['fields'][$fieldname] = array_merge_prefix($fielddetails, $fielddetails['type'], prefetchFormFieldData($fieldname, $fielddetails)); - $form['groups'][$groupname]['fields'][$fieldname] = $groupdetails['fields'][$fieldname]; - } - - // Collect form field output - foreach ($groupdetails['fields'] as $fieldname => $fielddetails) { - $fields .= getFormFieldOutput($fieldname, $fielddetails); - } - } - } - } - - return $fields; -} diff --git a/lib/functions/formfields/function.buildFormEx.php b/lib/functions/formfields/function.buildFormEx.php deleted file mode 100644 index 77202010..00000000 --- a/lib/functions/formfields/function.buildFormEx.php +++ /dev/null @@ -1,74 +0,0 @@ - (2010-) - * @license GPLv2 http://files.froxlor.org/misc/COPYING.txt - * @package Settings - * - */ -function buildFormEx($form, $part = '') -{ - $fields = ''; - - if (validateFormDefinition($form)) { - foreach ($form['groups'] as $groupname => $groupdetails) { - // show overview - if ($part == '') { - if (isset($groupdetails['title']) && $groupdetails['title'] != '') { - $fields .= getFormOverviewGroupOutput($groupname, $groupdetails); - } - } // only show one section - elseif ($part != '' && ($groupname == $part || $part == 'all')) { - /** - * this part checks for the 'websrv_avail' entry in the settings-array - * if found, we check if the current webserver is in the array. - * If this - * is not the case, we change the setting type to "hidden", #502 - */ - $do_show = true; - if (isset($groupdetails['websrv_avail']) && is_array($groupdetails['websrv_avail'])) { - $websrv = Settings::Get('system.webserver'); - if (! in_array($websrv, $groupdetails['websrv_avail'])) { - $do_show = false; - } - } - - // visible = Settings::Get('phpfpm.enabled') for example would result in false if not enabled - // and therefore not shown as intended. Only check if do_show is still true as it might - // be false due to websrv_avail - if (isset($groupdetails['visible']) && $do_show) { - $do_show = $groupdetails['visible']; - } - - // if ($do_show) { - if (isset($groupdetails['title']) && $groupdetails['title'] != '') { - $fields .= getFormGroupOutput($groupname, $groupdetails); - } - - if (validateFieldDefinition($groupdetails)) { - // Prefetch form fields - foreach ($groupdetails['fields'] as $fieldname => $fielddetails) { - $groupdetails['fields'][$fieldname] = array_merge_prefix($fielddetails, $fielddetails['type'], prefetchFormFieldData($fieldname, $fielddetails)); - $form['groups'][$groupname]['fields'][$fieldname] = $groupdetails['fields'][$fieldname]; - } - - // Collect form field output - foreach ($groupdetails['fields'] as $fieldname => $fielddetails) { - $fields .= getFormFieldOutput($fieldname, $fielddetails); - } - } - // } - } - } - } - - return $fields; -} diff --git a/lib/functions/formfields/function.returnField.php b/lib/functions/formfields/function.returnField.php deleted file mode 100644 index 12b44a89..00000000 --- a/lib/functions/formfields/function.returnField.php +++ /dev/null @@ -1,24 +0,0 @@ - (2003-2009) - * @author Froxlor team (2010-) - * @license GPLv2 http://files.froxlor.org/misc/COPYING.txt - * @package Functions - * - */ -function returnField($fieldname, $fielddata, $newfieldvalue) -{ - return array( - $fieldname => $newfieldvalue - ); -} diff --git a/lib/functions/formfields/label/function.getFormFieldOutputLabel.php b/lib/functions/formfields/label/function.getFormFieldOutputLabel.php deleted file mode 100644 index e76c4fef..00000000 --- a/lib/functions/formfields/label/function.getFormFieldOutputLabel.php +++ /dev/null @@ -1,24 +0,0 @@ - (2003-2009) - * @author Froxlor team (2010-) - * @license GPLv2 http://files.froxlor.org/misc/COPYING.txt - * @package Functions - * - */ -function getFormFieldOutputLabel($fieldname, $fielddata) -{ - $label = $fielddata['label']; - eval("\$returnvalue = \"" . \Froxlor\UI\Template::getTemplate("formfields/label", true) . "\";"); - return $returnvalue; -} diff --git a/lib/functions/formfields/label/function.validateFormFieldLabel.php b/lib/functions/formfields/label/function.validateFormFieldLabel.php deleted file mode 100644 index ccc74f45..00000000 --- a/lib/functions/formfields/label/function.validateFormFieldLabel.php +++ /dev/null @@ -1,24 +0,0 @@ - (2003-2009) - * @author Froxlor team (2010-) - * @license GPLv2 http://files.froxlor.org/misc/COPYING.txt - * @package Functions - * - */ -function validateFormFieldLabel($fieldname, $fielddata, $newfieldvalue) -{ - // Return false, in case we happen to have that field in our $input array, so someone doesn't get the chance to save crap to our database - // TODO: Throw some error that actually makes sense - false would just throw unknown error - return false; -} diff --git a/lib/functions/froxlor/function.getPhpConfigs.php b/lib/functions/froxlor/function.getPhpConfigs.php deleted file mode 100644 index 10034fa8..00000000 --- a/lib/functions/froxlor/function.getPhpConfigs.php +++ /dev/null @@ -1,43 +0,0 @@ - (2010-) - * @license GPLv2 http://files.froxlor.org/misc/COPYING.txt - * @package Functions - * - */ - -/** - * returns an array of existing php-configurations - * in our database for the settings-array - * - * @return array - */ -function getPhpConfigs() -{ - $configs_array = array(); - - // check if table exists because this is used in a preconfig - // where the tables possibly does not exist yet - $results = Database::query("SHOW TABLES LIKE '" . TABLE_PANEL_PHPCONFIGS . "'"); - if (! $results) { - $configs_array[1] = 'Default php.ini'; - } else { - // get all configs - $result_stmt = Database::query("SELECT * FROM `" . TABLE_PANEL_PHPCONFIGS . "`"); - while ($row = $result_stmt->fetch(PDO::FETCH_ASSOC)) { - if (! isset($configs_array[$row['id']]) && ! in_array($row['id'], $configs_array)) { - $configs_array[$row['id']] = html_entity_decode($row['description']); - } - } - } - return $configs_array; -}