PMA\libraries\Util::splitURLQuery PHP Method

splitURLQuery() public static method

Splits a URL string by parameter
public static splitURLQuery ( string $url ) : array
$url string the URL
return array the parameter/value pairs, for example [0] db=sakila
    public static function splitURLQuery($url)
    {
        // decode encoded url separators
        $separator = URL::getArgSeparator();
        // on most places separator is still hard coded ...
        if ($separator !== '&') {
            // ... so always replace & with $separator
            $url = str_replace(htmlentities('&'), $separator, $url);
            $url = str_replace('&', $separator, $url);
        }
        $url = str_replace(htmlentities($separator), $separator, $url);
        // end decode
        $url_parts = parse_url($url);
        if (!empty($url_parts['query'])) {
            return explode($separator, $url_parts['query']);
        } else {
            return array();
        }
    }

Usage Example

コード例 #1
0
     $tmanager->setThemeCookie();
 }
 if (isset($config['fontsize']) && $config['fontsize'] != $GLOBALS['PMA_Config']->get('fontsize')) {
     $params['set_fontsize'] = $config['fontsize'];
 }
 if (isset($config['lang']) && $config['lang'] != $GLOBALS['lang']) {
     $params['lang'] = $config['lang'];
 }
 if (isset($config['collation_connection']) && $config['collation_connection'] != $GLOBALS['collation_connection']) {
     $params['collation_connection'] = $config['collation_connection'];
 }
 // save settings
 $result = PMA_saveUserprefs($cf->getConfigArray());
 if ($result === true) {
     if ($return_url) {
         $query = PMA\libraries\Util::splitURLQuery($return_url);
         $return_url = parse_url($return_url, PHP_URL_PATH);
         foreach ($query as $q) {
             $pos = mb_strpos($q, '=');
             $k = mb_substr($q, 0, $pos);
             if ($k == 'token') {
                 continue;
             }
             $params[$k] = mb_substr($q, $pos + 1);
         }
     } else {
         $return_url = 'prefs_manage.php';
     }
     // reload config
     $GLOBALS['PMA_Config']->loadUserPreferences();
     PMA_userprefsRedirect($return_url, $params);
Util