Path: blob/master/src/applications/config/storage/PhabricatorConfigEntry.php
12256 views
<?php12final class PhabricatorConfigEntry3extends PhabricatorConfigEntryDAO4implements5PhabricatorApplicationTransactionInterface,6PhabricatorPolicyInterface {78protected $namespace;9protected $configKey;10protected $value;11protected $isDeleted;1213protected function getConfiguration() {14return array(15self::CONFIG_AUX_PHID => true,16self::CONFIG_SERIALIZATION => array(17'value' => self::SERIALIZATION_JSON,18),19self::CONFIG_COLUMN_SCHEMA => array(20'namespace' => 'text64',21'configKey' => 'text64',22'isDeleted' => 'bool',23),24self::CONFIG_KEY_SCHEMA => array(25'key_name' => array(26'columns' => array('namespace', 'configKey'),27'unique' => true,28),29),30) + parent::getConfiguration();31}3233public function generatePHID() {34return PhabricatorPHID::generateNewPHID(35PhabricatorConfigConfigPHIDType::TYPECONST);36}3738public static function loadConfigEntry($key) {39$config_entry = id(new PhabricatorConfigEntry())40->loadOneWhere(41'configKey = %s AND namespace = %s',42$key,43'default');4445if (!$config_entry) {46$config_entry = id(new PhabricatorConfigEntry())47->setConfigKey($key)48->setNamespace('default')49->setIsDeleted(0);50}5152return $config_entry;53}545556/* -( PhabricatorApplicationTransactionInterface )------------------------- */575859public function getApplicationTransactionEditor() {60return new PhabricatorConfigEditor();61}6263public function getApplicationTransactionTemplate() {64return new PhabricatorConfigTransaction();65}666768/* -( PhabricatorPolicyInterface )----------------------------------------- */697071public function getCapabilities() {72return array(73PhabricatorPolicyCapability::CAN_VIEW,74PhabricatorPolicyCapability::CAN_EDIT,75);76}7778public function getPolicy($capability) {79return PhabricatorPolicies::POLICY_ADMIN;80}8182public function hasAutomaticCapability($capability, PhabricatorUser $viewer) {83return false;84}8586}878889