X-Git-Url: https://git.heureux-cyclage.org/?p=lhc%2Fweb%2Fwiklou.git;a=blobdiff_plain;f=includes%2FOutputPage.php;h=fc7fbf7220aaab202a03ee5cc54c6dca246cb8fe;hp=92963fd18b4d2909714dc20e252cfb500bcc7e38;hb=11ee7f78da9776db26098642a151a288f98bea14;hpb=e74ba29aa6b86995a79200fc8b1bb2932d3a1675 diff --git a/includes/OutputPage.php b/includes/OutputPage.php index 92963fd18b..fc7fbf7220 100644 --- a/includes/OutputPage.php +++ b/includes/OutputPage.php @@ -23,8 +23,9 @@ use MediaWiki\Logger\LoggerFactory; use MediaWiki\MediaWikiServices; use MediaWiki\Session\SessionManager; -use WrappedString\WrappedString; -use WrappedString\WrappedStringList; +use Wikimedia\RelPath; +use Wikimedia\WrappedString; +use Wikimedia\WrappedStringList; /** * This class should be covered by a general architecture document which does @@ -323,7 +324,7 @@ class OutputPage extends ContextSource { /** * Redirect to $url rather than displaying the normal page * - * @param string $url URL + * @param string $url * @param string $responsecode HTTP status code */ public function redirect( $url, $responsecode = '302' ) { @@ -366,8 +367,8 @@ class OutputPage extends ContextSource { * Add a new "" tag * To add an http-equiv meta tag, precede the name with "http:" * - * @param string $name Tag name - * @param string $val Tag value + * @param string $name Name of the meta tag + * @param string $val Value of the meta tag */ function addMeta( $name, $val ) { array_push( $this->mMetatags, [ $name, $val ] ); @@ -3243,6 +3244,8 @@ class OutputPage extends ContextSource { && ( $relevantTitle->exists() || $relevantTitle->quickUserCan( 'create', $user ) ); foreach ( $title->getRestrictionTypes() as $type ) { + // Following keys are set in $vars: + // wgRestrictionCreate, wgRestrictionEdit, wgRestrictionMove, wgRestrictionUpload $vars['wgRestriction' . ucfirst( $type )] = $title->getRestrictions( $type ); } @@ -3331,10 +3334,14 @@ class OutputPage extends ContextSource { ] ); if ( $config->get( 'ReferrerPolicy' ) !== false ) { - $tags['meta-referrer'] = Html::element( 'meta', [ - 'name' => 'referrer', - 'content' => $config->get( 'ReferrerPolicy' ) - ] ); + // Per https://w3c.github.io/webappsec-referrer-policy/#unknown-policy-values + // fallbacks should come before the primary value so we need to reverse the array. + foreach ( array_reverse( (array)$config->get( 'ReferrerPolicy' ) ) as $i => $policy ) { + $tags["meta-referrer-$i"] = Html::element( 'meta', [ + 'name' => 'referrer', + 'content' => $policy, + ] ); + } } $p = "{$this->mIndexPolicy},{$this->mFollowPolicy}"; @@ -3812,7 +3819,7 @@ class OutputPage extends ContextSource { $remotePathPrefix = $remotePath = $uploadPath; } - $path = RelPath\getRelativePath( $path, $remotePath ); + $path = RelPath::getRelativePath( $path, $remotePath ); return self::transformFilePath( $remotePathPrefix, $localDir, $path ); }