Path: blob/master/src/applications/people/conduit/UserDisableConduitAPIMethod.php
12256 views
<?php12final class UserDisableConduitAPIMethod extends UserConduitAPIMethod {34public function getAPIMethodName() {5return 'user.disable';6}78public function getMethodDescription() {9return pht('Permanently disable specified users (admin only).');10}1112public function getMethodStatus() {13return self::METHOD_STATUS_DEPRECATED;14}1516public function getMethodStatusDescription() {17return pht('Obsoleted by method "user.edit".');18}1920protected function defineParamTypes() {21return array(22'phids' => 'required list<phid>',23);24}2526protected function defineReturnType() {27return 'void';28}2930protected function defineErrorTypes() {31return array(32'ERR-PERMISSIONS' => pht('Only admins can call this method.'),33'ERR-BAD-PHID' => pht('Non existent user PHID.'),34);35}3637protected function execute(ConduitAPIRequest $request) {38$actor = $request->getUser();39if (!$actor->getIsAdmin()) {40throw new ConduitException('ERR-PERMISSIONS');41}4243$phids = $request->getValue('phids');4445$users = id(new PhabricatorUser())->loadAllWhere(46'phid IN (%Ls)',47$phids);4849if (count($phids) != count($users)) {50throw new ConduitException('ERR-BAD-PHID');51}5253foreach ($phids as $phid) {54$params = array(55'transactions' => array(56array(57'type' => 'disabled',58'value' => true,59),60),61'objectIdentifier' => $phid,62);6364id(new ConduitCall('user.edit', $params))65->setUser($actor)66->execute();67}6869return null;70}7172}737475