3 final class PhabricatorAuthAccountView
extends AphrontView
{
5 private $externalAccount;
8 public function setExternalAccount(
9 PhabricatorExternalAccount
$external_account) {
10 $this->externalAccount
= $external_account;
14 public function setAuthProvider(PhabricatorAuthProvider
$provider) {
15 $this->provider
= $provider;
19 public function render() {
20 $account = $this->externalAccount
;
21 $provider = $this->provider
;
23 require_celerity_resource('auth-css');
27 $dispname = $account->getDisplayName();
28 $username = $account->getUsername();
29 $realname = $account->getRealName();
32 if (strlen($dispname)) {
33 $use_name = $dispname;
34 } else if (strlen($username) && strlen($realname)) {
35 $use_name = $username.' ('.$realname.')';
36 } else if (strlen($username)) {
37 $use_name = $username;
38 } else if (strlen($realname)) {
39 $use_name = $realname;
42 $content[] = phutil_tag(
45 'class' => 'auth-account-view-name',
50 $prov_name = pht('%s Account', $provider->getProviderName());
52 $prov_name = pht('"%s" Account', $account->getProviderType());
55 $content[] = phutil_tag(
58 'class' => 'auth-account-view-provider-name',
64 $account_uri = $account->getAccountURI();
65 if (strlen($account_uri)) {
67 // Make sure we don't link a "javascript:" URI if a user somehow
68 // managed to get one here.
70 if (PhabricatorEnv
::isValidRemoteURIForLink($account_uri)) {
71 $account_uri = phutil_tag(
74 'href' => $account_uri,
76 'rel' => 'noreferrer',
81 $content[] = phutil_tag(
84 'class' => 'auth-account-view-account-uri',
89 $image_file = $account->getProfileImageFile();
90 $xform = PhabricatorFileTransform
::getTransformByKey(
91 PhabricatorFileThumbnailTransform
::TRANSFORM_PROFILE
);
92 $image_uri = $image_file->getURIForTransform($xform);
93 list($x, $y) = $xform->getTransformedDimensions($image_file);
95 $profile_image = phutil_tag(
98 'class' => 'auth-account-view-profile-image',
99 'style' => 'background-image: url('.$image_uri.');',
105 'class' => 'auth-account-view',