[ Index ] |
PHP Cross Reference of Phabricator |
[Summary view] [Print] [Text view]
1 <?php 2 3 abstract class PassphraseAbstractKey extends Phobject { 4 5 private $credential; 6 7 protected function requireCredential() { 8 if (!$this->credential) { 9 throw new Exception(pht('Credential is required!')); 10 } 11 return $this->credential; 12 } 13 14 private function loadCredential( 15 $phid, 16 PhabricatorUser $viewer) { 17 18 $credential = id(new PassphraseCredentialQuery()) 19 ->setViewer($viewer) 20 ->withPHIDs(array($phid)) 21 ->needSecrets(true) 22 ->executeOne(); 23 24 if (!$credential) { 25 throw new Exception(pht('Failed to load credential "%s"!', $phid)); 26 } 27 28 return $credential; 29 } 30 31 private function validateCredential( 32 PassphraseCredential $credential, 33 $provides_type) { 34 35 $type = $credential->getCredentialTypeImplementation(); 36 37 if (!$type) { 38 throw new Exception( 39 pht( 40 'Credential "%s" is of unknown type "%s"!', 41 'K'.$credential->getID(), 42 $credential->getCredentialType())); 43 } 44 45 if ($type->getProvidesType() !== $provides_type) { 46 throw new Exception( 47 pht( 48 'Credential "%s" must provide "%s", but provides "%s"!', 49 'K'.$credential->getID(), 50 $provides_type, 51 $type->getProvidesType())); 52 } 53 } 54 55 protected function loadAndValidateFromPHID( 56 $phid, 57 PhabricatorUser $viewer, 58 $type) { 59 60 $credential = $this->loadCredential($phid, $viewer); 61 62 $this->validateCredential($credential, $type); 63 64 $this->credential = $credential; 65 66 return $this; 67 } 68 69 public function getUsernameEnvelope() { 70 $credential = $this->requireCredential(); 71 return new PhutilOpaqueEnvelope($credential->getUsername()); 72 } 73 74 }
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 |