Support the 'lite' parameter to statuses/friends and statuses/followers twitter api methods.

http://laconi.ca/trac/ticket/1786
This commit is contained in:
Craig Andrews 2009-08-06 15:14:27 -04:00
parent 153248b482
commit 26b608d914
2 changed files with 11 additions and 9 deletions

View File

@ -449,7 +449,8 @@ class TwitapistatusesAction extends TwitterapiAction
function friends($args, $apidata) function friends($args, $apidata)
{ {
parent::handle($args); parent::handle($args);
return $this->subscriptions($apidata, 'subscribed', 'subscriber'); $includeStatuses=! (boolean) $args['lite'];
return $this->subscriptions($apidata, 'subscribed', 'subscriber', false, $includeStatuses);
} }
function friendsIDs($args, $apidata) function friendsIDs($args, $apidata)
@ -461,7 +462,8 @@ class TwitapistatusesAction extends TwitterapiAction
function followers($args, $apidata) function followers($args, $apidata)
{ {
parent::handle($args); parent::handle($args);
return $this->subscriptions($apidata, 'subscriber', 'subscribed'); $includeStatuses=! (boolean) $args['lite'];
return $this->subscriptions($apidata, 'subscriber', 'subscribed', false, $includeStatuses);
} }
function followersIDs($args, $apidata) function followersIDs($args, $apidata)
@ -470,7 +472,7 @@ class TwitapistatusesAction extends TwitterapiAction
return $this->subscriptions($apidata, 'subscriber', 'subscribed', true); return $this->subscriptions($apidata, 'subscriber', 'subscribed', true);
} }
function subscriptions($apidata, $other_attr, $user_attr, $onlyIDs=false) function subscriptions($apidata, $other_attr, $user_attr, $onlyIDs=false, $includeStatuses=true)
{ {
$this->auth_user = $apidata['user']; $this->auth_user = $apidata['user'];
$user = $this->get_user($apidata['api_arg'], $apidata); $user = $this->get_user($apidata['api_arg'], $apidata);
@ -526,26 +528,26 @@ class TwitapistatusesAction extends TwitterapiAction
if ($onlyIDs) { if ($onlyIDs) {
$this->showIDs($others, $type); $this->showIDs($others, $type);
} else { } else {
$this->show_profiles($others, $type); $this->show_profiles($others, $type, $includeStatuses);
} }
$this->end_document($type); $this->end_document($type);
} }
function show_profiles($profiles, $type) function show_profiles($profiles, $type, $includeStatuses)
{ {
switch ($type) { switch ($type) {
case 'xml': case 'xml':
$this->elementStart('users', array('type' => 'array')); $this->elementStart('users', array('type' => 'array'));
foreach ($profiles as $profile) { foreach ($profiles as $profile) {
$this->show_profile($profile); $this->show_profile($profile,$type,null,$includeStatuses);
} }
$this->elementEnd('users'); $this->elementEnd('users');
break; break;
case 'json': case 'json':
$arrays = array(); $arrays = array();
foreach ($profiles as $profile) { foreach ($profiles as $profile) {
$arrays[] = $this->twitter_user_array($profile, true); $arrays[] = $this->twitter_user_array($profile, $includeStatuses);
} }
print json_encode($arrays); print json_encode($arrays);
break; break;

View File

@ -844,9 +844,9 @@ class TwitterapiAction extends Action
$this->endXML(); $this->endXML();
} }
function show_profile($profile, $content_type='xml', $notice=null) function show_profile($profile, $content_type='xml', $notice=null, $includeStatuses=true)
{ {
$profile_array = $this->twitter_user_array($profile, true); $profile_array = $this->twitter_user_array($profile, $includeStatuses);
switch ($content_type) { switch ($content_type) {
case 'xml': case 'xml':
$this->show_twitter_xml_user($profile_array); $this->show_twitter_xml_user($profile_array);