forked from GNUsocial/gnu-social
Fix for errant deletion of all Twitter foreign_links
This commit is contained in:
parent
5e60bf2ca6
commit
6aac7cc6cd
@ -273,7 +273,16 @@ function remove_twitter_link($flink)
|
||||
common_log(LOG_INFO, 'Removing Twitter bridge Foreign link for ' .
|
||||
"user $user->nickname (user id: $user->id).");
|
||||
|
||||
$result = $flink->delete();
|
||||
$result = false;
|
||||
|
||||
// Be extra careful to make sure we have a good flink
|
||||
// before deleting
|
||||
if (!empty($flink->user_id)
|
||||
&& !empty($flink->foreign_id)
|
||||
&& !empty($flink->service))
|
||||
{
|
||||
$result = $flink->delete();
|
||||
}
|
||||
|
||||
if (empty($result)) {
|
||||
common_log(LOG_ERR, 'Could not remove Twitter bridge ' .
|
||||
|
@ -273,7 +273,13 @@ class TwitterauthorizationAction extends Action
|
||||
|
||||
$flink->user_id = $user_id;
|
||||
$flink->service = TWITTER_SERVICE;
|
||||
$flink->delete(); // delete stale flink, if any
|
||||
|
||||
// delete stale flink, if any
|
||||
$result = $flink->find(true);
|
||||
|
||||
if (!empty($result)) {
|
||||
$flink->delete();
|
||||
}
|
||||
|
||||
$flink->user_id = $user_id;
|
||||
$flink->foreign_id = $twuid;
|
||||
@ -455,6 +461,11 @@ class TwitterauthorizationAction extends Action
|
||||
|
||||
$user = User::register($args);
|
||||
|
||||
if (empty($user)) {
|
||||
$this->serverError(_('Error registering user.'));
|
||||
return;
|
||||
}
|
||||
|
||||
$result = $this->saveForeignLink($user->id,
|
||||
$this->twuid,
|
||||
$this->access_token);
|
||||
|
@ -250,7 +250,16 @@ class TwittersettingsAction extends ConnectSettingsAction
|
||||
$user = common_current_user();
|
||||
$flink = Foreign_link::getByUserID($user->id, TWITTER_SERVICE);
|
||||
|
||||
$result = $flink->delete();
|
||||
$result = false;
|
||||
|
||||
// Be extra careful to make sure we have a good flink
|
||||
// before deleting
|
||||
if (!empty($flink->user_id)
|
||||
&& !empty($flink->foreign_id)
|
||||
&& !empty($flink->service))
|
||||
{
|
||||
$result = $flink->delete();
|
||||
}
|
||||
|
||||
if (empty($result)) {
|
||||
common_log_db_error($flink, 'DELETE', __FILE__);
|
||||
|
Loading…
Reference in New Issue
Block a user