Changeset View
Changeset View
Standalone View
Standalone View
src/applications/phame/storage/PhameBlog.php
Show All 18 Lines | final class PhameBlog extends PhameDAO | ||||
protected $domain; | protected $domain; | ||||
protected $domainFullURI; | protected $domainFullURI; | ||||
protected $parentSite; | protected $parentSite; | ||||
protected $parentDomain; | protected $parentDomain; | ||||
protected $configData; | protected $configData; | ||||
protected $creatorPHID; | protected $creatorPHID; | ||||
protected $viewPolicy; | protected $viewPolicy; | ||||
protected $editPolicy; | protected $editPolicy; | ||||
protected $interactPolicy; | |||||
protected $status; | protected $status; | ||||
protected $mailKey; | protected $mailKey; | ||||
protected $profileImagePHID; | protected $profileImagePHID; | ||||
protected $headerImagePHID; | protected $headerImagePHID; | ||||
private $profileImageFile = self::ATTACHABLE; | private $profileImageFile = self::ATTACHABLE; | ||||
private $headerImageFile = self::ATTACHABLE; | private $headerImageFile = self::ATTACHABLE; | ||||
Show All 16 Lines | return array( | ||||
'parentDomain' => 'text128?', | 'parentDomain' => 'text128?', | ||||
'status' => 'text32', | 'status' => 'text32', | ||||
'mailKey' => 'bytes20', | 'mailKey' => 'bytes20', | ||||
'profileImagePHID' => 'phid?', | 'profileImagePHID' => 'phid?', | ||||
'headerImagePHID' => 'phid?', | 'headerImagePHID' => 'phid?', | ||||
'editPolicy' => 'policy', | 'editPolicy' => 'policy', | ||||
'viewPolicy' => 'policy', | 'viewPolicy' => 'policy', | ||||
'interactPolicy' => 'policy', | |||||
), | ), | ||||
self::CONFIG_KEY_SCHEMA => array( | self::CONFIG_KEY_SCHEMA => array( | ||||
'key_phid' => null, | 'key_phid' => null, | ||||
'phid' => array( | 'phid' => array( | ||||
'columns' => array('phid'), | 'columns' => array('phid'), | ||||
'unique' => true, | 'unique' => true, | ||||
), | ), | ||||
'domain' => array( | 'domain' => array( | ||||
Show All 16 Lines | return PhabricatorPHID::generateNewPHID( | ||||
PhabricatorPhameBlogPHIDType::TYPECONST); | PhabricatorPhameBlogPHIDType::TYPECONST); | ||||
} | } | ||||
public static function initializeNewBlog(PhabricatorUser $actor) { | public static function initializeNewBlog(PhabricatorUser $actor) { | ||||
$blog = id(new PhameBlog()) | $blog = id(new PhameBlog()) | ||||
->setCreatorPHID($actor->getPHID()) | ->setCreatorPHID($actor->getPHID()) | ||||
->setStatus(self::STATUS_ACTIVE) | ->setStatus(self::STATUS_ACTIVE) | ||||
->setViewPolicy(PhabricatorPolicies::getMostOpenPolicy()) | ->setViewPolicy(PhabricatorPolicies::getMostOpenPolicy()) | ||||
->setEditPolicy(PhabricatorPolicies::POLICY_USER); | ->setEditPolicy(PhabricatorPolicies::POLICY_USER) | ||||
->setInteractPolicy(PhabricatorPolicies::POLICY_USER); | |||||
return $blog; | return $blog; | ||||
} | } | ||||
public function isArchived() { | public function isArchived() { | ||||
return ($this->getStatus() == self::STATUS_ARCHIVED); | return ($this->getStatus() == self::STATUS_ARCHIVED); | ||||
} | } | ||||
public static function getStatusNameMap() { | public static function getStatusNameMap() { | ||||
▲ Show 20 Lines • Show All 124 Lines • ▼ Show 20 Lines | |||||
/* -( PhabricatorPolicyInterface Implementation )-------------------------- */ | /* -( PhabricatorPolicyInterface Implementation )-------------------------- */ | ||||
public function getCapabilities() { | public function getCapabilities() { | ||||
return array( | return array( | ||||
PhabricatorPolicyCapability::CAN_VIEW, | PhabricatorPolicyCapability::CAN_VIEW, | ||||
PhabricatorPolicyCapability::CAN_INTERACT, | |||||
PhabricatorPolicyCapability::CAN_EDIT, | PhabricatorPolicyCapability::CAN_EDIT, | ||||
); | ); | ||||
} | } | ||||
public function getPolicy($capability) { | public function getPolicy($capability) { | ||||
switch ($capability) { | switch ($capability) { | ||||
case PhabricatorPolicyCapability::CAN_VIEW: | case PhabricatorPolicyCapability::CAN_VIEW: | ||||
return $this->getViewPolicy(); | return $this->getViewPolicy(); | ||||
case PhabricatorPolicyCapability::CAN_INTERACT: | |||||
return $this->getInteractPolicy(); | |||||
case PhabricatorPolicyCapability::CAN_EDIT: | case PhabricatorPolicyCapability::CAN_EDIT: | ||||
return $this->getEditPolicy(); | return $this->getEditPolicy(); | ||||
} | } | ||||
} | } | ||||
public function hasAutomaticCapability($capability, PhabricatorUser $user) { | public function hasAutomaticCapability($capability, PhabricatorUser $user) { | ||||
$can_edit = PhabricatorPolicyCapability::CAN_EDIT; | $can_edit = PhabricatorPolicyCapability::CAN_EDIT; | ||||
▲ Show 20 Lines • Show All 142 Lines • Show Last 20 Lines |