public static function parse_parameters($input)
 {
     if (!isset($input) || !$input) {
         return array();
     }
     $pairs = explode('&', $input);
     $parsed_parameters = array();
     foreach ($pairs as $pair) {
         $split = explode('=', $pair, 2);
         $parameter = OAuthUtilFTS::urldecode_rfc3986($split[0]);
         $value = isset($split[1]) ? OAuthUtilFTS::urldecode_rfc3986($split[1]) : '';
         if (isset($parsed_parameters[$parameter])) {
             // We have already recieved parameter(s) with this name, so add to the list
             // of parameters with this name
             if (is_scalar($parsed_parameters[$parameter])) {
                 // This is the first duplicate, so transform scalar (string) into an array
                 // so we can add the duplicates
                 $parsed_parameters[$parameter] = array($parsed_parameters[$parameter]);
             }
             $parsed_parameters[$parameter][] = $value;
         } else {
             $parsed_parameters[$parameter] = $value;
         }
     }
     return $parsed_parameters;
 }