コード例 #1
0
 /**
  * Test for FormDisplay::registerForm
  *
  * @return void
  */
 public function testRegisterForm()
 {
     $reflection = new \ReflectionClass('FormDisplay');
     $attrForms = $reflection->getProperty('_forms');
     $attrForms->setAccessible(true);
     $array = array("Servers" => array("1" => array('test' => 1, 1 => ':group:end')));
     $this->object->registerForm('pma_testform', $array, 2);
     $_forms = $attrForms->getValue($this->object);
     $this->assertInstanceOf('Form', $_forms['pma_testform']);
     $this->assertEquals(array("Servers/2/test" => "Servers/1/test", "Servers/2/:group:end:0" => "Servers/1/:group:end:0"), $this->readAttribute($this->object, '_systemPaths'));
     $this->assertEquals(array("Servers/2/test" => "Servers-2-test", "Servers/2/:group:end:0" => "Servers-2-:group:end:0"), $this->readAttribute($this->object, '_translatedPaths'));
 }
コード例 #2
0
 /**
  * Constructor
  *
  * @param string $formGroupName The name of config form group to display
  * @param string $elemId        Id of the div containing settings
  */
 public function __construct($formGroupName, $elemId = null)
 {
     global $forms;
     if (empty($forms[$formGroupName])) {
         return;
     }
     if (isset($_REQUEST['printview']) && $_REQUEST['printview'] == '1') {
         return;
     }
     if (!empty($elemId)) {
         $this->_elemId = $elemId;
     }
     $this->_groupName = $formGroupName;
     $cf = new ConfigFile($GLOBALS['PMA_Config']->base_settings);
     PMA_userprefsPageInit($cf);
     $form_display = new FormDisplay($cf);
     foreach ($forms[$formGroupName] as $form_name => $form) {
         // skip Developer form if no setting is available
         if ($form_name == 'Developer' && !$GLOBALS['cfg']['UserprefsDeveloperTab']) {
             continue;
         }
         $form_display->registerForm($form_name, $form, 1);
     }
     // Process form
     $error = null;
     if (isset($_POST['submit_save']) && $_POST['submit_save'] == $formGroupName) {
         $this->_processPageSettings($form_display, $cf, $error);
     }
     // Display forms
     $this->_HTML = $this->_getPageSettingsDisplay($form_display, $error);
 }
コード例 #3
0
ファイル: config.php プロジェクト: mercysmart/naikelas
/* vim: set expandtab sw=4 ts=4 sts=4: */
/**
 * Front controller for config view / download and clear
 *
 * @package PhpMyAdmin-Setup
 */
/**
 * Core libraries.
 */
