Changeset View
Changeset View
Standalone View
Standalone View
src/applications/phame/editor/PhamePostEditor.php
Show All 13 Lines | final class PhamePostEditor | ||||
public function getTransactionTypes() { | public function getTransactionTypes() { | ||||
$types = parent::getTransactionTypes(); | $types = parent::getTransactionTypes(); | ||||
$types[] = PhamePostTransaction::TYPE_BLOG; | $types[] = PhamePostTransaction::TYPE_BLOG; | ||||
$types[] = PhamePostTransaction::TYPE_TITLE; | $types[] = PhamePostTransaction::TYPE_TITLE; | ||||
$types[] = PhamePostTransaction::TYPE_SUBTITLE; | $types[] = PhamePostTransaction::TYPE_SUBTITLE; | ||||
$types[] = PhamePostTransaction::TYPE_BODY; | $types[] = PhamePostTransaction::TYPE_BODY; | ||||
$types[] = PhamePostTransaction::TYPE_VISIBILITY; | $types[] = PhamePostTransaction::TYPE_VISIBILITY; | ||||
$types[] = PhamePostTransaction::TYPE_HEADERIMAGE; | |||||
$types[] = PhabricatorTransactions::TYPE_COMMENT; | $types[] = PhabricatorTransactions::TYPE_COMMENT; | ||||
return $types; | return $types; | ||||
} | } | ||||
protected function getCustomTransactionOldValue( | protected function getCustomTransactionOldValue( | ||||
PhabricatorLiskDAO $object, | PhabricatorLiskDAO $object, | ||||
PhabricatorApplicationTransaction $xaction) { | PhabricatorApplicationTransaction $xaction) { | ||||
switch ($xaction->getTransactionType()) { | switch ($xaction->getTransactionType()) { | ||||
case PhamePostTransaction::TYPE_BLOG: | case PhamePostTransaction::TYPE_BLOG: | ||||
return $object->getBlogPHID(); | return $object->getBlogPHID(); | ||||
case PhamePostTransaction::TYPE_TITLE: | case PhamePostTransaction::TYPE_TITLE: | ||||
return $object->getTitle(); | return $object->getTitle(); | ||||
case PhamePostTransaction::TYPE_SUBTITLE: | case PhamePostTransaction::TYPE_SUBTITLE: | ||||
return $object->getSubtitle(); | return $object->getSubtitle(); | ||||
case PhamePostTransaction::TYPE_BODY: | case PhamePostTransaction::TYPE_BODY: | ||||
return $object->getBody(); | return $object->getBody(); | ||||
case PhamePostTransaction::TYPE_VISIBILITY: | case PhamePostTransaction::TYPE_VISIBILITY: | ||||
return $object->getVisibility(); | return $object->getVisibility(); | ||||
case PhamePostTransaction::TYPE_HEADERIMAGE: | |||||
return $object->getHeaderImagePHID(); | |||||
} | } | ||||
} | } | ||||
protected function getCustomTransactionNewValue( | protected function getCustomTransactionNewValue( | ||||
PhabricatorLiskDAO $object, | PhabricatorLiskDAO $object, | ||||
PhabricatorApplicationTransaction $xaction) { | PhabricatorApplicationTransaction $xaction) { | ||||
switch ($xaction->getTransactionType()) { | switch ($xaction->getTransactionType()) { | ||||
case PhamePostTransaction::TYPE_TITLE: | case PhamePostTransaction::TYPE_TITLE: | ||||
case PhamePostTransaction::TYPE_SUBTITLE: | case PhamePostTransaction::TYPE_SUBTITLE: | ||||
case PhamePostTransaction::TYPE_BODY: | case PhamePostTransaction::TYPE_BODY: | ||||
case PhamePostTransaction::TYPE_VISIBILITY: | case PhamePostTransaction::TYPE_VISIBILITY: | ||||
case PhamePostTransaction::TYPE_HEADERIMAGE: | |||||
case PhamePostTransaction::TYPE_BLOG: | case PhamePostTransaction::TYPE_BLOG: | ||||
return $xaction->getNewValue(); | return $xaction->getNewValue(); | ||||
} | } | ||||
} | } | ||||
protected function applyCustomInternalTransaction( | protected function applyCustomInternalTransaction( | ||||
PhabricatorLiskDAO $object, | PhabricatorLiskDAO $object, | ||||
PhabricatorApplicationTransaction $xaction) { | PhabricatorApplicationTransaction $xaction) { | ||||
switch ($xaction->getTransactionType()) { | switch ($xaction->getTransactionType()) { | ||||
case PhamePostTransaction::TYPE_TITLE: | case PhamePostTransaction::TYPE_TITLE: | ||||
return $object->setTitle($xaction->getNewValue()); | return $object->setTitle($xaction->getNewValue()); | ||||
case PhamePostTransaction::TYPE_SUBTITLE: | case PhamePostTransaction::TYPE_SUBTITLE: | ||||
return $object->setSubtitle($xaction->getNewValue()); | return $object->setSubtitle($xaction->getNewValue()); | ||||
case PhamePostTransaction::TYPE_BODY: | case PhamePostTransaction::TYPE_BODY: | ||||
return $object->setBody($xaction->getNewValue()); | return $object->setBody($xaction->getNewValue()); | ||||
case PhamePostTransaction::TYPE_BLOG: | case PhamePostTransaction::TYPE_BLOG: | ||||
return $object->setBlogPHID($xaction->getNewValue()); | return $object->setBlogPHID($xaction->getNewValue()); | ||||
case PhamePostTransaction::TYPE_HEADERIMAGE: | |||||
return $object->setHeaderImagePHID($xaction->getNewValue()); | |||||
case PhamePostTransaction::TYPE_VISIBILITY: | case PhamePostTransaction::TYPE_VISIBILITY: | ||||
if ($xaction->getNewValue() == PhameConstants::VISIBILITY_DRAFT) { | if ($xaction->getNewValue() == PhameConstants::VISIBILITY_DRAFT) { | ||||
$object->setDatePublished(0); | $object->setDatePublished(0); | ||||
} else if ($xaction->getNewValue() == | } else if ($xaction->getNewValue() == | ||||
PhameConstants::VISIBILITY_ARCHIVED) { | PhameConstants::VISIBILITY_ARCHIVED) { | ||||
$object->setDatePublished(0); | $object->setDatePublished(0); | ||||
} else { | } else { | ||||
$object->setDatePublished(PhabricatorTime::getNow()); | $object->setDatePublished(PhabricatorTime::getNow()); | ||||
} | } | ||||
return $object->setVisibility($xaction->getNewValue()); | return $object->setVisibility($xaction->getNewValue()); | ||||
} | } | ||||
return parent::applyCustomInternalTransaction($object, $xaction); | return parent::applyCustomInternalTransaction($object, $xaction); | ||||
} | } | ||||
protected function applyCustomExternalTransaction( | protected function applyCustomExternalTransaction( | ||||
PhabricatorLiskDAO $object, | PhabricatorLiskDAO $object, | ||||
PhabricatorApplicationTransaction $xaction) { | PhabricatorApplicationTransaction $xaction) { | ||||
switch ($xaction->getTransactionType()) { | switch ($xaction->getTransactionType()) { | ||||
case PhamePostTransaction::TYPE_TITLE: | case PhamePostTransaction::TYPE_TITLE: | ||||
case PhamePostTransaction::TYPE_SUBTITLE: | case PhamePostTransaction::TYPE_SUBTITLE: | ||||
case PhamePostTransaction::TYPE_BODY: | case PhamePostTransaction::TYPE_BODY: | ||||
case PhamePostTransaction::TYPE_VISIBILITY: | case PhamePostTransaction::TYPE_VISIBILITY: | ||||
case PhamePostTransaction::TYPE_HEADERIMAGE: | |||||
case PhamePostTransaction::TYPE_BLOG: | case PhamePostTransaction::TYPE_BLOG: | ||||
return; | return; | ||||
} | } | ||||
return parent::applyCustomExternalTransaction($object, $xaction); | return parent::applyCustomExternalTransaction($object, $xaction); | ||||
} | } | ||||
protected function validateTransaction( | protected function validateTransaction( | ||||
▲ Show 20 Lines • Show All 188 Lines • Show Last 20 Lines |