Server IP : 127.0.0.2 / Your IP : 3.23.59.191 Web Server : Apache/2.4.18 (Ubuntu) System : User : www-data ( ) PHP Version : 7.0.33-0ubuntu0.16.04.16 Disable Function : disk_free_space,disk_total_space,diskfreespace,dl,exec,fpaththru,getmyuid,getmypid,highlight_file,ignore_user_abord,leak,listen,link,opcache_get_configuration,opcache_get_status,passthru,pcntl_alarm,pcntl_fork,pcntl_waitpid,pcntl_wait,pcntl_wifexited,pcntl_wifstopped,pcntl_wifsignaled,pcntl_wexitstatus,pcntl_wtermsig,pcntl_wstopsig,pcntl_signal,pcntl_signal_dispatch,pcntl_get_last_error,pcntl_strerror,pcntl_sigprocmask,pcntl_sigwaitinfo,pcntl_sigtimedwait,pcntl_exec,pcntl_getpriority,pcntl_setpriority,php_uname,phpinfo,posix_ctermid,posix_getcwd,posix_getegid,posix_geteuid,posix_getgid,posix_getgrgid,posix_getgrnam,posix_getgroups,posix_getlogin,posix_getpgid,posix_getpgrp,posix_getpid,posix,_getppid,posix_getpwnam,posix_getpwuid,posix_getrlimit,posix_getsid,posix_getuid,posix_isatty,posix_kill,posix_mkfifo,posix_setegid,posix_seteuid,posix_setgid,posix_setpgid,posix_setsid,posix_setuid,posix_times,posix_ttyname,posix_uname,pclose,popen,proc_open,proc_close,proc_get_status,proc_nice,proc_terminate,shell_exec,source,show_source,system,virtual MySQL : OFF | cURL : ON | WGET : ON | Perl : ON | Python : ON | Sudo : ON | Pkexec : ON Directory : /usr/share/phpmyadmin/libraries/config/ |
Upload File : |
<?php /* vim: set expandtab sw=4 ts=4 sts=4: */ /** * Page-related settings * * @package PhpMyAdmin */ 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'; require 'libraries/config/page_settings.forms.php'; /** * Page-related settings * * @package PhpMyAdmin */ class PMA_PageSettings { /** * Contains id of the form element * @var string */ private $_elemId = 'page_settings_modal'; /** * Name of the group to show * @var string */ private $_groupName = ''; /** * Contains HTML of errors * @var string */ private $_errorHTML = ''; /** * Contains HTML of settings * @var string */ private $_HTML = ''; /** * 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); } /** * Process response to form * * @param FormDisplay &$form_display Form * @param ConfigFile &$cf Configuration file * @param PMA_Message|null &$error Error message * * @return void */ private function _processPageSettings(&$form_display, &$cf, &$error) { if ($form_display->process(false) && !$form_display->hasErrors()) { // save settings $result = PMA_saveUserprefs($cf->getConfigArray()); if ($result === true) { // reload page header('Location: ' . $_SERVER['REQUEST_URI']); exit(); } else { $error = $result; } } } /** * Store errors in _errorHTML * * @param FormDisplay &$form_display Form * @param PMA_Message|null &$error Error message * * @return void */ private function _storeError(&$form_display, &$error) { $retval = ''; if ($error) { $retval .= $error->getDisplay(); } if ($form_display->hasErrors()) { // form has errors $retval .= '<div class="error config-form">' . '<b>' . __( 'Cannot save settings, submitted configuration form contains ' . 'errors!' ) . '</b>' . $form_display->displayErrors() . '</div>'; } $this->_errorHTML = $retval; } /** * Display page-related settings * * @param FormDisplay &$form_display Form * @param PMA_Message &$error Error message * * @return string */ private function _getPageSettingsDisplay(&$form_display, &$error) { $response = PMA_Response::getInstance(); $retval = ''; $this->_storeError($form_display, $error); $retval .= '<div id="' . $this->_elemId . '">'; $retval .= '<div class="page_settings">'; $retval .= $form_display->getDisplay( true, true, false, $response->getFooter()->getSelfUrl('unencoded'), array( 'submit_save' => $this->_groupName ) ); $retval .= '</div>'; $retval .= '</div>'; return $retval; } /** * Get HTML output * * @return string */ public function getHTML() { return $this->_HTML; } /** * Get error HTML output * * @return string */ public function getErrorHTML() { return $this->_errorHTML; } /** * Group to show for Page-related settings * @param string $formGroupName The name of config form group to display * @return PMA_PageSettings */ public static function showGroup($formGroupName) { $object = new PMA_PageSettings($formGroupName); $response = PMA_Response::getInstance(); $response->addHTML($object->getErrorHTML()); $response->addHTML($object->getHTML()); return $object; } /** * Get HTML for navigation settings * @return string */ public static function getNaviSettings() { $object = new PMA_PageSettings('Navi_panel', 'pma_navigation_settings'); $response = PMA_Response::getInstance(); $response->addHTML($object->getErrorHTML()); return $object->getHTML(); } }