Esempio n. 1
0
 protected function applyCustomInternalTransaction(PhabricatorLiskDAO $object, PhabricatorApplicationTransaction $xaction)
 {
     switch ($xaction->getTransactionType()) {
         case HeraldRuleTransaction::TYPE_DISABLE:
             return $object->setIsDisabled($xaction->getNewValue());
     }
 }
 protected function applyCustomInternalTransaction(PhabricatorLiskDAO $object, PhabricatorApplicationTransaction $xaction)
 {
     switch ($xaction->getTransactionType()) {
         case DrydockBlueprintTransaction::TYPE_NAME:
             $object->setBlueprintName($xaction->getNewValue());
             return;
         case DrydockBlueprintTransaction::TYPE_DISABLED:
             $object->setIsDisabled((int) $xaction->getNewValue());
             return;
     }
     return parent::applyCustomInternalTransaction($object, $xaction);
 }
 protected function applyCustomInternalTransaction(PhabricatorLiskDAO $object, PhabricatorApplicationTransaction $xaction)
 {
     switch ($xaction->getTransactionType()) {
         case AlmanacBindingTransaction::TYPE_INTERFACE:
             $interface = id(new AlmanacInterfaceQuery())->setViewer($this->requireActor())->withPHIDs(array($xaction->getNewValue()))->executeOne();
             $object->setDevicePHID($interface->getDevicePHID());
             $object->setInterfacePHID($interface->getPHID());
             return;
         case AlmanacBindingTransaction::TYPE_DISABLE:
             $object->setIsDisabled($xaction->getNewValue());
             return;
     }
     return parent::applyCustomInternalTransaction($object, $xaction);
 }
 protected function applyCustomInternalTransaction(PhabricatorLiskDAO $object, PhabricatorApplicationTransaction $xaction)
 {
     switch ($xaction->getTransactionType()) {
         case PhabricatorOAuthServerTransaction::TYPE_NAME:
             $object->setName($xaction->getNewValue());
             return;
         case PhabricatorOAuthServerTransaction::TYPE_REDIRECT_URI:
             $object->setRedirectURI($xaction->getNewValue());
             return;
         case PhabricatorOAuthServerTransaction::TYPE_DISABLED:
             $object->setIsDisabled($xaction->getNewValue());
             return;
     }
     return parent::applyCustomInternalTransaction($object, $xaction);
 }
