*/
abstract function daemonScreenname();
- /**
- * get the microid uri of a given screenname
- *
- * @param string $screenname screenname
- *
- * @return string microid uri
- */
- function microiduri($screenname)
- {
- return $this->transport . ':' . $screenname;
- }
//========================UTILITY FUNCTIONS USEFUL TO IMPLEMENTATIONS - MISC ========================\
/**
*
* @param string $screenname screenname sending to
* @param string $code the confirmation code
- * @param User $user user sending to
+ * @param Profile $target For whom the code is valid for
*
* @return boolean success value
*/
- function sendConfirmationCode($screenname, $code, $user)
+ function sendConfirmationCode($screenname, $code, Profile $target)
{
// TRANS: Body text for confirmation code e-mail.
// TRANS: %1$s is a user nickname, %2$s is the StatusNet sitename,
' . (If you cannot click it, copy-and-paste it into the ' .
'address bar of your browser). If that user is not you, ' .
'or if you did not request this confirmation, just ignore this message.'),
- $user->nickname, common_config('site', 'name'), $this->getDisplayName(), common_local_url('confirmaddress', null, array('code' => $code)));
+ $target->getNickname(), common_config('site', 'name'), $this->getDisplayName(), common_local_url('confirmaddress', null, array('code' => $code)));
return $this->sendMessage($screenname, $body);
}
protected function formatNotice(Notice $notice)
{
$profile = $notice->getProfile();
+ $nicknames = $profile->getNickname();
try {
$parent = $notice->getParent();
$orig_profile = $parent->getProfile();
- $nicknames = sprintf('%1$s => %2$s', $profile->nickname, $orig_profile->nickname);
- } catch (Exception $e) {
- $nicknames = $profile->nickname;
+ $nicknames = sprintf('%1$s => %2$s', $profile->getNickname(), $orig_profile->getNickname());
+ } catch (NoParentNoticeException $e) {
+ // Not a reply, no parent notice stored
+ } catch (NoResultException $e) {
+ // Parent notice was probably deleted
}
return sprintf('%1$s: %2$s [%3$u]', $nicknames, $notice->content, $notice->id);
$chan = new IMChannel($this);
$cmd->execute($chan);
return true;
- } else {
- return false;
}
+ return false;
}
/**
return true;
}
- function onEndShowHeadElements($action)
+ function onEndShowHeadElements(Action $action)
{
- $aname = $action->trimmed('action');
-
- if ($aname == 'shownotice') {
+ if ($action instanceof ShownoticeAction) {
$user_im_prefs = new User_im_prefs();
- $user_im_prefs->user_id = $action->profile->id;
+ $user_im_prefs->user_id = $action->notice->getProfile()->getID();
$user_im_prefs->transport = $this->transport;
- if ($user_im_prefs->find() && $user_im_prefs->fetch() && $user_im_prefs->microid && $action->notice->uri) {
- $id = new Microid($this->microiduri($user_im_prefs->screenname),
- $action->notice->uri);
- $action->element('meta', array('name' => 'microid',
- 'content' => $id->toString()));
- }
-
- } else if ($aname == 'showstream') {
+ } elseif ($action instanceof ShowstreamAction) {
$user_im_prefs = new User_im_prefs();
- $user_im_prefs->user_id = $action->user->id;
+ $user_im_prefs->user_id = $action->getTarget()->getID();
$user_im_prefs->transport = $this->transport;
- if ($user_im_prefs->find() && $user_im_prefs->fetch() && $user_im_prefs->microid && $action->profile->profileurl) {
- $id = new Microid($this->microiduri($user_im_prefs->screenname),
- $action->selfUrl());
- $action->element('meta', array('name' => 'microid',
- 'content' => $id->toString()));
- }
}
}
'daemonScreenname' => $this->daemonScreenname());
}
- function onSendImConfirmationCode($transport, $screenname, $code, $user)
+ function onSendImConfirmationCode($transport, $screenname, $code, Profile $target)
{
if($transport == $this->transport)
{
- $this->sendConfirmationCode($screenname, $code, $user);
+ $this->sendConfirmationCode($screenname, $code, $target);
return false;
}
}