Path: blob/master/src/applications/auth/view/PhabricatorAuthAccountView.php
12256 views
<?php12final class PhabricatorAuthAccountView extends AphrontView {34private $externalAccount;5private $provider;67public function setExternalAccount(8PhabricatorExternalAccount $external_account) {9$this->externalAccount = $external_account;10return $this;11}1213public function setAuthProvider(PhabricatorAuthProvider $provider) {14$this->provider = $provider;15return $this;16}1718public function render() {19$account = $this->externalAccount;20$provider = $this->provider;2122require_celerity_resource('auth-css');2324$content = array();2526$dispname = $account->getDisplayName();27$username = $account->getUsername();28$realname = $account->getRealName();2930$use_name = null;31if (strlen($dispname)) {32$use_name = $dispname;33} else if (strlen($username) && strlen($realname)) {34$use_name = $username.' ('.$realname.')';35} else if (strlen($username)) {36$use_name = $username;37} else if (strlen($realname)) {38$use_name = $realname;39}4041$content[] = phutil_tag(42'div',43array(44'class' => 'auth-account-view-name',45),46$use_name);4748if ($provider) {49$prov_name = pht('%s Account', $provider->getProviderName());50} else {51$prov_name = pht('"%s" Account', $account->getProviderType());52}5354$content[] = phutil_tag(55'div',56array(57'class' => 'auth-account-view-provider-name',58),59array(60$prov_name,61));6263$account_uri = $account->getAccountURI();64if (strlen($account_uri)) {6566// Make sure we don't link a "javascript:" URI if a user somehow67// managed to get one here.6869if (PhabricatorEnv::isValidRemoteURIForLink($account_uri)) {70$account_uri = phutil_tag(71'a',72array(73'href' => $account_uri,74'target' => '_blank',75'rel' => 'noreferrer',76),77$account_uri);78}7980$content[] = phutil_tag(81'div',82array(83'class' => 'auth-account-view-account-uri',84),85$account_uri);86}8788$image_file = $account->getProfileImageFile();89$xform = PhabricatorFileTransform::getTransformByKey(90PhabricatorFileThumbnailTransform::TRANSFORM_PROFILE);91$image_uri = $image_file->getURIForTransform($xform);92list($x, $y) = $xform->getTransformedDimensions($image_file);9394$profile_image = phutil_tag(95'div',96array(97'class' => 'auth-account-view-profile-image',98'style' => 'background-image: url('.$image_uri.');',99));100101return phutil_tag(102'div',103array(104'class' => 'auth-account-view',105),106array(107$profile_image,108$content,109));110}111112}113114115