Qvitter/api-changes-1.1.1/CHANGES
Hannes Mannerheim e9e21fd87e registration
2013-09-02 18:13:15 +02:00

207 lines
10 KiB
Plaintext
Raw Blame History

This file contains invisible Unicode characters

This file contains invisible Unicode characters that are indistinguishable to humans but may be processed differently by a computer. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

CHANGES TO API
--------------
* actions/apiattachment.php New api action
* actions/apistatusesfavs.php New api action
* actions/apicheckhub.php New api action (not used yet)
* actions/apiexternalprofileshow.php New api action
* actions/apigroupadmins.php New api action
* actions/apiaccountupdatelinkcolor.php New api action
* actions/apiaccountupdatelinkcolor.php New api action
* actions/apichecknickname.php New api action
* actions/apiaccountregister.php New api action
* lib/apiaction.php
- add urls to larger avatars, groupcount, linkcolor and backgroundcolor fields
~LINE 213
$avatar = $profile->getAvatar(AVATAR_STREAM_SIZE);
$twitter_user['profile_image_url'] = ($avatar) ? $avatar->displayUrl() :
Avatar::defaultImage(AVATAR_STREAM_SIZE);
$avatar = $profile->getAvatar(AVATAR_PROFILE_SIZE);
$twitter_user['profile_image_url_profile_size'] = ($avatar) ? $avatar->displayUrl() :
Avatar::defaultImage(AVATAR_PROFILE_SIZE);
$avatar = $profile->getOriginalAvatar();
$twitter_user['profile_image_url_original'] = ($avatar) ? $avatar->displayUrl() :
Avatar::defaultImage(AVATAR_PROFILE_SIZE);
$twitter_user['groups_count'] = $profile->getGroups(0, null)->N;
$twitter_user['linkcolor'] = $user->linkcolor;
$twitter_user['backgroundcolor'] = $user->backgroundcolor;
- add the uri-field
~line 330
$twitter_status['uri'] = $notice->uri;
- show if a notices is favorited by auth_user
~line 355
if (isset($this->auth_user)) {
$this_profile = $this->auth_user->getProfile();
$twitter_status['favorited'] = $this->auth_user->hasFave($notice);
$twitter_status['repeated'] = $this_profile->hasRepeated($notice->id);
} else {
$twitter_status['favorited'] = false;
$twitter_status['repeated'] = false;
}
- show number of admins in group api
~line 414
$admins = $group->getAdmins();
$admin_count = 0; while($admins->fetch()) $admin_count++;
$twitter_group['admin_count'] = $admin_count;
- to be able to get group profile by uri.
- hackish though, because if uri get-var is sent, it will discard the id get var
- (but id still needs to be sent and be non-numerical, so I do "?id=foo&uri={uri}")
- should be possible to only supply uri get var, but I was lazy... sry
~line 1565
} else if ($this->arg('uri')) {
return User_group::staticGet('uri', urldecode($this->arg('uri')));
* lib/router.php
- add routing for new api actions
~line 467:
$m->connect('api/statuses/favs/:id.json',
array('action' => 'ApiStatusesFavs',
'id' => '[0-9]+'));
$m->connect('api/attachment/:id.json',
array('action' => 'ApiAttachment',
'id' => '[0-9]+'));
$m->connect('api/checkhub.json',
array('action' => 'ApiCheckHub'));
$m->connect('api/externalprofile/show.json',
array('action' => 'ApiExternalProfileShow'));
$m->connect('api/statusnet/groups/admins/:id.:format',
array('action' => 'ApiGroupAdmins',
'id' => Nickname::INPUT_FMT,
'format' => '(xml|json)'));
$m->connect('api/account/update_link_color.json',
array('action' => 'ApiAccountUpdateLinkColor'));
$m->connect('api/account/update_background_color.json',
array('action' => 'ApiAccountUpdateBackgroundColor'));
$m->connect('api/account/register.json',
array('action' => 'ApiAccountRegister'));
$m->connect('api/check_nickname.json',
array('action' => 'ApiCheckNickname'));
- also, tags need regexp to work with unicode charachters, e.g. farsi and arabic:
$m->connect('api/statusnet/tags/timeline/:tag.:format',
array('action' => 'ApiTimelineTag',
'tag' => self::REGEX_TAG,
'format' => '(xml|json|rss|atom|as)'));
* acitons/apiconversation.php
- I didn't always get Profile::current() to show me the auth user's profile, so I changed it to the normal $this->auth_user used in other api actions
~ line 80:
if(isset($this->auth_user)) {
$profile = $this->auth_user->getProfile();
} else {
$profile = null;
}
*actions/apitimelineuser.php
- this api did only return the public user timeline, not the auth user's.
- e.g. it did not show notices from people who post to "my colleques at quitter"
- changed to return timeline according to which auth user is requesting
~ line 238
$user_profile = $this->user->getProfile();
if(isset($this->auth_user)) {
$auth_user_profile = $this->auth_user->getProfile();
}
else {
$auth_user_profile = null;
}
$stream = new ProfileNoticeStream($user_profile, $auth_user_profile);
$notice = $stream->getNotices(($this->page-1) * $this->count,
$this->count + 1,
$this->since_id,
$this->max_id);
* search.json
- changed response to normal twitter format, maybe I should have created a new api action for that,
- but... i don't see the point in having a special format for searches, it should be same as other streams
* actions/timelinetags.php
- added max_id and since_id
~line 179
$notice = Notice_tag::getStream(
$this->tag,
($this->page - 1) * $this->count,
$this->count + 1,
$this->since_id,
$this->max_id
);
* actions/apistatusesupdate.php
- we don't want statuses to shorten if sent through the api
~ line 290:
//$status_shortened = $this->auth_user->shortenlinks($this->status);
$status_shortened = $this->status;
* classes/Notice.php
- to _not_ shorten urls sent through api, we need to comment out this also
~ line 352
// if ($user) {
// // Use the local user's shortening preferences, if applicable.
/ $final = $user->shortenLinks($content);
// } else {
// $final = common_shorten_links($content);
// }
* classes/User.php
- add fields "linkcolor" and "background_image_url" to user table (do this is the db too!)
~ line 64 public $linkcolor; // varchar(6)
public $background_image_url; // varchar(255)
~ line 105 'linkcolor' => array('type' => 'varchar', 'length' => 6, 'description' => 'hex link color'),
'background_image_url' => array('type' => 'varchar', 'length' => 255, 'description' => 'url to profile image'),