Changeset View
Changeset View
Standalone View
Standalone View
src/applications/people/storage/PhabricatorUser.php
| Show First 20 Lines • Show All 1,104 Lines • ▼ Show 20 Lines | |||||
| /* -( PhabricatorDestructibleInterface )----------------------------------- */ | /* -( PhabricatorDestructibleInterface )----------------------------------- */ | ||||
| public function destroyObjectPermanently( | public function destroyObjectPermanently( | ||||
| PhabricatorDestructionEngine $engine) { | PhabricatorDestructionEngine $engine) { | ||||
| $viewer = $engine->getViewer(); | |||||
| $this->openTransaction(); | $this->openTransaction(); | ||||
| $this->delete(); | $this->delete(); | ||||
| $externals = id(new PhabricatorExternalAccountQuery()) | $externals = id(new PhabricatorExternalAccountQuery()) | ||||
| ->setViewer($engine->getViewer()) | ->setViewer($viewer) | ||||
| ->withUserPHIDs(array($this->getPHID())) | ->withUserPHIDs(array($this->getPHID())) | ||||
| ->execute(); | ->newIterator(); | ||||
| foreach ($externals as $external) { | foreach ($externals as $external) { | ||||
| $external->delete(); | $engine->destroyObject($external); | ||||
| } | } | ||||
| $prefs = id(new PhabricatorUserPreferencesQuery()) | $prefs = id(new PhabricatorUserPreferencesQuery()) | ||||
| ->setViewer($engine->getViewer()) | ->setViewer($viewer) | ||||
| ->withUsers(array($this)) | ->withUsers(array($this)) | ||||
| ->execute(); | ->execute(); | ||||
| foreach ($prefs as $pref) { | foreach ($prefs as $pref) { | ||||
| $engine->destroyObject($pref); | $engine->destroyObject($pref); | ||||
| } | } | ||||
| $profiles = id(new PhabricatorUserProfile())->loadAllWhere( | $profiles = id(new PhabricatorUserProfile())->loadAllWhere( | ||||
| 'userPHID = %s', | 'userPHID = %s', | ||||
| $this->getPHID()); | $this->getPHID()); | ||||
| foreach ($profiles as $profile) { | foreach ($profiles as $profile) { | ||||
| $profile->delete(); | $profile->delete(); | ||||
| } | } | ||||
| $keys = id(new PhabricatorAuthSSHKeyQuery()) | $keys = id(new PhabricatorAuthSSHKeyQuery()) | ||||
| ->setViewer($engine->getViewer()) | ->setViewer($viewer) | ||||
| ->withObjectPHIDs(array($this->getPHID())) | ->withObjectPHIDs(array($this->getPHID())) | ||||
| ->execute(); | ->execute(); | ||||
| foreach ($keys as $key) { | foreach ($keys as $key) { | ||||
| $engine->destroyObject($key); | $engine->destroyObject($key); | ||||
| } | } | ||||
| $emails = id(new PhabricatorUserEmail())->loadAllWhere( | $emails = id(new PhabricatorUserEmail())->loadAllWhere( | ||||
| 'userPHID = %s', | 'userPHID = %s', | ||||
| ▲ Show 20 Lines • Show All 360 Lines • Show Last 20 Lines | |||||