]> git.mxchange.org Git - quix0rs-gnu-social.git/blobdiff - actions/apisubscriptions.php
Merge branch '0.9.x' into 1.0.x
[quix0rs-gnu-social.git] / actions / apisubscriptions.php
index 78dcd722dd09e00c3a2fae595cae9579129a09b1..fc0a2638b6bdb50a88f898f5ed48ec06d98a69ed 100644 (file)
@@ -21,6 +21,8 @@
  *
  * @category  API
  * @package   StatusNet
+ * @author    Dan Moore <dan@moore.cx>
+ * @author    Evan Prodromou <evan@status.net>
  * @author    Zach Copley <zach@status.net>
  * @copyright 2009 StatusNet, Inc.
  * @license   http://www.fsf.org/licensing/licenses/agpl-3.0.html GNU Affero General Public License version 3.0
@@ -31,7 +33,7 @@ if (!defined('STATUSNET')) {
     exit(1);
 }
 
-require_once INSTALLDIR.'/lib/apibareauth.php';
+require_once INSTALLDIR . '/lib/apibareauth.php';
 
 /**
  * This class outputs a list of profiles as Twitter-style user and status objects.
@@ -40,19 +42,15 @@ require_once INSTALLDIR.'/lib/apibareauth.php';
  *
  * @category API
  * @package  StatusNet
+ * @author   Dan Moore <dan@moore.cx>
+ * @author   Evan Prodromou <evan@status.net>
  * @author   Zach Copley <zach@status.net>
  * @license  http://www.fsf.org/licensing/licenses/agpl-3.0.html GNU Affero General Public License version 3.0
  * @link     http://status.net/
  */
-
 class ApiSubscriptionsAction extends ApiBareAuthAction
 {
-
-    var $page     = null;
-    var $count    = null;
-    var $user     = null;
     var $profiles = null;
-    var $format   = null;
     var $tag      = null;
     var $lite     = null;
     var $ids_only = null;
@@ -63,16 +61,12 @@ class ApiSubscriptionsAction extends ApiBareAuthAction
      * @param array $args $_REQUEST args
      *
      * @return boolean success flag
-     *
      */
-
     function prepare($args)
     {
         parent::prepare($args);
 
-        $this->page     = (int)$this->arg('page', 1);
         $this->tag      = $this->arg('tag');
-        $this->format   = $this->arg('format');
 
         // Note: Twitter no longer supports 'lite'
         $this->lite     = $this->arg('lite');
@@ -84,16 +78,11 @@ class ApiSubscriptionsAction extends ApiBareAuthAction
         $this->count    = isset($this->ids_only) ?
             5000 : (int)$this->arg('count', 100);
 
-        if ($this->requiresAuth()) {
-            if ($this->checkBasicAuthUser() == false) {
-                return false;
-            }
-        }
-
         $this->user = $this->getTargetUser($this->arg('id'));
 
         if (empty($this->user)) {
-            $this->clientError(_('No such user!'), 404, $this->format);
+            // TRANS: Client error displayed when requesting a list of followers for a non-existing user.
+            $this->clientError(_('No such user.'), 404, $this->format);
             return false;
         }
 
@@ -111,17 +100,17 @@ class ApiSubscriptionsAction extends ApiBareAuthAction
      *
      * @return void
      */
-
     function handle($args)
     {
         parent::handle($args);
 
         if (!in_array($this->format, array('xml', 'json'))) {
-            $this->clientError(_('API method not found!'), $code = 404);
+            // TRANS: Client error displayed when trying to handle an unknown API method.
+            $this->clientError(_('API method not found.'), $code = 404);
             return;
         }
 
-        $this->init_document($this->format);
+        $this->initDocument($this->format);
 
         if (isset($this->ids_only)) {
             $this->showIds();
@@ -129,7 +118,7 @@ class ApiSubscriptionsAction extends ApiBareAuthAction
             $this->showProfiles(isset($this->lite) ? false : true);
         }
 
-        $this->end_document($this->format);
+        $this->endDocument($this->format);
     }
 
     /**
@@ -137,7 +126,6 @@ class ApiSubscriptionsAction extends ApiBareAuthAction
      *
      * @return array Profiles
      */
-
     function getProfiles()
     {
     }
@@ -149,7 +137,6 @@ class ApiSubscriptionsAction extends ApiBareAuthAction
      *
      * @return boolean true
      */
-
     function isReadOnly($args)
     {
         return true;
@@ -160,7 +147,6 @@ class ApiSubscriptionsAction extends ApiBareAuthAction
      *
      * @return string datestamp of the latest profile in the stream
      */
-
     function lastModified()
     {
         if (!empty($this->profiles) && (count($this->profiles) > 0)) {
@@ -180,7 +166,6 @@ class ApiSubscriptionsAction extends ApiBareAuthAction
      *
      * @return string etag
      */
-
     function etag()
     {
         if (!empty($this->profiles) && (count($this->profiles) > 0)) {
@@ -190,8 +175,10 @@ class ApiSubscriptionsAction extends ApiBareAuthAction
             return '"' . implode(
                 ':',
                 array($this->arg('action'),
+                      common_user_cache_hash($this->auth_user),
                       common_language(),
                       $this->user->id,
+                      // Caching tags.
                       isset($this->ids_only) ? 'IDs' : 'Profiles',
                       strtotime($this->profiles[0]->created),
                       strtotime($this->profiles[$last]->created))
@@ -210,14 +197,14 @@ class ApiSubscriptionsAction extends ApiBareAuthAction
      *
      * @return void
      */
-
     function showProfiles($include_statuses = true)
     {
         switch ($this->format) {
         case 'xml':
-            $this->elementStart('users', array('type' => 'array'));
+            $this->elementStart('users', array('type' => 'array',
+                                               'xmlns:statusnet' => 'http://status.net/schema/api/1/'));
             foreach ($this->profiles as $profile) {
-                $this->show_profile(
+                $this->showProfile(
                     $profile,
                     $this->format,
                     null,
@@ -229,7 +216,7 @@ class ApiSubscriptionsAction extends ApiBareAuthAction
         case 'json':
             $arrays = array();
             foreach ($this->profiles as $profile) {
-                $arrays[] = $this->twitter_user_array(
+                $arrays[] = $this->twitterUserArray(
                     $profile,
                     $include_statuses
                 );
@@ -237,6 +224,7 @@ class ApiSubscriptionsAction extends ApiBareAuthAction
             print json_encode($arrays);
             break;
         default:
+            // TRANS: Client error displayed when requesting profiles of followers in an unsupported format.
             $this->clientError(_('Unsupported format.'));
             break;
         }
@@ -248,7 +236,6 @@ class ApiSubscriptionsAction extends ApiBareAuthAction
      *
      * @return void
      */
-
     function showIds()
     {
         switch ($this->format) {
@@ -267,9 +254,9 @@ class ApiSubscriptionsAction extends ApiBareAuthAction
             print json_encode($ids);
             break;
         default:
+            // TRANS: Client error displayed when requesting IDs of followers in an unsupported format.
             $this->clientError(_('Unsupported format.'));
             break;
         }
     }
-
 }