diff --git a/lib/jabber.php b/lib/jabber.php index 9bde914a30..4f0335f910 100644 --- a/lib/jabber.php +++ b/lib/jabber.php @@ -79,12 +79,21 @@ function jabber_send_presence($status=Null, $show='available', $to=Null) { function jabber_confirm_address($code, $nickname, $address) { - # FIXME: above arguments are unused, we start the process with a - # subscription - # XXX: no idea what we do if the update daemon is already subscribed. + # Fire off a subscription, just in case jabber_special_presence('subscribe', $address); + # Hopefully this goes through if we're not already subscribed + + $body = 'User "' . $nickname . '" on ' . common_config('site', 'name') . + 'has said that your Jabber ID belongs to them. ' . + 'If that\'s true, you can confirm by clicking on this URL: ' . + common_local_url('confirmaddress', array('code' => $confirm->code)) . + ' . (If you cannot click it, copy-and-paste it into the ' . + 'address bar of your browser). If that user isn\'t you, ' . + 'or if you didn\'t request this confirmation, just ignore this message.'; + + jabber_send_message($address, $body); } function jabber_special_presence($type, $to=NULL, $show=NULL, $status=NULL) { diff --git a/xmppdaemon.php b/xmppdaemon.php index 1039407b36..94358f7eed 100644 --- a/xmppdaemon.php +++ b/xmppdaemon.php @@ -162,13 +162,6 @@ class XMPPDaemon { $this->subscribed($from); break; case 'subscribed': - # Are we trying to confirm this address? - $confirm = Confirm_address::staticGet('address', $from); - if ($confirm) { - $this->send_confirmation_code($from, $confirm); - } - # Otherwise, silently ignore - break; case 'unsubscribe': case 'unsubscribed': # XXX: do we care? @@ -217,17 +210,6 @@ class XMPPDaemon { $this->conn->send($out); } - function send_confirmation_code($to, &$confirm) { - $body = 'Someone has asked to add this Jabber ID to their ' . - 'account on ' . common_config('site', 'name') . '. ' . - 'If it was you, you can confirm by clicking on this URL: ' . - common_local_url('confirmaddress', array('code' => $confirm->code)) . - ' . (If you cannot click it, copy-and-paste it into the ' . - 'address bar of your browser). If it wasn\'t you, ' . - 'just ignore this message.'; - - $this->conn->message($to, $body); - } } $daemon = new XMPPDaemon();