require './lib/common.inc.php';
require_once './libraries/config/Form.class.php';
require_once './libraries/config/FormDisplay.class.php';
require_once './setup/lib/ConfigGenerator.class.php';
require './libraries/config/setup.forms.php';
$form_display = new FormDisplay($GLOBALS['ConfigFile']);
$form_display->registerForm('_config.php', $forms['_config.php']);
$form_display->save('_config.php');
$config_file_path = $GLOBALS['ConfigFile']->getFilePath();
if (isset($_POST['eol'])) {
    $_SESSION['eol'] = $_POST['eol'] == 'unix' ? 'unix' : 'win';
}
if (PMA_ifSetOr($_POST['submit_clear'], '')) {
    //
    // Clear current config and return to main page
    //
    $GLOBALS['ConfigFile']->resetConfigData();
    // drop post data
    header('HTTP/1.1 303 See Other');
    header('Location: index.php');
    exit;
} elseif (PMA_ifSetOr($_POST['submit_download'], '')) {
コード例 #4
0
require_once './libraries/config/FormDisplay.class.php';
require './libraries/config/user_preferences.forms.php';
PMA_userprefs_pageinit();
// handle form processing
$form_param = filter_input(INPUT_GET, 'form');
if (!isset($forms[$form_param])) {
    $forms_keys = array_keys($forms);
    $form_param = array_shift($forms_keys);
}
$form_display = new FormDisplay();
foreach ($forms[$form_param] as $form_name => $form) {
    // skip Developer form if no setting is available
    if ($form_name == 'Developer' && !$GLOBALS['cfg']['UserprefsDeveloperTab']) {
        continue;
    }
    $form_display->registerForm($form_name, $form, 1);
}
if (isset($_POST['revert'])) {
    // revert erroneous fields to their default values
    $form_display->fixErrors();
    // redirect
    $url_params = array('form' => $form_param);
    PMA_sendHeaderLocation($cfg['PmaAbsoluteUri'] . 'prefs_forms.php' . PMA_generate_common_url($url_params, '&'));
    exit;
}
$error = null;
if ($form_display->process(false) && !$form_display->hasErrors()) {
    // save settings
    $old_settings = PMA_load_userprefs();
    $result = PMA_save_userprefs(ConfigFile::getInstance()->getConfigArray());
    if ($result === true) {
コード例 #5
0
ファイル: prefs_manage.php プロジェクト: yxwzaxns/sakura
     // read from POST value (json)
     $json = filter_input(INPUT_POST, 'json');
 }
 // hide header message
 $_SESSION['userprefs_autoload'] = true;
 $config = json_decode($json, true);
 $return_url = filter_input(INPUT_POST, 'return_url');
 if (!is_array($config)) {
     $error = __('Could not import configuration');
 } else {
     // sanitize input values: treat them as though
     // they came from HTTP POST request
     $form_display = new FormDisplay();
     foreach ($forms as $formset_id => $formset) {
         foreach ($formset as $form_name => $form) {
             $form_display->registerForm($formset_id . ': ' . $form_name, $form);
         }
     }
     $cf = ConfigFile::getInstance();
     $new_config = $cf->getFlatDefaultConfig();
     if (!empty($_POST['import_merge'])) {
         $new_config = array_merge($new_config, $cf->getConfigArray());
     }
     $new_config = array_merge($new_config, $config);
     $_POST_bak = $_POST;
     foreach ($new_config as $k => $v) {
         $_POST[str_replace('/', '-', $k)] = $v;
     }
     $cf->resetConfigData();
     $all_ok = $form_display->process(true, false);
     $all_ok = $all_ok && !$form_display->hasErrors();
コード例 #6
0
ファイル: config.php プロジェクト: wdingsoft/test1.jit
/**
 * Front controller for config view / download and clear
 *
 * @package    phpMyAdmin-setup
 * @author     Piotr Przybylski <*****@*****.**>
 * @license    http://www.gnu.org/licenses/gpl.html GNU GPL 2.0
 * @version    $Id$
 */
/**
 * Core libraries.
 */
require './lib/common.inc.php';
require_once './setup/lib/Form.class.php';
require_once './setup/lib/FormDisplay.class.php';
$form_display = new FormDisplay();
$form_display->registerForm('_config.php');
$form_display->save('_config.php');
$config_file_path = ConfigFile::getInstance()->getFilePath();
if (isset($_POST['eol'])) {
    $_SESSION['eol'] = $_POST['eol'] == 'unix' ? 'unix' : 'win';
}
if (PMA_ifSetOr($_POST['submit_clear'], '')) {
    //
    // Clear current config and return to main page
    //
    $_SESSION['ConfigFile'] = array();
    // drop post data
    header('HTTP/1.1 303 See Other');
    header('Location: index.php');
    exit;
} elseif (PMA_ifSetOr($_POST['submit_download'], '')) {
コード例 #7
0
ファイル: servers.inc.php プロジェクト: shishenkov/zpanel
require_once './setup/lib/Form.class.php';
require_once './setup/lib/FormDisplay.class.php';
require_once './setup/lib/form_processing.lib.php';
$mode = filter_input(INPUT_GET, 'mode');
$id = filter_input(INPUT_GET, 'id', FILTER_VALIDATE_INT);
$cf = ConfigFile::getInstance();
$server_exists = !empty($id) && $cf->get("Servers/{$id}") !== null;
if ($mode == 'edit' && $server_exists) {
    $page_title = $GLOBALS['strSetupServersEdit'] . ' ' . $id . ' <small>(' . $cf->getServerDSN($id) . ')</small>';
} elseif ($mode == 'remove' && $server_exists) {
    $cf->removeServer($id);
    header('Location: index.php');
    exit;
} elseif ($mode == 'revert' && $server_exists) {
    // handled by process_formset()
} else {
    $page_title = $GLOBALS['strSetupServersAdd'];
    $id = 0;
}
?>
<h2><?php 
echo $page_title;
?>
</h2>
<?php 
$form_display = new FormDisplay();
$form_display->registerForm('Server', $id);
$form_display->registerForm('Server_login_options', $id);
$form_display->registerForm('Server_config', $id);
$form_display->registerForm('Server_pmadb', $id);
process_formset($form_display);
コード例 #8
0
ファイル: form.inc.php プロジェクト: alexhava/elixirjuice
 * Form edit view
 *
 * @package    phpMyAdmin-setup
 * @author     Piotr Przybylski <*****@*****.**>
 * @license    http://www.gnu.org/licenses/gpl.html GNU GPL 2.0
 * @version    $Id: form.inc.php 11975 2008-11-24 09:55:30Z nijel $
 */
if (!defined('PHPMYADMIN')) {
    exit;
}
/**
 * Core libraries.
 */
require_once './setup/lib/Form.class.php';
require_once './setup/lib/FormDisplay.class.php';
require_once './setup/lib/form_processing.lib.php';
$formsets = array('features' => array('forms' => array('Import_export', 'Security', 'Sql_queries', 'Other_core_settings')), 'left_frame' => array('forms' => array('Left_frame', 'Left_servers', 'Left_databases', 'Left_tables')), 'main_frame' => array('forms' => array('Startup', 'Browse', 'Edit', 'Tabs', 'Sql_box')), 'import' => array('forms' => array('Import_defaults')), 'export' => array('forms' => array('Export_defaults')));
$formset_id = filter_input(INPUT_GET, 'formset');
$mode = filter_input(INPUT_GET, 'mode');
if (!isset($formsets[$formset_id])) {
    die('Incorrect formset, check $formsets array in setup/frames/form.inc.php');
}
$formset = $formsets[$formset_id];
if (isset($GLOBALS['strSetupFormset_' . $formset_id])) {
    echo '<h2>' . $GLOBALS['strSetupFormset_' . $formset_id] . '</h2>';
}
$form_display = new FormDisplay();
foreach ($formset['forms'] as $form_name) {
    $form_display->registerForm($form_name);
}
process_formset($form_display);