[ Index ]

PHP Cross Reference of Phabricator

title

Body

[close]

/src/applications/config/storage/ -> PhabricatorConfigEntry.php (source)

   1  <?php
   2  
   3  final class PhabricatorConfigEntry extends PhabricatorConfigEntryDAO
   4    implements PhabricatorPolicyInterface {
   5  
   6    protected $namespace;
   7    protected $configKey;
   8    protected $value;
   9    protected $isDeleted;
  10  
  11    public function getConfiguration() {
  12      return array(
  13        self::CONFIG_AUX_PHID => true,
  14        self::CONFIG_SERIALIZATION => array(
  15          'value' => self::SERIALIZATION_JSON,
  16        ),
  17        self::CONFIG_COLUMN_SCHEMA => array(
  18          'namespace' => 'text64',
  19          'configKey' => 'text64',
  20          'isDeleted' => 'bool',
  21        ),
  22        self::CONFIG_KEY_SCHEMA => array(
  23          'key_name' => array(
  24            'columns' => array('namespace', 'configKey'),
  25            'unique' => true,
  26          ),
  27        ),
  28      ) + parent::getConfiguration();
  29    }
  30  
  31    public function generatePHID() {
  32      return PhabricatorPHID::generateNewPHID(
  33        PhabricatorConfigConfigPHIDType::TYPECONST);
  34    }
  35  
  36    public static function loadConfigEntry($key) {
  37      $config_entry = id(new PhabricatorConfigEntry())
  38        ->loadOneWhere(
  39          'configKey = %s AND namespace = %s',
  40          $key,
  41          'default');
  42  
  43      if (!$config_entry) {
  44        $config_entry = id(new PhabricatorConfigEntry())
  45          ->setConfigKey($key)
  46          ->setNamespace('default');
  47      }
  48  
  49      return $config_entry;
  50    }
  51  
  52  
  53  /* -(  PhabricatorPolicyInterface  )----------------------------------------- */
  54  
  55  
  56    public function getCapabilities() {
  57      return array(
  58        PhabricatorPolicyCapability::CAN_VIEW,
  59        PhabricatorPolicyCapability::CAN_EDIT,
  60      );
  61    }
  62  
  63    public function getPolicy($capability) {
  64      return PhabricatorPolicies::POLICY_ADMIN;
  65    }
  66  
  67    public function hasAutomaticCapability($capability, PhabricatorUser $viewer) {
  68      return false;
  69    }
  70  
  71    public function describeAutomaticCapability($capability) {
  72      return null;
  73    }
  74  
  75  }


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