]> git.mxchange.org Git - quix0rs-gnu-social.git/blobdiff - actions/imsettings.php
reply_to is now stored on the notice, not on the reply record
[quix0rs-gnu-social.git] / actions / imsettings.php
index b76779a7093ab6256b292d4dec2cc39ab0687b65..bad0bc18a49ccdddf69897eb8a98d16b5d9195fc 100644 (file)
@@ -24,26 +24,16 @@ require_once(INSTALLDIR.'/lib/jabber.php');
 
 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')));
@@ -64,14 +54,19 @@ class ImsettingsAction extends SettingsAction {
                                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');
                        }
                }
@@ -148,6 +143,8 @@ class ImsettingsAction extends SettingsAction {
 
        function add_address() {
 
+               $user = common_current_user();
+
                $jabber = $this->trimmed('jabber');
 
                # Some validation
@@ -188,21 +185,19 @@ class ImsettingsAction extends SettingsAction {
                        return;
                }
 
-               # XXX: optionally queue for offline sending
-
-               if (!jabber_is_subscribed($jabber)) {
-                       jabber_special_presence('subscribe', $address);
-               } else {
+               if (!common_config('queue', 'enabled')) {
                        jabber_confirm_address($confirm->code,
                                                                   $user->nickname,
                                                                   $jabber);
                }
+                       
+               # XXX: I18N
 
-               $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);
+               $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() {
@@ -251,9 +246,7 @@ class ImsettingsAction extends SettingsAction {
                }
                $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);
        }