[ Index ] |
PHP Cross Reference of Phabricator |
[Summary view] [Print] [Text view]
1 <?php 2 3 final class PhabricatorSlowvoteEditor 4 extends PhabricatorApplicationTransactionEditor { 5 6 public function getEditorApplicationClass() { 7 return 'PhabricatorSlowvoteApplication'; 8 } 9 10 public function getEditorObjectsDescription() { 11 return pht('Slowvotes'); 12 } 13 14 public function getTransactionTypes() { 15 $types = parent::getTransactionTypes(); 16 17 $types[] = PhabricatorTransactions::TYPE_COMMENT; 18 $types[] = PhabricatorTransactions::TYPE_VIEW_POLICY; 19 20 $types[] = PhabricatorSlowvoteTransaction::TYPE_QUESTION; 21 $types[] = PhabricatorSlowvoteTransaction::TYPE_DESCRIPTION; 22 $types[] = PhabricatorSlowvoteTransaction::TYPE_RESPONSES; 23 $types[] = PhabricatorSlowvoteTransaction::TYPE_SHUFFLE; 24 $types[] = PhabricatorSlowvoteTransaction::TYPE_CLOSE; 25 26 return $types; 27 } 28 29 protected function transactionHasEffect( 30 PhabricatorLiskDAO $object, 31 PhabricatorApplicationTransaction $xaction) { 32 33 $old = $xaction->getOldValue(); 34 $new = $xaction->getNewValue(); 35 36 switch ($xaction->getTransactionType()) { 37 case PhabricatorSlowvoteTransaction::TYPE_RESPONSES: 38 if ($old === null) { 39 return true; 40 } 41 return ((int)$old !== (int)$new); 42 case PhabricatorSlowvoteTransaction::TYPE_SHUFFLE: 43 if ($old === null) { 44 return true; 45 } 46 return ((bool)$old !== (bool)$new); 47 } 48 49 return parent::transactionHasEffect($object, $xaction); 50 } 51 52 53 protected function getCustomTransactionOldValue( 54 PhabricatorLiskDAO $object, 55 PhabricatorApplicationTransaction $xaction) { 56 57 switch ($xaction->getTransactionType()) { 58 case PhabricatorSlowvoteTransaction::TYPE_QUESTION: 59 return $object->getQuestion(); 60 case PhabricatorSlowvoteTransaction::TYPE_DESCRIPTION: 61 return $object->getDescription(); 62 case PhabricatorSlowvoteTransaction::TYPE_RESPONSES: 63 return $object->getResponseVisibility(); 64 case PhabricatorSlowvoteTransaction::TYPE_SHUFFLE: 65 return $object->getShuffle(); 66 case PhabricatorSlowvoteTransaction::TYPE_CLOSE: 67 return $object->getIsClosed(); 68 } 69 } 70 71 protected function getCustomTransactionNewValue( 72 PhabricatorLiskDAO $object, 73 PhabricatorApplicationTransaction $xaction) { 74 75 switch ($xaction->getTransactionType()) { 76 case PhabricatorSlowvoteTransaction::TYPE_QUESTION: 77 case PhabricatorSlowvoteTransaction::TYPE_DESCRIPTION: 78 case PhabricatorSlowvoteTransaction::TYPE_RESPONSES: 79 case PhabricatorSlowvoteTransaction::TYPE_SHUFFLE: 80 case PhabricatorSlowvoteTransaction::TYPE_CLOSE: 81 return $xaction->getNewValue(); 82 } 83 } 84 85 protected function applyCustomInternalTransaction( 86 PhabricatorLiskDAO $object, 87 PhabricatorApplicationTransaction $xaction) { 88 89 switch ($xaction->getTransactionType()) { 90 case PhabricatorSlowvoteTransaction::TYPE_QUESTION: 91 $object->setQuestion($xaction->getNewValue()); 92 break; 93 case PhabricatorSlowvoteTransaction::TYPE_DESCRIPTION: 94 $object->setDescription($xaction->getNewValue()); 95 break; 96 case PhabricatorSlowvoteTransaction::TYPE_RESPONSES: 97 $object->setResponseVisibility($xaction->getNewValue()); 98 break; 99 case PhabricatorSlowvoteTransaction::TYPE_SHUFFLE: 100 $object->setShuffle($xaction->getNewValue()); 101 break; 102 case PhabricatorSlowvoteTransaction::TYPE_CLOSE: 103 $object->setIsClosed((int)$xaction->getNewValue()); 104 break; 105 case PhabricatorTransactions::TYPE_EDGE: 106 return; 107 } 108 } 109 110 protected function applyCustomExternalTransaction( 111 PhabricatorLiskDAO $object, 112 PhabricatorApplicationTransaction $xaction) { 113 return; 114 } 115 116 }
title
Description
Body
title
Description
Body
title
Description
Body
title
Body
Generated: Sun Nov 30 09:20:46 2014 | Cross-referenced by PHPXref 0.7.1 |