X-Git-Url: https://git.heureux-cyclage.org/?a=blobdiff_plain;ds=sidebyside;f=includes%2FGlobalFunctions.php;h=70784ba5a7542e58b3b89fc3aacfe2973cd19160;hb=fb79f30319b9ad2a7eb0f5f4d1668143ec8f963e;hp=2090d90cb746eb78c7fe8e756d09901260ba402a;hpb=bb866e75d0c6e7e47f59371fd5b9e37fc6e66fc8;p=lhc%2Fweb%2Fwiklou.git diff --git a/includes/GlobalFunctions.php b/includes/GlobalFunctions.php index 2090d90cb7..70784ba5a7 100644 --- a/includes/GlobalFunctions.php +++ b/includes/GlobalFunctions.php @@ -843,10 +843,24 @@ function wfUrlProtocolsWithoutProtRel() { * 1) Does not raise warnings on bad URLs (just returns false). * 2) Handles protocols that don't use :// (e.g., mailto: and news:, as well as * protocol-relative URLs) correctly. - * 3) Adds a "delimiter" element to the array, either '://', ':' or '//' (see (2)). + * 3) Adds a "delimiter" element to the array (see (2)). + * 4) Verifies that the protocol is on the $wgUrlProtocols whitelist. + * 5) Rejects some invalid URLs that parse_url doesn't, e.g. the empty string or URLs starting with + * a line feed character. * * @param string $url A URL to parse - * @return string[]|bool Bits of the URL in an associative array, per PHP docs, false on failure + * @return string[]|bool Bits of the URL in an associative array, or false on failure. + * Possible fields: + * - scheme: URI scheme (protocol), e.g. 'http', 'mailto'. Lowercase, always present, but can + * be an empty string for protocol-relative URLs. + * - delimiter: either '://', ':' or '//'. Always present. + * - host: domain name / IP. Always present, but could be an empty string, e.g. for file: URLs. + * - user: user name, e.g. for HTTP Basic auth URLs such as http://user:pass@example.com/ + * Missing when there is no username. + * - pass: password, same as above. + * - path: path including the leading /. Will be missing when empty (e.g. 'http://example.com') + * - query: query string (as a string; see wfCgiToArray() for parsing it), can be missing. + * - fragment: the part after #, can be missing. */ function wfParseUrl( $url ) { global $wgUrlProtocols; // Allow all protocols defined in DefaultSettings/LocalSettings.php @@ -3447,6 +3461,7 @@ function wfGetMessageCacheStorage() { /** * Get the cache object used by the parser cache * + * @deprecated since 1.30, use MediaWikiServices::getParserCache()->getCacheStorage() * @return BagOStuff */ function wfGetParserCacheStorage() { @@ -3602,6 +3617,7 @@ function wfCanIPUseHTTPS( $ip ) { * @since 1.25 */ function wfIsInfinity( $str ) { + // These are hardcoded elsewhere in MediaWiki (e.g. mediawiki.special.block.js). $infinityValues = [ 'infinite', 'indefinite', 'infinity', 'never' ]; return in_array( $str, $infinityValues ); }