summaryrefslogtreecommitdiff
path: root/lib/apiaction.php
diff options
context:
space:
mode:
authorZach Copley <zach@status.net>2010-05-06 00:20:10 -0700
committerZach Copley <zach@status.net>2010-05-06 21:48:11 +0000
commit22fde00defe79a153ed77ddf6a4e63dd7fef6743 (patch)
tree2d17dd355e6a931c600115c0f9e6d37a7b2b108e /lib/apiaction.php
parentb547079b280b9fa2f8877aab7ad5cd3761f500b9 (diff)
Refactor and centralize notice source link calculation
Diffstat (limited to 'lib/apiaction.php')
-rw-r--r--lib/apiaction.php51
1 files changed, 13 insertions, 38 deletions
diff --git a/lib/apiaction.php b/lib/apiaction.php
index a3c34a91b..8c4dc6c26 100644
--- a/lib/apiaction.php
+++ b/lib/apiaction.php
@@ -313,7 +313,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;
@@ -1354,43 +1366,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