Path: blob/master/src/applications/people/conduit/UserConduitAPIMethod.php
12256 views
<?php12abstract class UserConduitAPIMethod extends ConduitAPIMethod {34final public function getApplication() {5return PhabricatorApplication::getByClass('PhabricatorPeopleApplication');6}78protected function buildUserInformationDictionary(9PhabricatorUser $user,10$with_email = false,11$with_availability = false) {1213$roles = array();14if ($user->getIsDisabled()) {15$roles[] = 'disabled';16}17if ($user->getIsSystemAgent()) {18$roles[] = 'agent';19}20if ($user->getIsMailingList()) {21$roles[] = 'list';22}23if ($user->getIsAdmin()) {24$roles[] = 'admin';25}2627$primary = $user->loadPrimaryEmail();28if ($primary && $primary->getIsVerified()) {29$email = $primary->getAddress();30$roles[] = 'verified';31} else {32$email = null;33$roles[] = 'unverified';34}3536if ($user->getIsApproved()) {37$roles[] = 'approved';38}3940if ($user->isUserActivated()) {41$roles[] = 'activated';42}4344$return = array(45'phid' => $user->getPHID(),46'userName' => $user->getUserName(),47'realName' => $user->getRealName(),48'image' => $user->getProfileImageURI(),49'uri' => PhabricatorEnv::getURI('/p/'.$user->getUsername().'/'),50'roles' => $roles,51);5253if ($with_email) {54$return['primaryEmail'] = $email;55}5657if ($with_availability) {58// TODO: Modernize this once we have a more long-term view of what the59// data looks like.60$until = $user->getAwayUntil();61if ($until) {62$return['currentStatus'] = 'away';63$return['currentStatusUntil'] = $until;64}65}6667return $return;68}6970}717273