don't bother with subscription hoohaw; just ask the user to do it

darcs-hash:20080626203103-34904-19ef53bc734622a310a705608f3e227e2f387904.gz
This commit is contained in:
Evan Prodromou 2008-06-26 16:31:03 -04:00
parent 31b5ae1523
commit 48cac45fd9
4 changed files with 22 additions and 50 deletions

View File

@ -73,7 +73,9 @@ class ImsettingsAction extends SettingsAction {
} else {
common_input('jabber', _t('IM Address'),
($this->arg('jabber')) ? $this->arg('jabber') : NULL,
_t('Jabber or GTalk address, like "UserName@example.org"'));
_t('Jabber or GTalk address, like "UserName@example.org". ' .
'Make sure to subscribe to ' . jabber_daemon_address() .
' before adding your IM address here.'));
common_submit('add', 'Add');
}
}
@ -192,21 +194,19 @@ class ImsettingsAction extends SettingsAction {
return;
}
# XXX: optionally queue for offline sending
# XXX: queue for offline sending
if (!jabber_is_subscribed($jabber)) {
jabber_special_presence('subscribe', $jabber);
} else {
jabber_confirm_address($confirm->code,
$user->nickname,
$jabber);
}
jabber_confirm_address($confirm->code,
$user->nickname,
$jabber);
$this->show_form(_t('A confirmation code was ' .
' sent to the IM address you added. ' .
' You must approve ' . jabber_daemon_address() .
' for sending messages to you.'),
TRUE);
# XXX: I18N
$msg = 'A confirmation code was sent to the IM address you added. ' .
' You must approve ' . jabber_daemon_address() .
' for sending messages to you.';
$this->show_form($msg, TRUE);
}
function cancel_confirmation() {

View File

@ -24,7 +24,7 @@ create table avatar (
url varchar(255) unique key comment 'avatar location',
created datetime not null comment 'date this record was created',
modified timestamp comment 'date this record was modified',
constraint primary key (profile_id, width, height),
index avatar_profile_id_idx (profile_id)
) ENGINE=InnoDB;
@ -45,7 +45,7 @@ create table user (
password varchar(255) comment 'salted password, can be null for OpenID users',
email varchar(255) unique key comment 'email address for password recovery etc.',
jabber varchar(255) unique key comment 'jabber ID for notices',
jabbernotify tinyint default 0 comment 'whether to send notices to jabber',
jabbernotify tinyint default 0 comment 'whether to send notices to jabber',
updatefrompresence tinyint default 0 comment 'whether to record updates from Jabber presence notices',
sms varchar(64) unique key comment 'sms phone number',
carrier integer comment 'foreign key to sms_carrier' references sms_carrier (id),
@ -97,7 +97,7 @@ create table notice (
create table consumer (
consumer_key varchar(255) primary key comment 'unique identifier, root URL',
seed char(32) not null comment 'seed for new tokens by this consumer',
created datetime not null comment 'date this record was created',
modified timestamp comment 'date this record was modified'
) ENGINE=InnoDB;
@ -108,10 +108,10 @@ create table token (
secret char(32) not null comment 'secret value',
type tinyint not null default 0 comment 'request or access',
state tinyint default 0 comment 'for requests; 0 = initial, 1 = authorized, 2 = used',
created datetime not null comment 'date this record was created',
modified timestamp comment 'date this record was modified',
constraint primary key (consumer_key, tok)
) ENGINE=InnoDB;
@ -120,10 +120,10 @@ create table nonce (
tok char(32) not null comment 'identifying value',
nonce char(32) not null comment 'nonce',
ts datetime not null comment 'timestamp sent',
created datetime not null comment 'date this record was created',
modified timestamp comment 'date this record was modified',
constraint primary key (consumer_key, tok, nonce),
constraint foreign key (consumer_key, tok) references token (consumer_key, tok)
) ENGINE=InnoDB;
@ -136,7 +136,7 @@ create table user_openid (
user_id integer not null comment 'user owning this URL' references user (id),
created datetime not null comment 'date this record was created',
modified timestamp comment 'date this record was modified',
index user_openid_user_id_idx (user_id)
) ENGINE=InnoDB;

View File

@ -142,8 +142,3 @@ function jabber_broadcast_notice($notice) {
function jabber_format_notice(&$profile, &$notice) {
return $profile->nickname . ': ' . $notice->content;
}
# Dike this out for now
function jabber_is_subscribed($address) {
return false;
}

View File

@ -194,30 +194,7 @@ class XMPPDaemon {
'Accepted subscription from ' . $from);
break;
case 'subscribed':
$confirm = $this->get_confirmation($from);
if ($confirm) {
$user = User::staticGet($confirm->user_id);
if ($user) {
jabber_confirm_address($confirm->code,
$user->nickname,
$confirm->address);
} else {
$this->log(LOG_WARNING,
'got unexpected subscribed message from ' . $from);
}
}
case 'unsubscribed':
$user = $this->get_user($from);
if ($user) {
$this->set_notify($user, false);
}
$confirm = $this->get_confirmation($from);
if ($confirm) {
$user = User::staticGet($confirm->user_id);
if ($user) {
}
}
case 'unsubscribe':
$this->log(LOG_INFO,
'Ignoring "' . $pl['type'] . '" from ' . $from);