var $id;
var $from_user_id;
var $iso_language_code;
- var $source;
+ var $source = null;
+ var $source_link = null;
var $profile_image_url;
var $created_at;
$replier_profile = null;
if ($this->notice->reply_to) {
- $reply = Notice::staticGet(intval($this->notice->reply_to));
+ $reply = Notice::getKV(intval($this->notice->reply_to));
if ($reply) {
$replier_profile = $reply->getProfile();
}
$this->id = $this->notice->id;
$this->from_user_id = $this->profile->id;
- $user = $this->profile->getUser();
-
- if (empty($user)) {
- // Gonna have to do till we can detect it
- $this->iso_language_code = common_config('site', 'language');
- } else {
- $this->iso_language_code = $user->language;
- }
+ $this->iso_language_code = Profile_prefs::getConfigData($this->profile, 'site', 'language');
- $this->source = $this->getSourceLink($this->notice->source);
+ // set source and source_link
+ $this->setSourceData();
- $avatar = $this->profile->getAvatar(AVATAR_STREAM_SIZE);
-
- $this->profile_image_url = ($avatar) ?
- $avatar->displayUrl() : Avatar::defaultImage(AVATAR_STREAM_SIZE);
+ $this->profile_image_url = $this->profile->avatarUrl(AVATAR_STREAM_SIZE);
$this->created_at = common_date_rfc2822($this->notice->created);
}
/**
- * Show the source of the notice
+ * Set the notice's source data (api/app name and URL)
*
* Either the name (and link) of the API client that posted the notice,
- * or one of other other channels.
- *
- * @param string $source the source of the Notice
+ * or one of other other channels. Uses the local notice object.
*
- * @return string a fully rendered source of the Notice
+ * @return void
*/
- function getSourceLink($source)
+ function setSourceData()
{
- // Gettext translations for the below source types are available.
- $source_name = _($source);
+ $source = null;
+ $source_link = null;
+
switch ($source) {
case 'web':
case 'xmpp':
case 'mail':
case 'omb':
case 'api':
+ // Gettext translations for the below source types are available.
+ $source = _($this->notice->source);
break;
+
default:
- $ns = Notice_source::staticGet($source);
- if ($ns) {
- $source_name = '<a href="' . $ns->url . '">' . $ns->name . '</a>';
+ $ns = Notice_source::getKV($this->notice->source);
+ if ($ns instanceof Notice_source) {
+ $source = $ns->code;
+ if (!empty($ns->url)) {
+ $source_link = $ns->url;
+ if (!empty($ns->name)) {
+ $source = $ns->name;
+ }
+ }
}
break;
}
- return $source_name;
+ $this->source = $source;
+ $this->source_link = $source_link;
}
}