diff options
Diffstat (limited to 'phpBB/feed.php')
| -rw-r--r-- | phpBB/feed.php | 46 | 
1 files changed, 27 insertions, 19 deletions
diff --git a/phpBB/feed.php b/phpBB/feed.php index c4b71f3a26..d737b8e10c 100644 --- a/phpBB/feed.php +++ b/phpBB/feed.php @@ -95,11 +95,13 @@ while ($row = $feed->get_item())  	$title = (isset($row[$feed->get('title')]) && $row[$feed->get('title')] !== '') ? $row[$feed->get('title')] : ((isset($row[$feed->get('title2')])) ? $row[$feed->get('title2')] : ''); -	$item_time = (int) $row[$feed->get('date')]; +	$published = ($feed->get('published') !== NULL) ? (int) $row[$feed->get('published')] : 0; +	$updated = ($feed->get('updated') !== NULL) ? (int) $row[$feed->get('updated')] : 0;  	$item_row = array(  		'author'		=> ($feed->get('creator') !== NULL) ? $row[$feed->get('creator')] : '', -		'pubdate'		=> feed_format_date($item_time), +		'published'		=> ($published > 0) ? feed_format_date($published) : '', +		'updated'		=> ($updated > 0) ? feed_format_date($updated) : '',  		'link'			=> '',  		'title'			=> censor_text($title),  		'category'		=> ($config['feed_item_statistics'] && !empty($row['forum_id'])) ? $board_url . '/viewforum.' . $phpEx . '?f=' . $row['forum_id'] : '', @@ -113,7 +115,7 @@ while ($row = $feed->get_item())  	$item_vars[] = $item_row; -	$feed_updated_time = max($feed_updated_time, $item_time); +	$feed_updated_time = max($feed_updated_time, $published, $updated);  }  // If we do not have any items at all, sending the current time is better than sending no time. @@ -192,7 +194,13 @@ foreach ($item_vars as $row)  		echo '<author><name><![CDATA[' . $row['author'] . ']]></name></author>' . "\n";  	} -	echo '<updated>' . $row['pubdate'] . '</updated>' . "\n"; +	echo '<updated>' . ((!empty($row['updated'])) ? $row['updated'] : $row['published']) . '</updated>' . "\n"; + +	if (!empty($row['published'])) +	{ +		echo '<published>' . $row['published'] . '</published>' . "\n"; +	} +  	echo '<id>' . $row['link'] . '</id>' . "\n";  	echo '<link href="' . $row['link'] . '"/>' . "\n";  	echo '<title type="html"><![CDATA[' . $row['title'] . ']]></title>' . "\n\n"; @@ -675,7 +683,8 @@ class phpbb_feed_post_base extends phpbb_feed_base  		$this->set('author_id',	'user_id');  		$this->set('creator',	'username'); -		$this->set('date',		'post_time'); +		$this->set('published',	'post_time'); +		$this->set('updated',	'post_edit_time');  		$this->set('text',		'post_text');  		$this->set('bitfield',	'bbcode_bitfield'); @@ -695,7 +704,7 @@ class phpbb_feed_post_base extends phpbb_feed_base  		if ($config['feed_item_statistics'])  		{  			$item_row['statistics'] = $user->lang['POSTED'] . ' ' . $user->lang['POST_BY_AUTHOR'] . ' ' . $this->user_viewprofile($row) -				. ' ' . $this->separator_stats . ' ' . $user->format_date($row['post_time']) +				. ' ' . $this->separator_stats . ' ' . $user->format_date($row[$this->get('published')])  				. (($this->is_moderator_approve_forum($row['forum_id']) && !$row['post_approved']) ? ' ' . $this->separator_stats . ' ' . $user->lang['POST_UNAPPROVED'] : '');  		}  	} @@ -717,7 +726,8 @@ class phpbb_feed_topic_base extends phpbb_feed_base  		$this->set('author_id',	'topic_poster');  		$this->set('creator',	'topic_first_poster_name'); -		$this->set('date',		'topic_time'); +		$this->set('published',	'post_time'); +		$this->set('updated',	'post_edit_time');  		$this->set('text',		'post_text');  		$this->set('bitfield',	'bbcode_bitfield'); @@ -737,7 +747,7 @@ class phpbb_feed_topic_base extends phpbb_feed_base  		if ($config['feed_item_statistics'])  		{  			$item_row['statistics'] = $user->lang['POSTED'] . ' ' . $user->lang['POST_BY_AUTHOR'] . ' ' . $this->user_viewprofile($row) -				. ' ' . $this->separator_stats . ' ' . $user->format_date($row[$this->get('date')]) +				. ' ' . $this->separator_stats . ' ' . $user->format_date($row[$this->get('published')])  				. ' ' . $this->separator_stats . ' ' . $user->lang['REPLIES'] . ' ' . (($this->is_moderator_approve_forum($row['forum_id'])) ? $row['topic_replies_real'] : $row['topic_replies'])  				. ' ' . $this->separator_stats . ' ' . $user->lang['VIEWS'] . ' ' . $row['topic_views']  				. (($this->is_moderator_approve_forum($row['forum_id']) && ($row['topic_replies_real'] != $row['topic_replies'])) ? ' ' . $this->separator_stats . ' ' . $user->lang['POSTS_UNAPPROVED'] : ''); @@ -800,7 +810,7 @@ class phpbb_feed_overall extends phpbb_feed_post_base  		// Get the actual data  		$this->sql = array(  			'SELECT'	=>	'f.forum_id, f.forum_name, ' . -							'p.post_id, p.topic_id, p.post_time, p.post_approved, p.post_subject, p.post_text, p.bbcode_bitfield, p.bbcode_uid, p.enable_bbcode, p.enable_smilies, p.enable_magic_url, ' . +							'p.post_id, p.topic_id, p.post_time, p.post_edit_time, p.post_approved, p.post_subject, p.post_text, p.bbcode_bitfield, p.bbcode_uid, p.enable_bbcode, p.enable_smilies, p.enable_magic_url, ' .  							'u.username, u.user_id',  			'FROM'		=> array(  				USERS_TABLE		=> 'u', @@ -932,7 +942,7 @@ class phpbb_feed_forum extends phpbb_feed_post_base  		}  		$this->sql = array( -			'SELECT'	=>	'p.post_id, p.topic_id, p.post_time, p.post_approved, p.post_subject, p.post_text, p.bbcode_bitfield, p.bbcode_uid, p.enable_bbcode, p.enable_smilies, p.enable_magic_url, ' . +			'SELECT'	=>	'p.post_id, p.topic_id, p.post_time, p.post_edit_time, p.post_approved, p.post_subject, p.post_text, p.bbcode_bitfield, p.bbcode_uid, p.enable_bbcode, p.enable_smilies, p.enable_magic_url, ' .  							'u.username, u.user_id',  			'FROM'		=> array(  				POSTS_TABLE		=> 'p', @@ -1097,7 +1107,7 @@ class phpbb_feed_topic extends phpbb_feed_post_base  		global $auth, $db;  		$this->sql = array( -			'SELECT'	=>	'p.post_id, p.post_time, p.post_approved, p.post_subject, p.post_text, p.bbcode_bitfield, p.bbcode_uid, p.enable_bbcode, p.enable_smilies, p.enable_magic_url, ' . +			'SELECT'	=>	'p.post_id, p.post_time, p.post_edit_time, p.post_approved, p.post_subject, p.post_text, p.bbcode_bitfield, p.bbcode_uid, p.enable_bbcode, p.enable_smilies, p.enable_magic_url, ' .  							'u.username, u.user_id',  			'FROM'		=> array(  				POSTS_TABLE		=> 'p', @@ -1136,7 +1146,7 @@ class phpbb_feed_forums extends phpbb_feed_base  		$this->set('text',		'forum_desc');  		$this->set('bitfield',	'forum_desc_bitfield');  		$this->set('bbcode_uid','forum_desc_uid'); -		$this->set('date',		'forum_last_post_time'); +		$this->set('updated',	'forum_last_post_time');  		$this->set('options',	'forum_desc_options');  	} @@ -1261,8 +1271,8 @@ class phpbb_feed_news extends phpbb_feed_topic_base  		$this->sql = array(  			'SELECT'	=> 'f.forum_id, f.forum_name, -							t.topic_id, t.topic_title, t.topic_poster, t.topic_first_poster_name, t.topic_replies, t.topic_replies_real, t.topic_views, t.topic_time, -							p.post_id, p.post_time, p.post_text, p.bbcode_bitfield, p.bbcode_uid, p.enable_bbcode, p.enable_smilies, p.enable_magic_url', +							t.topic_id, t.topic_title, t.topic_poster, t.topic_first_poster_name, t.topic_replies, t.topic_replies_real, t.topic_views, t.topic_time, t.topic_last_post_time, +							p.post_id, p.post_time, p.post_edit_time, p.post_text, p.bbcode_bitfield, p.bbcode_uid, p.enable_bbcode, p.enable_smilies, p.enable_magic_url',  			'FROM'		=> array(  				TOPICS_TABLE	=> 't',  				POSTS_TABLE		=> 'p', @@ -1334,8 +1344,8 @@ class phpbb_feed_topics extends phpbb_feed_topic_base  		$this->sql = array(  			'SELECT'	=> 'f.forum_id, f.forum_name, -							t.topic_id, t.topic_title, t.topic_poster, t.topic_first_poster_name, t.topic_replies, t.topic_replies_real, t.topic_views, t.topic_time, -							p.post_id, p.post_time, p.post_text, p.bbcode_bitfield, p.bbcode_uid, p.enable_bbcode, p.enable_smilies, p.enable_magic_url', +							t.topic_id, t.topic_title, t.topic_poster, t.topic_first_poster_name, t.topic_replies, t.topic_replies_real, t.topic_views, t.topic_time, t.topic_last_post_time, +							p.post_id, p.post_time, p.post_edit_time, p.post_text, p.bbcode_bitfield, p.bbcode_uid, p.enable_bbcode, p.enable_smilies, p.enable_magic_url',  			'FROM'		=> array(  				TOPICS_TABLE	=> 't',  				POSTS_TABLE		=> 'p', @@ -1381,8 +1391,6 @@ class phpbb_feed_topics_active extends phpbb_feed_topic_base  		$this->set('author_id',	'topic_last_poster_id');  		$this->set('creator',	'topic_last_poster_name'); -		$this->set('date',		'topic_last_post_time'); -		$this->set('text',		'post_text');  	}  	function get_sql() @@ -1434,7 +1442,7 @@ class phpbb_feed_topics_active extends phpbb_feed_topic_base  			'SELECT'	=> 'f.forum_id, f.forum_name,  							t.topic_id, t.topic_title, t.topic_replies, t.topic_replies_real, t.topic_views,  							t.topic_last_poster_id, t.topic_last_poster_name, t.topic_last_post_time, -							p.post_id, p.post_time, p.post_text, p.bbcode_bitfield, p.bbcode_uid, p.enable_bbcode, p.enable_smilies, p.enable_magic_url', +							p.post_id, p.post_time, p.post_edit_time, p.post_text, p.bbcode_bitfield, p.bbcode_uid, p.enable_bbcode, p.enable_smilies, p.enable_magic_url',  			'FROM'		=> array(  				TOPICS_TABLE	=> 't',  				POSTS_TABLE		=> 'p',  | 
