diff options
author | Pierre Schmitz <pierre@archlinux.de> | 2014-12-27 15:41:37 +0100 |
---|---|---|
committer | Pierre Schmitz <pierre@archlinux.de> | 2014-12-31 11:43:28 +0100 |
commit | c1f9b1f7b1b77776192048005dcc66dcf3df2bfb (patch) | |
tree | 2b38796e738dd74cb42ecd9bfd151803108386bc /includes/Feed.php | |
parent | b88ab0086858470dd1f644e64cb4e4f62bb2be9b (diff) |
Update to MediaWiki 1.24.1
Diffstat (limited to 'includes/Feed.php')
-rw-r--r-- | includes/Feed.php | 111 |
1 files changed, 59 insertions, 52 deletions
diff --git a/includes/Feed.php b/includes/Feed.php index 635b04e4..2fdfa424 100644 --- a/includes/Feed.php +++ b/includes/Feed.php @@ -6,7 +6,7 @@ * Available feeds are defined in Defines.php * * Copyright © 2004 Brion Vibber <brion@pobox.com> - * http://www.mediawiki.org/ + * https://www.mediawiki.org/ * * This program is free software; you can redistribute it and/or modify * it under the terms of the GNU General Public License as published by @@ -36,28 +36,32 @@ * @ingroup Feed */ class FeedItem { - /** - * @var Title - */ - var $title; + /** @var Title */ + public $title; + + public $description; + + public $url; + + public $date; + + public $author; - var $description; - var $url; - var $date; - var $author; - var $uniqueId; - var $comments; - var $rssIsPermalink = false; + public $uniqueId; + + public $comments; + + public $rssIsPermalink = false; /** * Constructor * * @param string|Title $title Item's title - * @param $description String + * @param string $description * @param string $url URL uniquely designating the item. * @param string $date Item's date * @param string $author Author's user name - * @param $comments String + * @param string $comments */ function __construct( $title, $description, $url, $date = '', $author = '', $comments = '' ) { $this->title = $title; @@ -72,8 +76,8 @@ class FeedItem { /** * Encode $string so that it can be safely embedded in a XML document * - * @param string $string string to encode - * @return String + * @param string $string String to encode + * @return string */ public function xmlEncode( $string ) { $string = str_replace( "\r\n", "\n", $string ); @@ -84,7 +88,7 @@ class FeedItem { /** * Get the unique id of this item * - * @return String + * @return string */ public function getUniqueId() { if ( $this->uniqueId ) { @@ -93,10 +97,10 @@ class FeedItem { } /** - * set the unique id of an item + * Set the unique id of an item * - * @param string $uniqueId unique id for the item - * @param $rssIsPermalink Boolean: set to true if the guid (unique id) is a permalink (RSS feeds only) + * @param string $uniqueId Unique id for the item + * @param bool $rssIsPermalink Set to true if the guid (unique id) is a permalink (RSS feeds only) */ public function setUniqueId( $uniqueId, $rssIsPermalink = false ) { $this->uniqueId = $uniqueId; @@ -106,7 +110,7 @@ class FeedItem { /** * Get the title of this item; already xml-encoded * - * @return String + * @return string */ public function getTitle() { return $this->xmlEncode( $this->title ); @@ -115,7 +119,7 @@ class FeedItem { /** * Get the URL of this item; already xml-encoded * - * @return String + * @return string */ public function getUrl() { return $this->xmlEncode( $this->url ); @@ -124,7 +128,7 @@ class FeedItem { /** * Get the description of this item; already xml-encoded * - * @return String + * @return string */ public function getDescription() { return $this->xmlEncode( $this->description ); @@ -133,7 +137,7 @@ class FeedItem { /** * Get the language of this item * - * @return String + * @return string */ public function getLanguage() { global $wgLanguageCode; @@ -141,9 +145,9 @@ class FeedItem { } /** - * Get the title of this item + * Get the date of this item * - * @return String + * @return string */ public function getDate() { return $this->date; @@ -152,7 +156,7 @@ class FeedItem { /** * Get the author of this item; already xml-encoded * - * @return String + * @return string */ public function getAuthor() { return $this->xmlEncode( $this->author ); @@ -161,7 +165,7 @@ class FeedItem { /** * Get the comment of this item; already xml-encoded * - * @return String + * @return string */ public function getComments() { return $this->xmlEncode( $this->comments ); @@ -170,8 +174,8 @@ class FeedItem { /** * Quickie hack... strip out wikilinks to more legible form from the comment. * - * @param string $text wikitext - * @return String + * @param string $text Wikitext + * @return string */ public static function stripComment( $text ) { return preg_replace( '/\[\[([^]]*\|)?([^]]+)\]\]/', '\2', $text ); @@ -190,7 +194,6 @@ abstract class ChannelFeed extends FeedItem { * @code * print "<feed>"; * @endcode - * @param $item */ abstract public function outHeader(); @@ -200,7 +203,7 @@ abstract class ChannelFeed extends FeedItem { * @code * print "<item>...</item>"; * @endcode - * @param $item + * @param FeedItem $item */ abstract public function outItem( $item ); @@ -239,28 +242,27 @@ abstract class ChannelFeed extends FeedItem { * Return an internet media type to be sent in the headers. * * @return string - * @private */ - function contentType() { + private function contentType() { global $wgRequest; + $ctype = $wgRequest->getVal( 'ctype', 'application/xml' ); - $allowedctypes = array( 'application/xml', 'text/xml', 'application/rss+xml', 'application/atom+xml' ); + $allowedctypes = array( + 'application/xml', + 'text/xml', + 'application/rss+xml', + 'application/atom+xml' + ); + return ( in_array( $ctype, $allowedctypes ) ? $ctype : 'application/xml' ); } /** - * Output the initial XML headers with a stylesheet for legibility - * if someone finds it in a browser. - * @private + * Output the initial XML headers. */ - function outXmlHeader() { - global $wgStylePath, $wgStyleVersion; - + protected function outXmlHeader() { $this->httpHeaders(); echo '<?xml version="1.0"?>' . "\n"; - echo '<?xml-stylesheet type="text/css" href="' . - htmlspecialchars( wfExpandUrl( "$wgStylePath/common/feed.css?$wgStyleVersion", PROTO_CURRENT ) ) . - '"?' . ">\n"; } } @@ -274,8 +276,8 @@ class RSSFeed extends ChannelFeed { /** * Format a date given a timestamp * - * @param $ts Integer: timestamp - * @return String: date string + * @param int $ts Timestamp + * @return string Date string */ function formatTime( $ts ) { return gmdate( 'D, d M Y H:i:s \G\M\T', wfTimestamp( TS_UNIX, $ts ) ); @@ -301,9 +303,10 @@ class RSSFeed extends ChannelFeed { /** * Output an RSS 2.0 item - * @param $item FeedItem: item to be output + * @param FeedItem $item Item to be output */ function outItem( $item ) { + // @codingStandardsIgnoreStart Ignore long lines and formatting issues. ?> <item> <title><?php print $item->getTitle(); ?></title> @@ -315,6 +318,7 @@ class RSSFeed extends ChannelFeed { <?php if ( $item->getComments() ) { ?><comments><?php print wfExpandUrl( $item->getComments(), PROTO_CURRENT ); ?></comments><?php }?> </item> <?php + // @codingStandardsIgnoreEnd } /** @@ -335,6 +339,7 @@ class RSSFeed extends ChannelFeed { class AtomFeed extends ChannelFeed { /** * @todo document + * @param string|int $ts * @return string */ function formatTime( $ts ) { @@ -349,6 +354,7 @@ class AtomFeed extends ChannelFeed { global $wgVersion; $this->outXmlHeader(); + // @codingStandardsIgnoreStart Ignore long lines and formatting issues. ?><feed xmlns="http://www.w3.org/2005/Atom" xml:lang="<?php print $this->getLanguage() ?>"> <id><?php print $this->getFeedId() ?></id> <title><?php print $this->getTitle() ?></title> @@ -359,6 +365,7 @@ class AtomFeed extends ChannelFeed { <generator>MediaWiki <?php print $wgVersion ?></generator> <?php + // @codingStandardsIgnoreEnd } /** @@ -368,28 +375,27 @@ class AtomFeed extends ChannelFeed { * have to change the id? Maybe? Maybe not. * * @return string - * @private */ - function getFeedId() { + private function getFeedId() { return $this->getSelfUrl(); } /** * Atom 1.0 requests a self-reference to the feed. * @return string - * @private */ - function getSelfUrl() { + private function getSelfUrl() { global $wgRequest; return htmlspecialchars( $wgRequest->getFullRequestURL() ); } /** * Output a given item. - * @param $item + * @param FeedItem $item */ function outItem( $item ) { global $wgMimeType; + // @codingStandardsIgnoreStart Ignore long lines and formatting issues. ?> <entry> <id><?php print $item->getUniqueId(); ?></id> @@ -413,5 +419,6 @@ class AtomFeed extends ChannelFeed { */ function outFooter() {?> </feed><?php + // @codingStandardsIgnoreEnd } } |