Esempio n. 5
0
 protected function applyCustomInternalTransaction(PhabricatorLiskDAO $object, PhabricatorApplicationTransaction $xaction)
 {
     switch ($xaction->getTransactionType()) {
         case HeraldRuleTransaction::TYPE_DISABLE:
             return $object->setIsDisabled($xaction->getNewValue());
         case HeraldRuleTransaction::TYPE_NAME:
             return $object->setName($xaction->getNewValue());
         case HeraldRuleTransaction::TYPE_EDIT:
             $new_state = id(new HeraldRuleSerializer())->deserializeRuleComponents($xaction->getNewValue());
             $object->setMustMatchAll((int) $new_state['match_all']);
             $object->attachConditions($new_state['conditions']);
             $object->attachActions($new_state['actions']);
             $object->setRepetitionPolicy(HeraldRepetitionPolicyConfig::toInt($new_state['repetition_policy']));
             return $object;
     }
 }
 protected function applyCustomInternalTransaction(PhabricatorLiskDAO $object, PhabricatorApplicationTransaction $xaction)
 {
     switch ($xaction->getTransactionType()) {
         case PhabricatorMacroTransaction::TYPE_NAME:
             $object->setName($xaction->getNewValue());
             break;
         case PhabricatorMacroTransaction::TYPE_DISABLED:
             $object->setIsDisabled($xaction->getNewValue());
             break;
         case PhabricatorMacroTransaction::TYPE_FILE:
             $object->setFilePHID($xaction->getNewValue());
             break;
         case PhabricatorMacroTransaction::TYPE_AUDIO:
             $object->setAudioPHID($xaction->getNewValue());
             break;
         case PhabricatorMacroTransaction::TYPE_AUDIO_BEHAVIOR:
             $object->setAudioBehavior($xaction->getNewValue());
             break;
     }
 }
 protected function applyCustomInternalTransaction(PhabricatorLiskDAO $object, PhabricatorApplicationTransaction $xaction)
 {
     switch ($xaction->getTransactionType()) {
         case PhabricatorEditEngineConfigurationTransaction::TYPE_NAME:
             $object->setName($xaction->getNewValue());
             return;
         case PhabricatorEditEngineConfigurationTransaction::TYPE_PREAMBLE:
             $object->setPreamble($xaction->getNewValue());
             return;
         case PhabricatorEditEngineConfigurationTransaction::TYPE_ORDER:
             $object->setFieldOrder($xaction->getNewValue());
             return;
         case PhabricatorEditEngineConfigurationTransaction::TYPE_DEFAULT:
             $field_key = $xaction->getMetadataValue('field.key');
             $object->setFieldDefault($field_key, $xaction->getNewValue());
             return;
         case PhabricatorEditEngineConfigurationTransaction::TYPE_LOCKS:
             $object->setFieldLocks($xaction->getNewValue());
             return;
         case PhabricatorEditEngineConfigurationTransaction::TYPE_DEFAULTCREATE:
             $object->setIsDefault($xaction->getNewValue());
             return;
         case PhabricatorEditEngineConfigurationTransaction::TYPE_DISABLE:
             $object->setIsDisabled($xaction->getNewValue());
             return;
     }
     return parent::applyCustomInternalTransaction($object, $xaction);
 }
 protected function applyCustomInternalTransaction(PhabricatorLiskDAO $object, PhabricatorApplicationTransaction $xaction)
 {
     switch ($xaction->getTransactionType()) {
         case PhabricatorRepositoryURITransaction::TYPE_URI:
             if (!$this->getIsNewObject()) {
                 $old_uri = $object->getEffectiveURI();
             } else {
                 $old_uri = null;
                 // When creating a URI via the API, we may not have processed the
                 // repository transaction yet. Attach the repository here to make
                 // sure we have it for the calls below.
                 if ($this->repository) {
                     $object->attachRepository($this->repository);
                 }
             }
             $object->setURI($xaction->getNewValue());
             // If we've changed the domain or protocol of the URI, remove the
             // current credential. This improves behavior in several cases:
             // If a user switches between protocols with different credential
             // types, like HTTP and SSH, the old credential won't be valid anyway.
             // It's cleaner to remove it than leave a bad credential in place.
             // If a user switches hosts, the old credential is probably not
             // correct (and potentially confusing/misleading). Removing it forces
             // users to double check that they have the correct credentials.
             // If an attacker can't see a symmetric credential like a username and
             // password, they could still potentially capture it by changing the
             // host for a URI that uses it to `evil.com`, a server they control,
             // then observing the requests. Removing the credential prevents this
             // kind of escalation.
             // Since port and path changes are less likely to fall among these
             // cases, they don't trigger a credential wipe.
             $new_uri = $object->getEffectiveURI();
             if ($old_uri) {
                 $new_proto = $old_uri->getProtocol() != $new_uri->getProtocol();
                 $new_domain = $old_uri->getDomain() != $new_uri->getDomain();
                 if ($new_proto || $new_domain) {
                     $object->setCredentialPHID(null);
                 }
             }
             break;
         case PhabricatorRepositoryURITransaction::TYPE_IO:
             $object->setIOType($xaction->getNewValue());
             break;
         case PhabricatorRepositoryURITransaction::TYPE_DISPLAY:
             $object->setDisplayType($xaction->getNewValue());
             break;
         case PhabricatorRepositoryURITransaction::TYPE_REPOSITORY:
             $object->setRepositoryPHID($xaction->getNewValue());
             $object->attachRepository($this->repository);
             break;
         case PhabricatorRepositoryURITransaction::TYPE_CREDENTIAL:
             $object->setCredentialPHID($xaction->getNewValue());
             break;
         case PhabricatorRepositoryURITransaction::TYPE_DISABLE:
             $object->setIsDisabled($xaction->getNewValue());
             break;
     }
 }