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 |