X-Git-Url: https://git.heureux-cyclage.org/?a=blobdiff_plain;f=includes%2Fcontent%2FContentHandler.php;h=f85b00d8ed681dd00698048cf9fbd0e084f22009;hb=b5cddfb27b0d50bd396b1ff92d022b2dec766754;hp=119144a550f7cf8e59e477c2e4ef9cf606cadd2c;hpb=6ead43f2123fec255acccce6bf68f31b51196a55;p=lhc%2Fweb%2Fwiklou.git diff --git a/includes/content/ContentHandler.php b/includes/content/ContentHandler.php index 119144a550..f85b00d8ed 100644 --- a/includes/content/ContentHandler.php +++ b/includes/content/ContentHandler.php @@ -361,7 +361,9 @@ abstract class ContentHandler { public static function getContentModels() { global $wgContentHandlers; - return array_keys( $wgContentHandlers ); + $models = array_keys( $wgContentHandlers ); + Hooks::run( 'GetContentModels', [ &$models ] ); + return $models; } public static function getAllContentFormats() { @@ -617,8 +619,8 @@ abstract class ContentHandler { */ public function createDifferenceEngine( IContextSource $context, $old = 0, $new = 0, $rcid = 0, // FIXME: Deprecated, no longer used - $refreshCache = false, $unhide = false ) { - + $refreshCache = false, $unhide = false + ) { // hook: get difference engine $differenceEngine = null; if ( !Hooks::run( 'GetDifferenceEngine', @@ -897,7 +899,7 @@ abstract class ContentHandler { $onlyAuthor = $row->rev_user_text; // Try to find a second contributor foreach ( $res as $row ) { - if ( $row->rev_user_text != $onlyAuthor ) { // Bug 22999 + if ( $row->rev_user_text != $onlyAuthor ) { // T24999 $onlyAuthor = false; break; } @@ -1005,22 +1007,22 @@ abstract class ContentHandler { * @return ParserOptions */ public function makeParserOptions( $context ) { - global $wgContLang, $wgEnableParserLimitReporting; + global $wgContLang; if ( $context instanceof IContextSource ) { - $options = ParserOptions::newFromContext( $context ); + $user = $context->getUser(); + $lang = $context->getLanguage(); } elseif ( $context instanceof User ) { // settings per user (even anons) - $options = ParserOptions::newFromUser( $context ); + $user = $context; + $lang = null; } elseif ( $context === 'canonical' ) { // canonical settings - $options = ParserOptions::newFromUserAndLang( new User, $wgContLang ); + $user = new User; + $lang = $wgContLang; } else { throw new MWException( "Bad context for parser options: $context" ); } - $options->enableLimitReport( $wgEnableParserLimitReporting ); // show inclusion/loop reports - $options->setTidy( true ); // fix bad HTML - - return $options; + return ParserOptions::newCanonical( $user, $lang ); } /** @@ -1155,8 +1157,11 @@ abstract class ContentHandler { * @return array Map of name=>value for fields * @since 1.28 */ - public function getDataForSearchIndex( WikiPage $page, ParserOutput $output, - SearchEngine $engine ) { + public function getDataForSearchIndex( + WikiPage $page, + ParserOutput $output, + SearchEngine $engine + ) { $fieldData = []; $content = $page->getContent();