diff options
| author | Joas Schilling <nickvergessen@gmx.de> | 2015-06-04 17:30:09 +0200 |
|---|---|---|
| committer | Joas Schilling <nickvergessen@gmx.de> | 2015-06-04 17:30:09 +0200 |
| commit | 9005711ad70148c0ee73f648a96dcc720644e9f9 (patch) | |
| tree | f9404cf36d5b750bfd4a2a8efa3e2c4068205a35 /phpBB/phpbb/auth/provider/oauth | |
| parent | db3782e4912e2945a546309dab38a4c00bd0f5c5 (diff) | |
| parent | c5178a19b244c15ff0ca5445972c7efc93c54ac4 (diff) | |
| download | forums-9005711ad70148c0ee73f648a96dcc720644e9f9.tar forums-9005711ad70148c0ee73f648a96dcc720644e9f9.tar.gz forums-9005711ad70148c0ee73f648a96dcc720644e9f9.tar.bz2 forums-9005711ad70148c0ee73f648a96dcc720644e9f9.tar.xz forums-9005711ad70148c0ee73f648a96dcc720644e9f9.zip | |
Merge pull request #3502 from marc1706/ticket/13564
[ticket/13564] Unlink user accounts upon deleting user
Diffstat (limited to 'phpBB/phpbb/auth/provider/oauth')
| -rw-r--r-- | phpBB/phpbb/auth/provider/oauth/oauth.php | 9 |
1 files changed, 6 insertions, 3 deletions
diff --git a/phpBB/phpbb/auth/provider/oauth/oauth.php b/phpBB/phpbb/auth/provider/oauth/oauth.php index c0ce3f1fba..be0fbf5831 100644 --- a/phpBB/phpbb/auth/provider/oauth/oauth.php +++ b/phpBB/phpbb/auth/provider/oauth/oauth.php @@ -553,13 +553,13 @@ class oauth extends \phpbb\auth\provider\base /** * {@inheritdoc} */ - public function get_auth_link_data() + public function get_auth_link_data($user_id = 0) { $block_vars = array(); // Get all external accounts tied to the current user $data = array( - 'user_id' => (int) $this->user->data['user_id'], + 'user_id' => ($user_id <= 0) ? (int) $this->user->data['user_id'] : (int) $user_id, ); $sql = 'SELECT oauth_provider_id, provider FROM ' . $this->auth_provider_oauth_token_account_assoc . ' WHERE ' . $this->db->sql_build_array('SELECT', $data); @@ -616,10 +616,13 @@ class oauth extends \phpbb\auth\provider\base return 'LOGIN_LINK_MISSING_DATA'; } + // Remove user specified in $link_data if possible + $user_id = isset($link_data['user_id']) ? $link_data['user_id'] : $this->user->data['user_id']; + // Remove the link $sql = 'DELETE FROM ' . $this->auth_provider_oauth_token_account_assoc . " WHERE provider = '" . $this->db->sql_escape($link_data['oauth_service']) . "' - AND user_id = " . (int) $this->user->data['user_id']; + AND user_id = " . (int) $user_id; $this->db->sql_query($sql); // Clear all tokens belonging to the user on this servce |
