[ Index ] |
PHP Cross Reference of Phabricator |
[Summary view] [Print] [Text view]
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 }
title
Description
Body
title
Description
Body
title
Description
Body
title
Body
Generated: Sun Nov 30 09:20:46 2014 | Cross-referenced by PHPXref 0.7.1 |