/**
  * 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);
 }
    /**
     * Test for PMA_userprefsPageInit
     *
     * @return void
     */
    public function testUserPrefPageInit()
    {
        $GLOBALS['cfg'] = array(
            'Server/hide_db' => 'testval123',
            'Server/only_db' => 'test213'
        );
        $GLOBALS['cfg']['AvailableCharsets'] = array();
        $GLOBALS['forms'] = array(
            'form1' => array(
                array('Servers/1/hide_db', 'bar'),
                array('test' => 'val')
            )
        );

        PMA_userprefsPageInit(new ConfigFile());

        $this->assertEquals(
            array(
                'Servers' => array(
                    1 => array(
                        'hide_db' => 'testval123'
                    )
                )
            ),
            $_SESSION['ConfigFile' . $GLOBALS['server']]
        );
    }
use PMA\libraries\config\ConfigFile;
use PMA\libraries\config\FormDisplay;
use PMA\libraries\Message;
use PMA\libraries\Response;
use PMA\libraries\PMA_String;
use PMA\libraries\Util;
/**
 * Gets some core libraries and displays a top message if required
 */
require_once 'libraries/common.inc.php';
require_once 'libraries/user_preferences.lib.php';
require_once 'libraries/config/config_functions.lib.php';
require_once 'libraries/config/messages.inc.php';
require 'libraries/config/user_preferences.forms.php';
$cf = new ConfigFile($GLOBALS['PMA_Config']->base_settings);
PMA_userprefsPageInit($cf);
$error = '';
if (isset($_POST['submit_export']) && isset($_POST['export_type']) && $_POST['export_type'] == 'text_file') {
    // export to JSON file
    PMA\libraries\Response::getInstance()->disable();
    $filename = 'phpMyAdmin-config-' . urlencode(PMA_getenv('HTTP_HOST')) . '.json';
    PMA_downloadHeader($filename, 'application/json');
    $settings = PMA_loadUserprefs();
    echo json_encode($settings['config_data'], JSON_PRETTY_PRINT);
    exit;
} else {
    if (isset($_POST['submit_get_json'])) {
        $settings = PMA_loadUserprefs();
        $response = PMA\libraries\Response::getInstance();
        $response->addJSON('prefs', json_encode($settings['config_data']));
        $response->addJSON('mtime', $settings['mtime']);
Beispiel #4
0
 * User preferences management page
 *
 * @package PhpMyAdmin
 */
/**
 * Gets some core libraries and displays a top message if required
 */
require_once 'libraries/common.inc.php';
require_once 'libraries/user_preferences.lib.php';
require_once 'libraries/config/config_functions.lib.php';
require_once 'libraries/config/messages.inc.php';
require_once 'libraries/config/ConfigFile.class.php';
require_once 'libraries/config/Form.class.php';
require_once 'libraries/config/FormDisplay.class.php';
require 'libraries/config/user_preferences.forms.php';
PMA_userprefsPageInit();
$error = '';
if (isset($_POST['submit_export']) && filter_input(INPUT_POST, 'export_type') == 'text_file') {
    // export to JSON file
    PMA_Response::getInstance()->disable();
    $filename = 'phpMyAdmin-config-' . urlencode(PMA_getenv('HTTP_HOST')) . '.json';
    PMA_downloadHeader($filename, 'application/json');
    $settings = PMA_loadUserprefs();
    echo json_encode($settings['config_data']);
    exit;
} else {
    if (isset($_POST['submit_get_json'])) {
        $settings = PMA_loadUserprefs();
        $response = PMA_Response::getInstance();
        $response->addJSON('prefs', json_encode($settings['config_data']));
        $response->addJSON('mtime', $settings['mtime']);