[ Index ]

PHP Cross Reference of Phabricator

title

Body

[close]

/src/applications/almanac/storage/ -> AlmanacNetwork.php (source)

   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  }


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