X-Git-Url: http://git.cyclocoop.org/?a=blobdiff_plain;f=includes%2FOutputPage.php;h=97165b46130401a79695f4333d9fbaaa030da419;hb=47a052b797ef8ef650aa799261c984f6abc295d8;hp=f85df95f471016ba1ba70d33a3e431abec0d8e60;hpb=827d8dc02897e9df82221bf9da0845227cc1b0c7;p=lhc%2Fweb%2Fwiklou.git diff --git a/includes/OutputPage.php b/includes/OutputPage.php index f85df95f47..97165b4613 100644 --- a/includes/OutputPage.php +++ b/includes/OutputPage.php @@ -229,9 +229,6 @@ class OutputPage extends ContextSource { /** @var string */ private $mPageTitleActionText = ''; - /** @var array */ - private $mParseWarnings = array(); - /** @var int Cache stuff. Looks like mEnableClientCache */ protected $mCdnMaxage = 0; /** @var int Upper limit on mCdnMaxage */ @@ -816,7 +813,7 @@ class OutputPage extends ContextSource { $clientHeader = $this->getRequest()->getHeader( 'If-Modified-Since' ); if ( $clientHeader === false ) { - wfDebug( __METHOD__ . ": client did not send If-Modified-Since header\n", 'log' ); + wfDebug( __METHOD__ . ": client did not send If-Modified-Since header", 'private' ); return false; } @@ -845,17 +842,17 @@ class OutputPage extends ContextSource { } wfDebug( __METHOD__ . ": client sent If-Modified-Since: " . - wfTimestamp( TS_ISO_8601, $clientHeaderTime ) . "\n", 'log' ); + wfTimestamp( TS_ISO_8601, $clientHeaderTime ), 'private' ); wfDebug( __METHOD__ . ": effective Last-Modified: " . - wfTimestamp( TS_ISO_8601, $maxModified ) . "\n", 'log' ); + wfTimestamp( TS_ISO_8601, $maxModified ), 'private' ); if ( $clientHeaderTime < $maxModified ) { - wfDebug( __METHOD__ . ": STALE, $info\n", 'log' ); + wfDebug( __METHOD__ . ": STALE, $info", 'private' ); return false; } # Not modified # Give a 304 Not Modified response code and disable body output - wfDebug( __METHOD__ . ": NOT MODIFIED, $info\n", 'log' ); + wfDebug( __METHOD__ . ": NOT MODIFIED, $info", 'private' ); ini_set( 'zlib.output_compression', 0 ); $this->getRequest()->response()->statusHeader( 304 ); $this->sendCacheControl(); @@ -1773,7 +1770,6 @@ class OutputPage extends ContextSource { $this->mNewSectionLink = $parserOutput->getNewSection(); $this->mHideNewSectionLink = $parserOutput->getHideNewSection(); - $this->mParseWarnings = $parserOutput->getWarnings(); if ( !$parserOutput->isCacheable() ) { $this->enableClientCache( false ); } @@ -2184,7 +2180,7 @@ class OutputPage extends ContextSource { # We'll purge the proxy cache explicitly, but require end user agents # to revalidate against the proxy on each visit. # Surrogate-Control controls our CDN, Cache-Control downstream caches - wfDebug( __METHOD__ . ": proxy caching with ESI; {$this->mLastModified} **\n", 'log' ); + wfDebug( __METHOD__ . ": proxy caching with ESI; {$this->mLastModified} **", 'private' ); # start with a shorter timeout for initial testing # header( 'Surrogate-Control: max-age=2678400+2678400, content="ESI/1.0"'); $response->header( 'Surrogate-Control: max-age=' . $config->get( 'SquidMaxage' ) @@ -2195,7 +2191,7 @@ class OutputPage extends ContextSource { # to revalidate against the proxy on each visit. # IMPORTANT! The CDN needs to replace the Cache-Control header with # Cache-Control: s-maxage=0, must-revalidate, max-age=0 - wfDebug( __METHOD__ . ": local proxy caching; {$this->mLastModified} **\n", 'log' ); + wfDebug( __METHOD__ . ": local proxy caching; {$this->mLastModified} **", 'private' ); # start with a shorter timeout for initial testing # header( "Cache-Control: s-maxage=2678400, must-revalidate, max-age=0" ); $response->header( 'Cache-Control: s-maxage=' . $this->mCdnMaxage @@ -2204,7 +2200,7 @@ class OutputPage extends ContextSource { } else { # We do want clients to cache if they can, but they *must* check for updates # on revisiting the page. - wfDebug( __METHOD__ . ": private caching; {$this->mLastModified} **\n", 'log' ); + wfDebug( __METHOD__ . ": private caching; {$this->mLastModified} **", 'private' ); $response->header( 'Expires: ' . gmdate( 'D, d M Y H:i:s', 0 ) . ' GMT' ); $response->header( "Cache-Control: private, must-revalidate, max-age=0" ); } @@ -2212,7 +2208,7 @@ class OutputPage extends ContextSource { $response->header( "Last-Modified: {$this->mLastModified}" ); } } else { - wfDebug( __METHOD__ . ": no caching **\n", 'log' ); + wfDebug( __METHOD__ . ": no caching **", 'private' ); # In general, the absence of a last modified header should be enough to prevent # the client from using its cache. We send a few other things just to make sure. @@ -2338,15 +2334,6 @@ class OutputPage extends ContextSource { print $ins; } - /** - * Produce a "user is blocked" page. - * @deprecated since 1.18 - */ - function blockedPage() { - wfDeprecated( __METHOD__, '1.18' ); - throw new UserBlockedError( $this->getUser()->mBlock ); - } - /** * Prepare this object to display an error page; disable caching and * indexing, clear the current text and redirect, set the page's title @@ -2488,27 +2475,6 @@ class OutputPage extends ContextSource { $this->returnToMain(); } - /** - * Display an error page noting that a given permission bit is required. - * @deprecated since 1.18, just throw the exception directly - * @param string $permission Key required - * @throws PermissionsError - */ - public function permissionRequired( $permission ) { - wfDeprecated( __METHOD__, '1.18' ); - throw new PermissionsError( $permission ); - } - - /** - * Produce the stock "please login to use the wiki" page - * - * @deprecated since 1.19; throw the exception directly - */ - public function loginToUse() { - wfDeprecated( __METHOD__, '1.19' ); - throw new PermissionsError( 'read' ); - } - /** * Format a list of error messages * @@ -3512,13 +3478,15 @@ class OutputPage extends ContextSource { # Feeds if ( $config->get( 'Feed' ) ) { + $feedLinks = array(); + foreach ( $this->getSyndicationLinks() as $format => $link ) { # Use the page name for the title. In principle, this could # lead to issues with having the same name for different feeds # corresponding to the same page, but we can't avoid that at # this low a level. - $tags[] = $this->feedLink( + $feedLinks[] = $this->feedLink( $format, $link, # Used messages: 'page-rss-feed' and 'page-atom-feed' (for an easier grep) @@ -3539,7 +3507,7 @@ class OutputPage extends ContextSource { if ( $config->get( 'OverrideSiteFeed' ) ) { foreach ( $config->get( 'OverrideSiteFeed' ) as $type => $feedUrl ) { // Note, this->feedLink escapes the url. - $tags[] = $this->feedLink( + $feedLinks[] = $this->feedLink( $type, $feedUrl, $this->msg( "site-{$type}-feed", $sitename )->text() @@ -3548,7 +3516,7 @@ class OutputPage extends ContextSource { } elseif ( !$this->getTitle()->isSpecial( 'Recentchanges' ) ) { $rctitle = SpecialPage::getTitleFor( 'Recentchanges' ); foreach ( $config->get( 'AdvertisedFeedTypes' ) as $format ) { - $tags[] = $this->feedLink( + $feedLinks[] = $this->feedLink( $format, $rctitle->getLocalURL( array( 'feed' => $format ) ), # For grep: 'site-rss-feed', 'site-atom-feed' @@ -3556,6 +3524,13 @@ class OutputPage extends ContextSource { ); } } + + # Allow extensions to change the list pf feeds. This hook is primarily for changing, + # manipulating or removing existing feed tags. If you want to add new feeds, you should + # use OutputPage::addFeedLink() instead. + Hooks::run( 'AfterBuildFeedLinks', array( &$feedLinks ) ); + + $tags += $feedLinks; } # Canonical URL @@ -3954,20 +3929,6 @@ class OutputPage extends ContextSource { $this->addWikiText( $s ); } - /** - * Include jQuery core. Use this to avoid loading it multiple times - * before we get a usable script loader. - * - * @param array $modules List of jQuery modules which should be loaded - * @return array The list of modules which were not loaded. - * @since 1.16 - * @deprecated since 1.17 - */ - public function includeJQuery( array $modules = array() ) { - wfDeprecated( __METHOD__, '1.17' ); - return array(); - } - /** * Enables/disables TOC, doesn't override __NOTOC__ * @param bool $flag