[ Index ] |
PHP Cross Reference of Phabricator |
[Summary view] [Print] [Text view]
1 <?php 2 3 final class AlmanacNetwork 4 extends AlmanacDAO 5 implements PhabricatorPolicyInterface { 6 7 protected $name; 8 protected $mailKey; 9 protected $viewPolicy; 10 protected $editPolicy; 11 12 public static function initializeNewNetwork() { 13 return id(new AlmanacNetwork()) 14 ->setViewPolicy(PhabricatorPolicies::POLICY_USER) 15 ->setEditPolicy(PhabricatorPolicies::POLICY_ADMIN); 16 } 17 18 public function getConfiguration() { 19 return array( 20 self::CONFIG_AUX_PHID => true, 21 self::CONFIG_COLUMN_SCHEMA => array( 22 'name' => 'text128', 23 'mailKey' => 'bytes20', 24 ), 25 ) + parent::getConfiguration(); 26 } 27 28 public function generatePHID() { 29 return PhabricatorPHID::generateNewPHID(AlmanacNetworkPHIDType::TYPECONST); 30 } 31 32 public function save() { 33 if (!$this->mailKey) { 34 $this->mailKey = Filesystem::readRandomCharacters(20); 35 } 36 37 return parent::save(); 38 } 39 40 public function getURI() { 41 return '/almanac/network/view/'.$this->getName().'/'; 42 } 43 44 45 /* -( PhabricatorPolicyInterface )----------------------------------------- */ 46 47 48 public function getCapabilities() { 49 return array( 50 PhabricatorPolicyCapability::CAN_VIEW, 51 PhabricatorPolicyCapability::CAN_EDIT, 52 ); 53 } 54 55 public function getPolicy($capability) { 56 switch ($capability) { 57 case PhabricatorPolicyCapability::CAN_VIEW: 58 return $this->getViewPolicy(); 59 case PhabricatorPolicyCapability::CAN_EDIT: 60 return $this->getEditPolicy(); 61 } 62 } 63 64 public function hasAutomaticCapability($capability, PhabricatorUser $viewer) { 65 return false; 66 } 67 68 public function describeAutomaticCapability($capability) { 69 return null; 70 } 71 72 }
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 |