From 7c9a49082c0a766ecb660b45dc935996e141bfb3 Mon Sep 17 00:00:00 2001 From: umherirrender Date: Thu, 11 Apr 2013 20:22:11 +0200 Subject: [PATCH] Use wfAppendQuery to append a query Also pass a array to wfAppendQuery, which than does the urlencoding. Prefer a wfScript() over the global or string Change-Id: Icada534cb4c99c9441938a2e8dcbc11a142360c6 --- includes/Linker.php | 4 ++-- includes/SpecialPage.php | 9 ++++----- includes/filerepo/file/File.php | 2 +- includes/media/ImageHandler.php | 2 +- includes/resourceloader/ResourceLoaderStartUpModule.php | 4 ++-- includes/site/MediaWikiSite.php | 2 +- includes/specials/SpecialContributions.php | 2 +- 7 files changed, 12 insertions(+), 13 deletions(-) diff --git a/includes/Linker.php b/includes/Linker.php index e4222e3c49..3e8a3c9f8c 100644 --- a/includes/Linker.php +++ b/includes/Linker.php @@ -238,7 +238,7 @@ class Linker { # Note: we want the href attribute first, for prettiness. $attribs = array( 'href' => self::linkUrl( $target, $query, $options ) ); if ( in_array( 'forcearticlepath', $options ) && $oldquery ) { - $attribs['href'] = wfAppendQuery( $attribs['href'], wfArrayToCgi( $oldquery ) ); + $attribs['href'] = wfAppendQuery( $attribs['href'], $oldquery ); } $attribs = array_merge( @@ -840,7 +840,7 @@ class Linker { # zoom icon still needs it, so we make a unique query for it. See bug 14771 $url = $title->getLocalURL( $query ); if ( $page ) { - $url = wfAppendQuery( $url, 'page=' . urlencode( $page ) ); + $url = wfAppendQuery( $url, array( 'page' => $page ) ); } if ( $manualthumb && !isset( $fp['link-title'] ) && diff --git a/includes/SpecialPage.php b/includes/SpecialPage.php index d09be875de..d8f6fd9d18 100644 --- a/includes/SpecialPage.php +++ b/includes/SpecialPage.php @@ -842,11 +842,11 @@ class SpecialPage { protected function addFeedLinks( $params ) { global $wgFeedClasses; - $feedTemplate = wfScript( 'api' ) . '?'; + $feedTemplate = wfScript( 'api' ); foreach ( $wgFeedClasses as $format => $class ) { $theseParams = $params + array( 'feedformat' => $format ); - $url = $feedTemplate . wfArrayToCgi( $theseParams ); + $url = wfAppendQuery( $feedTemplate, $theseParams ); $this->getOutput()->addFeedLink( $format, $url ); } } @@ -1093,10 +1093,9 @@ abstract class RedirectSpecialPage extends UnlistedSpecialPage { $url = $redirect->getFullURL( $query ); $this->getOutput()->redirect( $url ); return $redirect; - // Redirect to index.php with query parameters } elseif ( $redirect === true ) { - global $wgScript; - $url = $wgScript . '?' . wfArrayToCgi( $query ); + // Redirect to index.php with query parameters + $url = wfAppendQuery( wfScript( 'index' ), $query ); $this->getOutput()->redirect( $url ); return $redirect; } else { diff --git a/includes/filerepo/file/File.php b/includes/filerepo/file/File.php index d72755a468..64155e600f 100644 --- a/includes/filerepo/file/File.php +++ b/includes/filerepo/file/File.php @@ -737,7 +737,7 @@ abstract class File { if ( $this->repo ) { $script = $this->repo->getThumbScriptUrl(); if ( $script ) { - $this->transformScript = "$script?f=" . urlencode( $this->getName() ); + $this->transformScript = wfAppendQuery( $script, array( 'f' => $this->getName() ) ); } } } diff --git a/includes/media/ImageHandler.php b/includes/media/ImageHandler.php index ad9919b85e..6ee0399b04 100644 --- a/includes/media/ImageHandler.php +++ b/includes/media/ImageHandler.php @@ -187,7 +187,7 @@ abstract class ImageHandler extends MediaHandler { if ( !$this->normaliseParams( $image, $params ) ) { return false; } - $url = $script . '&' . wfArrayToCgi( $this->getScriptParams( $params ) ); + $url = wfAppendQuery( $script, $this->getScriptParams( $params ) ); if( $image->mustRender() || $params['width'] < $image->getWidth() ) { return new ThumbnailImage( $image, $url, false, $params ); diff --git a/includes/resourceloader/ResourceLoaderStartUpModule.php b/includes/resourceloader/ResourceLoaderStartUpModule.php index 24cdeb0887..5919cde518 100644 --- a/includes/resourceloader/ResourceLoaderStartUpModule.php +++ b/includes/resourceloader/ResourceLoaderStartUpModule.php @@ -185,7 +185,7 @@ class ResourceLoaderStartUpModule extends ResourceLoaderModule { * @return string */ public function getScript( ResourceLoaderContext $context ) { - global $IP, $wgLoadScript, $wgLegacyJavaScriptGlobals; + global $IP, $wgLegacyJavaScriptGlobals; $out = file_get_contents( "$IP/resources/startup.js" ); if ( $context->getOnly() === 'scripts' ) { @@ -225,7 +225,7 @@ class ResourceLoaderStartUpModule extends ResourceLoaderModule { "};\n"; // Conditional script injection - $scriptTag = Html::linkedScript( $wgLoadScript . '?' . wfArrayToCgi( $query ) ); + $scriptTag = Html::linkedScript( wfAppendQuery( wfScript( 'load' ), $query ) ); $out .= "if ( isCompatible() ) {\n" . "\t" . Xml::encodeJsCall( 'document.write', array( $scriptTag ) ) . "}\n" . diff --git a/includes/site/MediaWikiSite.php b/includes/site/MediaWikiSite.php index 21226fd074..4cd48b88e3 100644 --- a/includes/site/MediaWikiSite.php +++ b/includes/site/MediaWikiSite.php @@ -130,7 +130,7 @@ class MediaWikiSite extends Site { // Also consider smaxage if maxage is used. ); - $url = $this->getFileUrl( 'api.php' ) . '?' . wfArrayToCgi( $args ); + $url = wfAppendQuery( $this->getFileUrl( wfScript( 'api' ) ), $args ); // Go on call the external site //@todo: we need a good way to specify a timeout here. diff --git a/includes/specials/SpecialContributions.php b/includes/specials/SpecialContributions.php index e985811947..932f05e14a 100644 --- a/includes/specials/SpecialContributions.php +++ b/includes/specials/SpecialContributions.php @@ -155,7 +155,7 @@ class SpecialContributions extends SpecialPage { $apiParams['month'] = $this->opts['month']; } - $url = wfScript( 'api' ) . '?' . wfArrayToCgi( $apiParams ); + $url = wfAppendQuery( wfScript( 'api' ), $apiParams ); $out->redirect( $url, '301' ); return; -- 2.20.1