Merge branch '0.7.x' of git@gitorious.org:+laconica-developers/laconica/dev into 0.7.x

This commit is contained in:
Evan Prodromou 2009-06-06 09:55:17 -07:00
commit 038cd8ac25
2 changed files with 23 additions and 3 deletions

View File

@ -144,8 +144,8 @@ class ApiAction extends Action
} }
if (in_array($fullname, $bareauth)) { if (in_array($fullname, $bareauth)) {
# bareauth: only needs auth if without an argument # bareauth: only needs auth if without an argument or query param specifying user
if ($this->api_arg) { if ($this->api_arg || $this->arg('id') || is_numeric($this->arg('user_id')) || $this->arg('screen_name')) {
return false; return false;
} else { } else {
return true; return true;

View File

@ -673,7 +673,27 @@ class TwitterapiAction extends Action
function get_user($id, $apidata=null) function get_user($id, $apidata=null)
{ {
if (!$id) { if (!$id) {
return $apidata['user'];
// Twitter supports these other ways of passing the user ID
if (is_numeric($this->arg('id'))) {
return User::staticGet($this->arg('id'));
} else if ($this->arg('id')) {
$nickname = common_canonical_nickname($this->arg('id'));
return User::staticGet('nickname', $nickname);
} else if ($this->arg('user_id')) {
// This is to ensure that a non-numeric user_id still
// overrides screen_name even if it doesn't get used
if (is_numeric($this->arg('user_id'))) {
return User::staticGet('id', $this->arg('user_id'));
}
} else if ($this->arg('screen_name')) {
$nickname = common_canonical_nickname($this->arg('screen_name'));
return User::staticGet('nickname', $nickname);
} else {
// Fall back to trying the currently authenticated user
return $apidata['user'];
}
} else if (is_numeric($id)) { } else if (is_numeric($id)) {
return User::staticGet($id); return User::staticGet($id);
} else { } else {