From: Zach Copley Date: Sun, 27 Sep 2009 21:11:12 +0000 (-0700) Subject: - Output entity tag X-Git-Url: https://git.mxchange.org/?a=commitdiff_plain;h=dfa955bfda67ee9fd254e97abf9dc29f2b51a857;p=quix0rs-gnu-social.git - Output entity tag - More comments for function blocks --- diff --git a/actions/apifriendstimeline.php b/actions/apifriendstimeline.php index 2eb00e23a6..dd89f44fe5 100644 --- a/actions/apifriendstimeline.php +++ b/actions/apifriendstimeline.php @@ -76,11 +76,27 @@ class ApiFriendsTimelineAction extends ApiBareAuthAction return true; } + /** + * Handle the request + * + * Just show the notices + * + * @param array $args $_REQUEST data (unused) + * + * @return void + */ + function handle($args) { parent::handle($args); $this->showTimeline(); } + /** + * Show the timeline of notices + * + * @return void + */ + function showTimeline() { $profile = $this->user->getProfile(); @@ -124,6 +140,12 @@ class ApiFriendsTimelineAction extends ApiBareAuthAction } } + /** + * Get notices + * + * @return array notices + */ + function getNotices() { $notices = array(); @@ -163,15 +185,37 @@ class ApiFriendsTimelineAction extends ApiBareAuthAction function lastModified() { - if (empty($this->notices)) { - return null; + if (!empty($this->notices) && (count($this->notices) > 0)) { + return strtotime($this->notices[0]->created); } - if (count($this->notices) == 0) { - return null; + return null; + } + + /** + * An entity tag for this page + * + * Returns an Etag based on the action name, language, user ID, and + * timestamps of the first and last notice in the timeline + * + * @return string etag + */ + + function etag() + { + if (!empty($this->notices) && (count($this->notices) > 0)) { + + $last = count($this->notices) - 1; + + return implode(':', + array($this->arg('action'), + common_language(), + $this->user->id, + strtotime($this->notices[0]->created), + strtotime($this->notices[$last]->created))) . '"'; } - return strtotime($this->notices[0]->created); + return null; } -} \ No newline at end of file +}