diff options
author | Zach Copley <zach@status.net> | 2010-05-06 00:20:10 -0700 |
---|---|---|
committer | Zach Copley <zach@status.net> | 2010-05-18 15:15:27 -0700 |
commit | c78f67aa7367acab5f9156ecf8963e2d5243e400 (patch) | |
tree | ab525d91b96ca159e6e5b41b8137731257f032d1 /lib/apiaction.php | |
parent | d9fddff5395e77287c4de0796fd072b3073f1eb9 (diff) |
Refactor and centralize notice source link calculation
Diffstat (limited to 'lib/apiaction.php')
-rw-r--r-- | lib/apiaction.php | 51 |
1 files changed, 13 insertions, 38 deletions
diff --git a/lib/apiaction.php b/lib/apiaction.php index f87b04611..7a6a5549b 100644 --- a/lib/apiaction.php +++ b/lib/apiaction.php @@ -260,7 +260,19 @@ class ApiAction extends Action $twitter_status['created_at'] = $this->dateTwitter($notice->created); $twitter_status['in_reply_to_status_id'] = ($notice->reply_to) ? intval($notice->reply_to) : null; - $twitter_status['source'] = $this->sourceLink($notice->source); + + $source = null; + + $ns = $notice->getSource(); + if ($ns) { + if (!empty($ns->name) && !empty($ns->url)) { + $source = '<a href="' . $ns->url . '">' . $ns->name . '</a>'; + } else { + $source = $ns->code; + } + } + + $twitter_status['source'] = $source; $twitter_status['id'] = intval($notice->id); $replier_profile = null; @@ -1298,43 +1310,6 @@ class ApiAction extends Action } } - function sourceLink($source) - { - $source_name = _($source); - switch ($source) { - case 'web': - case 'xmpp': - case 'mail': - case 'omb': - case 'api': - break; - default: - - $name = null; - $url = null; - - $ns = Notice_source::staticGet($source); - - if ($ns) { - $name = $ns->name; - $url = $ns->url; - } else { - $app = Oauth_application::staticGet('name', $source); - if ($app) { - $name = $app->name; - $url = $app->source_url; - } - } - - if (!empty($name) && !empty($url)) { - $source_name = '<a href="' . $url . '">' . $name . '</a>'; - } - - break; - } - return $source_name; - } - /** * Returns query argument or default value if not found. Certain * parameters used throughout the API are lightly scrubbed and |