summaryrefslogtreecommitdiff
path: root/includes/resourceloader/ResourceLoaderWikiModule.php
diff options
context:
space:
mode:
Diffstat (limited to 'includes/resourceloader/ResourceLoaderWikiModule.php')
-rw-r--r--includes/resourceloader/ResourceLoaderWikiModule.php44
1 files changed, 29 insertions, 15 deletions
diff --git a/includes/resourceloader/ResourceLoaderWikiModule.php b/includes/resourceloader/ResourceLoaderWikiModule.php
index 93e66eb0..bad61cb9 100644
--- a/includes/resourceloader/ResourceLoaderWikiModule.php
+++ b/includes/resourceloader/ResourceLoaderWikiModule.php
@@ -32,6 +32,9 @@ defined( 'MEDIAWIKI' ) || die( 1 );
abstract class ResourceLoaderWikiModule extends ResourceLoaderModule {
/* Protected Members */
+
+ # Origin is user-supplied code
+ protected $origin = self::ORIGIN_USER_SITEWIDE;
// In-object cache for title mtimes
protected $titleMtimes = array();
@@ -41,11 +44,15 @@ abstract class ResourceLoaderWikiModule extends ResourceLoaderModule {
abstract protected function getPages( ResourceLoaderContext $context );
/* Protected Methods */
-
+
+ /**
+ * @param $title Title
+ * @return null|string
+ */
protected function getContent( $title ) {
if ( $title->getNamespace() === NS_MEDIAWIKI ) {
- $dbkey = $title->getDBkey();
- return wfEmptyMsg( $dbkey ) ? '' : wfMsgExt( $dbkey, 'content' );
+ $message = wfMessage( $title->getDBkey() )->inContentLanguage();
+ return $message->exists() ? $message->plain() : '';
}
if ( !$title->isCssJsSubpage() ) {
return null;
@@ -59,6 +66,10 @@ abstract class ResourceLoaderWikiModule extends ResourceLoaderModule {
/* Methods */
+ /**
+ * @param $context ResourceLoaderContext
+ * @return string
+ */
public function getScript( ResourceLoaderContext $context ) {
$scripts = '';
foreach ( $this->getPages( $context ) as $titleText => $options ) {
@@ -66,11 +77,12 @@ abstract class ResourceLoaderWikiModule extends ResourceLoaderModule {
continue;
}
$title = Title::newFromText( $titleText );
- if ( !$title ) {
+ if ( !$title || $title->isRedirect() ) {
continue;
}
$script = $this->getContent( $title );
if ( strval( $script ) !== '' ) {
+ $script = $this->validateScriptFile( $titleText, $script );
if ( strpos( $titleText, '*/' ) === false ) {
$scripts .= "/* $titleText */\n";
}
@@ -80,6 +92,10 @@ abstract class ResourceLoaderWikiModule extends ResourceLoaderModule {
return $scripts;
}
+ /**
+ * @param $context ResourceLoaderContext
+ * @return array
+ */
public function getStyles( ResourceLoaderContext $context ) {
global $wgScriptPath;
@@ -89,7 +105,7 @@ abstract class ResourceLoaderWikiModule extends ResourceLoaderModule {
continue;
}
$title = Title::newFromText( $titleText );
- if ( !$title ) {
+ if ( !$title || $title->isRedirect() ) {
continue;
}
$media = isset( $options['media'] ) ? $options['media'] : 'all';
@@ -112,6 +128,10 @@ abstract class ResourceLoaderWikiModule extends ResourceLoaderModule {
return $styles;
}
+ /**
+ * @param $context ResourceLoaderContext
+ * @return int|mixed
+ */
public function getModifiedTime( ResourceLoaderContext $context ) {
$modifiedTime = 1; // wfTimestamp() interprets 0 as "now"
$mtimes = $this->getTitleMtimes( $context );
@@ -120,21 +140,15 @@ abstract class ResourceLoaderWikiModule extends ResourceLoaderModule {
}
return $modifiedTime;
}
-
- public function isKnownEmpty( ResourceLoaderContext $context ) {
- return count( $this->getTitleMtimes( $context ) ) == 0;
- }
-
+
/**
* @param $context ResourceLoaderContext
* @return bool
*/
- public function getFlip( $context ) {
- global $wgContLang;
-
- return $wgContLang->getDir() !== $context->getDirection();
+ public function isKnownEmpty( ResourceLoaderContext $context ) {
+ return count( $this->getTitleMtimes( $context ) ) == 0;
}
-
+
/**
* Get the modification times of all titles that would be loaded for
* a given context.