[ Index ]

PHP Cross Reference of Phabricator

title

Body

[close]

/src/applications/auth/view/ -> PhabricatorAuthAccountView.php (source)

   1  <?php
   2  
   3  final class PhabricatorAuthAccountView extends AphrontView {
   4  
   5    private $externalAccount;
   6    private $provider;
   7  
   8    public function setExternalAccount(
   9      PhabricatorExternalAccount $external_account) {
  10      $this->externalAccount = $external_account;
  11      return $this;
  12    }
  13  
  14    public function setAuthProvider(PhabricatorAuthProvider $provider) {
  15      $this->provider = $provider;
  16      return $this;
  17    }
  18  
  19    public function render() {
  20      $account = $this->externalAccount;
  21      $provider = $this->provider;
  22  
  23      require_celerity_resource('auth-css');
  24  
  25      $content = array();
  26  
  27      $dispname = $account->getDisplayName();
  28      $username = $account->getUsername();
  29      $realname = $account->getRealName();
  30  
  31      $use_name = null;
  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;
  40      } else {
  41        $use_name = $account->getAccountID();
  42      }
  43  
  44      $content[] = phutil_tag(
  45        'div',
  46        array(
  47          'class' => 'auth-account-view-name',
  48        ),
  49        $use_name);
  50  
  51      if ($provider) {
  52        $prov_name = pht('%s Account', $provider->getProviderName());
  53      } else {
  54        $prov_name = pht('"%s" Account', $account->getProviderType());
  55      }
  56  
  57      $content[] = phutil_tag(
  58        'div',
  59        array(
  60          'class' => 'auth-account-view-provider-name',
  61        ),
  62        array(
  63          $prov_name,
  64          " \xC2\xB7 ",
  65          $account->getAccountID(),
  66        ));
  67  
  68      $account_uri = $account->getAccountURI();
  69      if (strlen($account_uri)) {
  70  
  71        // Make sure we don't link a "javascript:" URI if a user somehow
  72        // managed to get one here.
  73  
  74        if (PhabricatorEnv::isValidRemoteWebResource($account_uri)) {
  75          $account_uri = phutil_tag(
  76            'a',
  77            array(
  78              'href' => $account_uri,
  79              'target' => '_blank',
  80            ),
  81            $account_uri);
  82        }
  83  
  84        $content[] = phutil_tag(
  85          'div',
  86          array(
  87            'class' => 'auth-account-view-account-uri',
  88          ),
  89          $account_uri);
  90      }
  91  
  92      $image_uri = $account->getProfileImageFile()->getProfileThumbURI();
  93  
  94      return phutil_tag(
  95        'div',
  96        array(
  97          'class' => 'auth-account-view',
  98          'style' => 'background-image: url('.$image_uri.')',
  99        ),
 100        $content);
 101    }
 102  
 103  }


Generated: Sun Nov 30 09:20:46 2014 Cross-referenced by PHPXref 0.7.1