summaryrefslogtreecommitdiff
path: root/includes/content
diff options
context:
space:
mode:
Diffstat (limited to 'includes/content')
-rw-r--r--includes/content/Content.php14
-rw-r--r--includes/content/ContentHandler.php19
-rw-r--r--includes/content/CssContent.php2
-rw-r--r--includes/content/JavaScriptContent.php2
-rw-r--r--includes/content/TextContent.php2
-rw-r--r--includes/content/WikitextContent.php3
-rw-r--r--includes/content/WikitextContentHandler.php19
7 files changed, 39 insertions, 22 deletions
diff --git a/includes/content/Content.php b/includes/content/Content.php
index 72729b09..5a90e092 100644
--- a/includes/content/Content.php
+++ b/includes/content/Content.php
@@ -40,8 +40,8 @@ interface Content {
* building a full text search index. If no useful representation exists,
* this method returns an empty string.
*
- * @todo: test that this actually works
- * @todo: make sure this also works with LuceneSearch / WikiSearch
+ * @todo Test that this actually works
+ * @todo Make sure this also works with LuceneSearch / WikiSearch
*/
public function getTextForSearchIndex();
@@ -51,11 +51,11 @@ interface Content {
* @return string|false The wikitext to include when another page includes this
* content, or false if the content is not includable in a wikitext page.
*
- * @todo allow native handling, bypassing wikitext representation, like
- * for includable special pages.
- * @todo allow transclusion into other content models than Wikitext!
- * @todo used in WikiPage and MessageCache to get message text. Not so
- * nice. What should we use instead?!
+ * @todo Allow native handling, bypassing wikitext representation, like
+ * for includable special pages.
+ * @todo Allow transclusion into other content models than Wikitext!
+ * @todo Used in WikiPage and MessageCache to get message text. Not so
+ * nice. What should we use instead?!
*/
public function getWikitextForTransclusion();
diff --git a/includes/content/ContentHandler.php b/includes/content/ContentHandler.php
index 9c201955..2a92e233 100644
--- a/includes/content/ContentHandler.php
+++ b/includes/content/ContentHandler.php
@@ -319,7 +319,7 @@ abstract class ContentHandler {
wfRunHooks( 'ContentHandlerForModelID', array( $modelId, &$handler ) );
if ( $handler === null ) {
- throw new MWException( "No handler for model '$modelId'' registered in \$wgContentHandlers" );
+ throw new MWException( "No handler for model '$modelId' registered in \$wgContentHandlers" );
}
if ( !( $handler instanceof ContentHandler ) ) {
@@ -449,10 +449,11 @@ abstract class ContentHandler {
* @since 1.21
*
* @param Title $destination the page to redirect to.
+ * @param string $text text to include in the redirect, if possible.
*
* @return Content
*/
- public function makeRedirectContent( Title $destination ) {
+ public function makeRedirectContent( Title $destination, $text = '' ) {
return null;
}
@@ -937,7 +938,7 @@ abstract class ContentHandler {
* @return ParserOptions
*/
public function makeParserOptions( $context ) {
- global $wgContLang;
+ global $wgContLang, $wgEnableParserLimitReporting;
if ( $context instanceof IContextSource ) {
$options = ParserOptions::newFromContext( $context );
@@ -949,7 +950,7 @@ abstract class ContentHandler {
throw new MWException( "Bad context for parser options: $context" );
}
- $options->enableLimitReport(); // show inclusion/loop reports
+ $options->enableLimitReport( $wgEnableParserLimitReporting ); // show inclusion/loop reports
$options->setTidy( true ); // fix bad HTML
return $options;
@@ -1060,7 +1061,7 @@ abstract class ContentHandler {
if ( isset( $handler[1] ) ) {
$info .= '::' . $handler[1];
}
- } else if ( is_object( $handler ) ) {
+ } elseif ( is_object( $handler ) ) {
$info = get_class( $handler[0] );
$info .= '::on' . $event;
} else {
@@ -1086,8 +1087,8 @@ abstract class ContentHandler {
$contentObjects[$k] = $v;
$v = $v->serialize();
- $contentTexts[ $k ] = $v;
- $args[ $k ] = $v;
+ $contentTexts[$k] = $v;
+ $args[$k] = $v;
}
}
@@ -1098,7 +1099,7 @@ abstract class ContentHandler {
foreach ( $contentTexts as $k => $orig ) {
/* @var Content $content */
- $modified = $args[ $k ];
+ $modified = $args[$k];
$content = $contentObjects[$k];
if ( $modified !== $orig ) {
@@ -1106,7 +1107,7 @@ abstract class ContentHandler {
$content = $content->getContentHandler()->unserializeContent( $modified );
}
- $args[ $k ] = $content;
+ $args[$k] = $content;
}
return $ok;
diff --git a/includes/content/CssContent.php b/includes/content/CssContent.php
index 569d122d..03cc2d00 100644
--- a/includes/content/CssContent.php
+++ b/includes/content/CssContent.php
@@ -46,7 +46,7 @@ class CssContent extends TextContent {
*/
public function preSaveTransform( Title $title, User $user, ParserOptions $popts ) {
global $wgParser;
- // @todo: make pre-save transformation optional for script pages
+ // @todo Make pre-save transformation optional for script pages
$text = $this->getNativeData();
$pst = $wgParser->preSaveTransform( $text, $title, $user, $popts );
diff --git a/includes/content/JavaScriptContent.php b/includes/content/JavaScriptContent.php
index 9cd947f9..2ae572be 100644
--- a/includes/content/JavaScriptContent.php
+++ b/includes/content/JavaScriptContent.php
@@ -46,7 +46,7 @@ class JavaScriptContent extends TextContent {
*/
public function preSaveTransform( Title $title, User $user, ParserOptions $popts ) {
global $wgParser;
- // @todo: make pre-save transformation optional for script pages
+ // @todo Make pre-save transformation optional for script pages
// See bug #32858
$text = $this->getNativeData();
diff --git a/includes/content/TextContent.php b/includes/content/TextContent.php
index 8fafcb63..f66dacd7 100644
--- a/includes/content/TextContent.php
+++ b/includes/content/TextContent.php
@@ -171,7 +171,7 @@ class TextContent extends AbstractContent {
$this->checkModelID( $that->getModel() );
- # @todo: could implement this in DifferenceEngine and just delegate here?
+ // @todo could implement this in DifferenceEngine and just delegate here?
if ( !$lang ) {
$lang = $wgContLang;
diff --git a/includes/content/WikitextContent.php b/includes/content/WikitextContent.php
index 8be4ebab..26337db9 100644
--- a/includes/content/WikitextContent.php
+++ b/includes/content/WikitextContent.php
@@ -61,7 +61,8 @@ class WikitextContent extends TextContent {
$myModelId = $this->getModel();
$sectionModelId = $with->getModel();
- if ( $sectionModelId != $myModelId ) {
+ if ( $sectionModelId != $myModelId ) {
+ wfProfileOut( __METHOD__ );
throw new MWException( "Incompatible content model for section: " .
"document uses $myModelId but " .
"section uses $sectionModelId." );
diff --git a/includes/content/WikitextContentHandler.php b/includes/content/WikitextContentHandler.php
index e1dcc668..b1b461fb 100644
--- a/includes/content/WikitextContentHandler.php
+++ b/includes/content/WikitextContentHandler.php
@@ -55,12 +55,27 @@ class WikitextContentHandler extends TextContentHandler {
* @see ContentHandler::makeRedirectContent
*
* @param Title $destination the page to redirect to.
+ * @param string $text text to include in the redirect, if possible.
*
* @return Content
*/
- public function makeRedirectContent( Title $destination ) {
+ public function makeRedirectContent( Title $destination, $text = '' ) {
+ $optionalColon = '';
+
+ if ( $destination->getNamespace() == NS_CATEGORY ) {
+ $optionalColon = ':';
+ } else {
+ $iw = $destination->getInterwiki();
+ if ( $iw && Language::fetchLanguageName( $iw, null, 'mw' ) ) {
+ $optionalColon = ':';
+ }
+ }
+
$mwRedir = MagicWord::get( 'redirect' );
- $redirectText = $mwRedir->getSynonym( 0 ) . ' [[' . $destination->getPrefixedText() . ']]';
+ $redirectText = $mwRedir->getSynonym( 0 ) . ' [[' . $optionalColon . $destination->getFullText() . ']]';
+ if ( $text != '' ) {
+ $redirectText .= "\n" . $text;
+ }
return new WikitextContent( $redirectText );
}