class ImsettingsAction extends SettingsAction {
- function show_top($arr) {
- $msg = $arr[0];
- $success = $arr[1];
- if ($msg) {
- $this->message($msg, $success);
- } else {
- common_element('div', 'instructions',
- _t('You can send and receive notices through '.
- 'Jabber/GTalk instant messages. Configure '.
- 'your address and settings below.'));
- }
- $this->settings_menu();
+ function get_instructions() {
+ return _t('You can send and receive notices through '.
+ 'Jabber/GTalk [instant messages](%%doc.im%%). Configure '.
+ 'your address and settings below.');
}
function show_form($msg=NULL, $success=false) {
$user = common_current_user();
- common_show_header(_t('IM settings'), NULL, array($msg, $success),
- array($this, 'show_top'));
-
- common_element_start('form', array('method' => 'POST',
+ $this->form_header(_t('IM Settings'), $msg, $success);
+ common_element_start('form', array('method' => 'post',
'id' => 'imsettings',
'action' =>
common_local_url('imsettings')));
common_element_start('p');
common_element('span', 'address unconfirmed', $confirm->address);
common_element('span', 'input_instructions',
- _t('Current confirmed Jabber/GTalk address.'));
+ _t('Awaiting confirmation on this address. Check your ' .
+ 'Jabber/GTalk account for a message with further ' .
+ 'instructions. (Did you add ' . jabber_daemon_address() .
+ ' to your buddy list?)'));
common_hidden('jabber', $confirm->address);
common_element_end('p');
common_submit('cancel', _t('Cancel'));
} 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". ' .
+ 'First, make sure to add ' . jabber_daemon_address() .
+ ' to your buddy list in your IM client or on GTalk.'));
common_submit('add', 'Add');
}
}
return;
}
- # XXX: optionally queue for offline sending
-
- if (!jabber_is_subscribed($jabber)) {
- jabber_special_presence('subscribe', $jabber);
- } else {
+ if (!common_config('queue', 'enabled')) {
jabber_confirm_address($confirm->code,
$user->nickname,
$jabber);
}
+
+ # 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(_t('A confirmation code was ' .
- ' sent to the IM address you added. ' .
- ' You must approve ' . jabber_daemon_address() .
- ' for sending messages to you.'),
- TRUE);
+ $this->show_form($msg, TRUE);
}
function cancel_confirmation() {
}
$user->query('COMMIT');
- # Unsubscribe to the old address
-
- jabber_special_presence('unsubscribe', $jabber);
+ # XXX: unsubscribe to the old address
$this->show_form(_t('The address was removed.'), TRUE);
}