]> git.mxchange.org Git - quix0rs-gnu-social.git/commitdiff
- Output entity tag
authorZach Copley <zach@status.net>
Sun, 27 Sep 2009 21:11:12 +0000 (14:11 -0700)
committerZach Copley <zach@status.net>
Sun, 27 Sep 2009 21:11:12 +0000 (14:11 -0700)
- More comments for function blocks

actions/apifriendstimeline.php

index 2eb00e23a6dac8d8183e78d76f2976d895665750..dd89f44fe5173ac4bd3be2e49bc4f5ffa0a200a0 100644 (file)
@@ -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
+}