X-Git-Url: https://git.mxchange.org/?a=blobdiff_plain;f=plugins%2FTwitterBridge%2Ftwittersettings.php;h=763a5860790b059bcfbc686f53c0517f7ddc7c70;hb=eb1faa78658669bff57288ff48a4af4aa1a89c1b;hp=631b29f52a83f1ab294162af689d3a30e20679ef;hpb=b8001ea1079c4c8895fd2323e1e4a47c0d71fde3;p=quix0rs-gnu-social.git diff --git a/plugins/TwitterBridge/twittersettings.php b/plugins/TwitterBridge/twittersettings.php index 631b29f52a..763a586079 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,8 +44,7 @@ require_once INSTALLDIR . '/plugins/TwitterBridge/twitter.php'; * * @see SettingsAction */ - -class TwittersettingsAction extends ConnectSettingsAction +class TwittersettingsAction extends ProfileSettingsAction { /** * Title of the page @@ -79,7 +77,6 @@ class TwittersettingsAction extends ConnectSettingsAction * * @return void */ - function showContent() { @@ -130,6 +127,7 @@ class TwittersettingsAction extends ConnectSettingsAction 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', @@ -139,7 +137,7 @@ class TwittersettingsAction extends ConnectSettingsAction $this->text(_m(' first.')); $this->elementEnd('p'); } else { - + // TRANS: %1$s is the current website name. $note = _m('Keep your %1$s account but disconnect from Twitter. ' . 'You can use your %1$s password to log in.'); @@ -182,7 +180,7 @@ class TwittersettingsAction extends ConnectSettingsAction if (common_config('twitterimport','enabled')) { $this->elementStart('li'); $this->checkbox('noticerecv', - _m('Import my Friends Timeline.'), + _m('Import my friends timeline.'), ($flink) ? ($flink->noticesync & FOREIGN_NOTICE_RECV) : false); @@ -219,7 +217,6 @@ class TwittersettingsAction extends ConnectSettingsAction * * @return void */ - function handlePost() { // CSRF protection @@ -244,12 +241,16 @@ class TwittersettingsAction extends ConnectSettingsAction * * @return void */ - function removeTwitterAccount() { $user = common_current_user(); $flink = Foreign_link::getByUserID($user->id, TWITTER_SERVICE); + if (empty($flink)) { + $this->clientError(_m('No Twitter connection to remove.')); + return; + } + $result = $flink->safeDelete(); if (empty($result)) { @@ -266,7 +267,6 @@ class TwittersettingsAction extends ConnectSettingsAction * * @return void */ - function savePreferences() { $noticesend = $this->boolean('noticesend'); @@ -284,6 +284,7 @@ class TwittersettingsAction extends ConnectSettingsAction } $original = clone($flink); + $wasReceiving = (bool)($original->noticesync & FOREIGN_NOTICE_RECV); $flink->set_flags($noticesend, $noticerecv, $replysync, $friendsync); $result = $flink->update($original); @@ -293,7 +294,19 @@ class TwittersettingsAction extends ConnectSettingsAction return; } + if ($wasReceiving xor $noticerecv) { + $this->notifyDaemon($flink->foreign_id, $noticerecv); + } + $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 + } + }