/**
 * This file is part of the Froxlor project.
 * Copyright (c) 2010 the Froxlor Team (see authors).
 *
 * For the full copyright and license information, please view the COPYING
 * file that was distributed with this source code. You can also view the
 * COPYING file online at http://files.froxlor.org/misc/COPYING.txt
 *
 * @copyright  (c) the authors
 * @author     Froxlor team <*****@*****.**> (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);
                }
            } 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;
}
/**
 * This file is part of the Froxlor project.
 * Copyright (c) 2010 the Froxlor Team (see authors).
 *
 * For the full copyright and license information, please view the COPYING
 * file that was distributed with this source code. You can also view the
 * COPYING file online at http://files.froxlor.org/misc/COPYING.txt
 *
 * @copyright  (c) the authors
 * @author     Froxlor team <*****@*****.**> (2010-)
 * @license    GPLv2 http://files.froxlor.org/misc/COPYING.txt
 * @package    Settings
 *
 */
function buildFormEx($form, $part = '')
{
    global $settings;
    $fields = '';
    if (validateFormDefinition($form)) {
        foreach ($form['groups'] as $groupname => $groupdetails) {
            // show overview
            if ($part == '') {
                if (isset($groupdetails['title']) && $groupdetails['title'] != '') {
                    $fields .= getFormOverviewGroupOutput($groupname, $groupdetails);
                }
            } 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['system']['webserver'];
                    if (!in_array($websrv, $groupdetails['websrv_avail'])) {
                        $do_show = false;
                    }
                }
                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;
}
Example #3
0
/**
 * This file is part of the Froxlor project.
 * Copyright (c) 2003-2009 the SysCP Team (see authors).
 * Copyright (c) 2010 the Froxlor Team (see authors).
 *
 * For the full copyright and license information, please view the COPYING
 * file that was distributed with this source code. You can also view the
 * COPYING file online at http://files.froxlor.org/misc/COPYING.txt
 *
 * @copyright  (c) the authors
 * @author     Florian Lippert <*****@*****.**> (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;
}