X-Git-Url: https://git.mxchange.org/?a=blobdiff_plain;f=plugins%2FTwitterBridge%2Ftwittersettings.php;h=88799e75a9817964b1c3eb6fe1161edb445745a6;hb=dad72cce28866d7a95926d97378c20aa3eff9150;hp=33c5eb65bb23c3c291022f2fd7f5589a6cf33511;hpb=a2090ecc97f93894ba6f833acde5f44058988510;p=quix0rs-gnu-social.git diff --git a/plugins/TwitterBridge/twittersettings.php b/plugins/TwitterBridge/twittersettings.php index 33c5eb65bb..88799e75a9 100644 --- a/plugins/TwitterBridge/twittersettings.php +++ b/plugins/TwitterBridge/twittersettings.php @@ -31,7 +31,6 @@ if (!defined('STATUSNET') && !defined('LACONICA')) { exit(1); } -require_once INSTALLDIR . '/lib/connectsettingsaction.php'; require_once INSTALLDIR . '/plugins/TwitterBridge/twitter.php'; /** @@ -45,7 +44,7 @@ require_once INSTALLDIR . '/plugins/TwitterBridge/twitter.php'; * * @see SettingsAction */ -class TwittersettingsAction extends ConnectSettingsAction +class TwittersettingsAction extends ProfileSettingsAction { /** * Title of the page @@ -55,6 +54,7 @@ class TwittersettingsAction extends ConnectSettingsAction function title() { + // TRANS: Title for page with Twitter integration settings. return _m('Twitter settings'); } @@ -66,6 +66,7 @@ class TwittersettingsAction extends ConnectSettingsAction function getInstructions() { + // TRANS: Instructions for page with Twitter integration settings. return _m('Connect your Twitter account to share your updates ' . 'with your Twitter friends and vice-versa.'); } @@ -107,57 +108,62 @@ class TwittersettingsAction extends ConnectSettingsAction $this->elementStart('ul', 'form_data'); $this->elementStart('li', array('id' => 'settings_twitter_login_button')); $this->element('a', array('href' => common_local_url('twitterauthorization')), + // TRANS: Link description to connect to a Twitter account. 'Connect my Twitter account'); $this->elementEnd('li'); $this->elementEnd('ul'); $this->elementEnd('fieldset'); } else { + // TRANS: Fieldset legend. $this->element('legend', null, _m('Twitter account')); $this->elementStart('p', array('id' => 'form_confirmed')); $this->element('a', array('href' => $fuser->uri), $fuser->nickname); $this->elementEnd('p'); $this->element('p', 'form_note', + // TRANS: Form note when a Twitter account has been connected. _m('Connected Twitter account')); $this->elementEnd('fieldset'); $this->elementStart('fieldset'); + // TRANS: Fieldset legend. $this->element('legend', null, _m('Disconnect my account from Twitter')); if (!$user->password) { - $this->elementStart('p', array('class' => 'form_guide')); - // @todo FIXME: Bad i18n (patchwork in three parts). - $this->text(_m('Disconnecting your Twitter ' . - 'could make it impossible to log in! Please ')); - $this->element('a', - array('href' => common_local_url('passwordsettings')), - _m('set a password')); - - $this->text(_m(' first.')); + // TRANS: Form guide. %s is a URL to the password settings. + // TRANS: This message contains a Markdown link in the form [description](link). + $message = sprintf(_m('Disconnecting your Twitter account ' . + 'could make it impossible to log in! Please ' . + '[set a password](%s) first.'), + common_local_url('passwordsettings')); + $message = common_markup_to_html($message); + $this->text($message); $this->elementEnd('p'); } else { - // TRANS: %1$s is the current website name. + // TRANS: Form instructions. %1$s is the StatusNet sitename. $note = _m('Keep your %1$s account but disconnect from Twitter. ' . 'You can use your %1$s password to log in.'); - $site = common_config('site', 'name'); $this->element('p', 'instructions', sprintf($note, $site)); - $this->submit('disconnect', _m('Disconnect')); + // TRANS: Button text for disconnecting a Twitter account. + $this->submit('disconnect', _m('BUTTON','Disconnect')); } $this->elementEnd('fieldset'); $this->elementStart('fieldset', array('id' => 'settings_twitter_preferences')); + // TRANS: Fieldset legend. $this->element('legend', null, _m('Preferences')); $this->elementStart('ul', 'form_data'); $this->elementStart('li'); $this->checkbox('noticesend', + // TRANS: Checkbox label. _m('Automatically send my notices to Twitter.'), ($flink) ? ($flink->noticesync & FOREIGN_NOTICE_SEND) : @@ -165,6 +171,7 @@ class TwittersettingsAction extends ConnectSettingsAction $this->elementEnd('li'); $this->elementStart('li'); $this->checkbox('replysync', + // TRANS: Checkbox label. _m('Send local "@" replies to Twitter.'), ($flink) ? ($flink->noticesync & FOREIGN_NOTICE_SEND_REPLY) : @@ -172,6 +179,7 @@ class TwittersettingsAction extends ConnectSettingsAction $this->elementEnd('li'); $this->elementStart('li'); $this->checkbox('friendsync', + // TRANS: Checkbox label. _m('Subscribe to my Twitter friends here.'), ($flink) ? ($flink->friendsync & FOREIGN_FRIEND_RECV) : @@ -181,6 +189,7 @@ class TwittersettingsAction extends ConnectSettingsAction if (common_config('twitterimport','enabled')) { $this->elementStart('li'); $this->checkbox('noticerecv', + // TRANS: Checkbox label. _m('Import my friends timeline.'), ($flink) ? ($flink->noticesync & FOREIGN_NOTICE_RECV) : @@ -197,9 +206,11 @@ class TwittersettingsAction extends ConnectSettingsAction $this->elementEnd('ul'); if ($flink) { - $this->submit('save', _m('Save')); + // TRANS: Button text for saving Twitter integration settings. + $this->submit('save', _m('BUTTON','Save')); } else { - $this->submit('add', _m('Add')); + // TRANS: Button text for adding Twitter integration. + $this->submit('add', _m('BUTTON','Add')); } $this->elementEnd('fieldset'); @@ -223,6 +234,7 @@ class TwittersettingsAction extends ConnectSettingsAction // CSRF protection $token = $this->trimmed('token'); if (!$token || $token != common_session_token()) { + // TRANS: Client error displayed when the session token does not match or is not given. $this->showForm(_m('There was a problem with your session token. '. 'Try again, please.')); return; @@ -233,6 +245,7 @@ class TwittersettingsAction extends ConnectSettingsAction } else if ($this->arg('disconnect')) { $this->removeTwitterAccount(); } else { + // TRANS: Client error displayed when the submitted form contains unexpected data. $this->showForm(_m('Unexpected form submission.')); } } @@ -248,6 +261,7 @@ class TwittersettingsAction extends ConnectSettingsAction $flink = Foreign_link::getByUserID($user->id, TWITTER_SERVICE); if (empty($flink)) { + // TRANS: Client error displayed when trying to remove a connected Twitter account when there isn't one connected. $this->clientError(_m('No Twitter connection to remove.')); return; } @@ -256,10 +270,12 @@ class TwittersettingsAction extends ConnectSettingsAction if (empty($result)) { common_log_db_error($flink, 'DELETE', __FILE__); - $this->serverError(_m('Couldn\'t remove Twitter user.')); + // TRANS: Server error displayed when trying to remove a connected Twitter account fails. + $this->serverError(_m('Could not remove Twitter user.')); return; } + // TRANS: Success message displayed after disconnecting a Twitter account. $this->showForm(_m('Twitter account disconnected.'), true); } @@ -280,20 +296,38 @@ class TwittersettingsAction extends ConnectSettingsAction if (empty($flink)) { common_log_db_error($flink, 'SELECT', __FILE__); - $this->showForm(_m('Couldn\'t save Twitter preferences.')); + // @todo FIXME: Shouldn't this be a serverError()? + // TRANS: Server error displayed when saving Twitter integration preferences fails. + $this->showForm(_m('Could not save Twitter preferences.')); return; } $original = clone($flink); + $wasReceiving = (bool)($original->noticesync & FOREIGN_NOTICE_RECV); $flink->set_flags($noticesend, $noticerecv, $replysync, $friendsync); $result = $flink->update($original); if ($result === false) { common_log_db_error($flink, 'UPDATE', __FILE__); - $this->showForm(_m('Couldn\'t save Twitter preferences.')); + // @todo FIXME: Shouldn't this be a serverError()? + // TRANS: Server error displayed when saving Twitter integration preferences fails. + $this->showForm(_m('Could not save Twitter preferences.')); return; } + if ($wasReceiving xor $noticerecv) { + $this->notifyDaemon($flink->foreign_id, $noticerecv); + } + + // TRANS: Success message after saving Twitter integration preferences. $this->showForm(_m('Twitter preferences saved.'), true); } + + /** + * Tell the import daemon that we've updated a user's receive status. + */ + function notifyDaemon($twitterUserId, $receiving) + { + // @todo... should use control signals rather than queues + } }