[ Index ]

PHP Cross Reference of Phabricator

title

Body

[close]

/src/applications/auth/editor/ -> PhabricatorAuthProviderConfigEditor.php (source)

   1  <?php
   2  
   3  final class PhabricatorAuthProviderConfigEditor
   4    extends PhabricatorApplicationTransactionEditor {
   5  
   6    public function getEditorApplicationClass() {
   7      return 'PhabricatorAuthApplication';
   8    }
   9  
  10    public function getEditorObjectsDescription() {
  11      return pht('Auth Providers');
  12    }
  13  
  14    public function getTransactionTypes() {
  15      $types = parent::getTransactionTypes();
  16  
  17      $types[] = PhabricatorAuthProviderConfigTransaction::TYPE_ENABLE;
  18      $types[] = PhabricatorAuthProviderConfigTransaction::TYPE_REGISTRATION;
  19      $types[] = PhabricatorAuthProviderConfigTransaction::TYPE_LINK;
  20      $types[] = PhabricatorAuthProviderConfigTransaction::TYPE_UNLINK;
  21      $types[] = PhabricatorAuthProviderConfigTransaction::TYPE_TRUST_EMAILS;
  22      $types[] = PhabricatorAuthProviderConfigTransaction::TYPE_PROPERTY;
  23  
  24      return $types;
  25    }
  26  
  27    protected function getCustomTransactionOldValue(
  28      PhabricatorLiskDAO $object,
  29      PhabricatorApplicationTransaction $xaction) {
  30  
  31      switch ($xaction->getTransactionType()) {
  32        case PhabricatorAuthProviderConfigTransaction::TYPE_ENABLE:
  33          if ($object->getIsEnabled() === null) {
  34            return null;
  35          } else {
  36            return (int)$object->getIsEnabled();
  37          }
  38        case PhabricatorAuthProviderConfigTransaction::TYPE_REGISTRATION:
  39          return (int)$object->getShouldAllowRegistration();
  40        case PhabricatorAuthProviderConfigTransaction::TYPE_LINK:
  41          return (int)$object->getShouldAllowLink();
  42        case PhabricatorAuthProviderConfigTransaction::TYPE_UNLINK:
  43          return (int)$object->getShouldAllowUnlink();
  44        case PhabricatorAuthProviderConfigTransaction::TYPE_UNLINK:
  45          return (int)$object->getShouldTrustEmails();
  46        case PhabricatorAuthProviderConfigTransaction::TYPE_PROPERTY:
  47          $key = $xaction->getMetadataValue(
  48            PhabricatorAuthProviderConfigTransaction::PROPERTY_KEY);
  49          return $object->getProperty($key);
  50      }
  51    }
  52  
  53    protected function getCustomTransactionNewValue(
  54      PhabricatorLiskDAO $object,
  55      PhabricatorApplicationTransaction $xaction) {
  56  
  57      switch ($xaction->getTransactionType()) {
  58        case PhabricatorAuthProviderConfigTransaction::TYPE_ENABLE:
  59        case PhabricatorAuthProviderConfigTransaction::TYPE_REGISTRATION:
  60        case PhabricatorAuthProviderConfigTransaction::TYPE_LINK:
  61        case PhabricatorAuthProviderConfigTransaction::TYPE_UNLINK:
  62        case PhabricatorAuthProviderConfigTransaction::TYPE_TRUST_EMAILS:
  63        case PhabricatorAuthProviderConfigTransaction::TYPE_PROPERTY:
  64          return $xaction->getNewValue();
  65      }
  66    }
  67  
  68    protected function applyCustomInternalTransaction(
  69      PhabricatorLiskDAO $object,
  70      PhabricatorApplicationTransaction $xaction) {
  71      $v = $xaction->getNewValue();
  72      switch ($xaction->getTransactionType()) {
  73        case PhabricatorAuthProviderConfigTransaction::TYPE_ENABLE:
  74          return $object->setIsEnabled($v);
  75        case PhabricatorAuthProviderConfigTransaction::TYPE_REGISTRATION:
  76          return $object->setShouldAllowRegistration($v);
  77        case PhabricatorAuthProviderConfigTransaction::TYPE_LINK:
  78          return $object->setShouldAllowLink($v);
  79        case PhabricatorAuthProviderConfigTransaction::TYPE_UNLINK:
  80          return $object->setShouldAllowUnlink($v);
  81        case PhabricatorAuthProviderConfigTransaction::TYPE_TRUST_EMAILS:
  82          return $object->setShouldTrustEmails($v);
  83        case PhabricatorAuthProviderConfigTransaction::TYPE_PROPERTY:
  84          $key = $xaction->getMetadataValue(
  85            PhabricatorAuthProviderConfigTransaction::PROPERTY_KEY);
  86          return $object->setProperty($key, $v);
  87      }
  88    }
  89  
  90    protected function applyCustomExternalTransaction(
  91      PhabricatorLiskDAO $object,
  92      PhabricatorApplicationTransaction $xaction) {
  93      return;
  94    }
  95  
  96    protected function mergeTransactions(
  97      PhabricatorApplicationTransaction $u,
  98      PhabricatorApplicationTransaction $v) {
  99  
 100      $type = $u->getTransactionType();
 101      switch ($type) {
 102        case PhabricatorAuthProviderConfigTransaction::TYPE_ENABLE:
 103        case PhabricatorAuthProviderConfigTransaction::TYPE_REGISTRATION:
 104        case PhabricatorAuthProviderConfigTransaction::TYPE_LINK:
 105        case PhabricatorAuthProviderConfigTransaction::TYPE_UNLINK:
 106        case PhabricatorAuthProviderConfigTransaction::TYPE_TRUST_EMAILS:
 107          // For these types, last transaction wins.
 108          return $v;
 109      }
 110  
 111      return parent::mergeTransactions($u, $v);
 112    }
 113  
 114  }


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