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 HeraldRuleTransaction::TYPE_DISABLE: return $object->setIsDisabled($xaction->getNewValue()); } }
protected function applyCustomExternalTransaction(PhabricatorLiskDAO $object, PhabricatorApplicationTransaction $xaction) { switch ($xaction->getTransactionType()) { case AlmanacDeviceTransaction::TYPE_NAME: return; case AlmanacDeviceTransaction::TYPE_INTERFACE: $old = $xaction->getOldValue(); if ($old) { $interface = id(new AlmanacInterfaceQuery())->setViewer($this->requireActor())->withIDs(array($old['id']))->executeOne(); if (!$interface) { throw new Exception(pht('Unable to load interface!')); } } else { $interface = AlmanacInterface::initializeNewInterface()->setDevicePHID($object->getPHID()); } $new = $xaction->getNewValue(); if ($new) { $interface->setNetworkPHID($new['networkPHID'])->setAddress($new['address'])->setPort((int) $new['port']); if (idx($new, 'phid')) { $interface->setPHID($new['phid']); } $interface->save(); } else { $interface->delete(); } return; } return parent::applyCustomExternalTransaction($object, $xaction); }
protected function applyCustomInternalTransaction(PhabricatorLiskDAO $object, PhabricatorApplicationTransaction $xaction) { switch ($xaction->getTransactionType()) { case NuanceQueueTransaction::TYPE_NAME: $object->setName($xaction->getNewValue()); break; } }
protected function applyCustomInternalTransaction(PhabricatorLiskDAO $object, PhabricatorApplicationTransaction $xaction) { switch ($xaction->getTransactionType()) { case FundBackerTransaction::TYPE_STATUS: $object->setStatus($xaction->getNewValue()); return; } return parent::applyCustomInternalTransaction($object, $xaction); }
public function applyCustomInternalTransaction(PhabricatorLiskDAO $object, PhabricatorApplicationTransaction $xaction) { $new = $xaction->getNewValue(); switch ($xaction->getTransactionType()) { case ReleephProductTransaction::TYPE_ACTIVE: $object->setIsActive($new); break; } }
protected function applyCustomInternalTransaction(PhabricatorLiskDAO $object, PhabricatorApplicationTransaction $xaction) { switch ($xaction->getTransactionType()) { case AlmanacNetworkTransaction::TYPE_NAME: $object->setName($xaction->getNewValue()); return; } return parent::applyCustomInternalTransaction($object, $xaction); }
protected function applyCustomInternalTransaction(PhabricatorLiskDAO $object, PhabricatorApplicationTransaction $xaction) { switch ($xaction->getTransactionType()) { case NuanceRequestorTransaction::TYPE_PROPERTY: $key = $xaction->getMetadataValue(NuanceRequestorTransaction::PROPERTY_KEY); $object->setNuanceProperty($key, $xaction->getNewValue()); break; } }
public function computeRawFactsForObject(PhabricatorLiskDAO $object) { $facts = array(); $phid = $object->getPHID(); $type = phid_get_type($phid); foreach (array('N:*', 'N:' . $type) as $fact_type) { $facts[] = id(new PhabricatorFactRaw())->setFactType($fact_type)->setObjectPHID($phid)->setValueX(1)->setEpoch($object->getDateCreated()); } return $facts; }
protected function applyCustomExternalTransaction(PhabricatorLiskDAO $object, PhabricatorApplicationTransaction $xaction) { switch ($xaction->getTransactionType()) { case HeraldRuleTransaction::TYPE_EDIT: $object->saveConditions($object->getConditions()); $object->saveActions($object->getActions()); break; } return; }
protected function applyCustomInternalTransaction(PhabricatorLiskDAO $object, PhabricatorApplicationTransaction $xaction) { switch ($xaction->getTransactionType()) { case NuanceSourceTransaction::TYPE_NAME: $object->setName($xaction->getNewValue()); break; case NuanceSourceTransaction::TYPE_DEFAULT_QUEUE: $object->setDefaultQueuePHID($xaction->getNewValue()); break; } }
protected function applyCustomInternalTransaction(PhabricatorLiskDAO $object, PhabricatorApplicationTransaction $xaction) { switch ($xaction->getTransactionType()) { case PhortuneAccountTransaction::TYPE_NAME: $object->setName($xaction->getNewValue()); return; case PhabricatorTransactions::TYPE_EDGE: 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; } return parent::applyCustomInternalTransaction($object, $xaction); }
protected function applyCustomInternalTransaction(PhabricatorLiskDAO $object, PhabricatorApplicationTransaction $xaction) { switch ($xaction->getTransactionType()) { case PhluxTransaction::TYPE_EDIT_KEY: $object->setVariableKey($xaction->getNewValue()); return; case PhluxTransaction::TYPE_EDIT_VALUE: $object->setVariableValue($xaction->getNewValue()); return; } return parent::applyCustomInternalTransaction($object, $xaction); }
protected function applyCustomInternalTransaction(PhabricatorLiskDAO $object, PhabricatorApplicationTransaction $xaction) { switch ($xaction->getTransactionType()) { case PhortuneMerchantTransaction::TYPE_NAME: $object->setName($xaction->getNewValue()); return; case PhortuneMerchantTransaction::TYPE_DESCRIPTION: $object->setDescription($xaction->getNewValue()); return; } return parent::applyCustomInternalTransaction($object, $xaction); }
protected function applyCustomInternalTransaction(PhabricatorLiskDAO $object, PhabricatorApplicationTransaction $xaction) { switch ($xaction->getTransactionType()) { case PhabricatorDashboardPanelTransaction::TYPE_NAME: $object->setName($xaction->getNewValue()); return; case PhabricatorDashboardPanelTransaction::TYPE_ARCHIVE: $object->setIsArchived((int) $xaction->getNewValue()); return; } return parent::applyCustomInternalTransaction($object, $xaction); }
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 HarbormasterBuildPlanTransaction::TYPE_NAME: $object->setName($xaction->getNewValue()); return; case HarbormasterBuildPlanTransaction::TYPE_STATUS: $object->setPlanStatus($xaction->getNewValue()); return; } return parent::applyCustomInternalTransaction($object, $xaction); }
protected function applyCustomInternalTransaction(PhabricatorLiskDAO $object, PhabricatorApplicationTransaction $xaction) { switch ($xaction->getTransactionType()) { case NuanceItemTransaction::TYPE_REQUESTOR: $object->setRequestorPHID($xaction->getNewValue()); break; case NuanceItemTransaction::TYPE_SOURCE: $object->setSourcePHID($xaction->getNewValue()); break; case NuanceItemTransaction::TYPE_OWNER: $object->setOwnerPHID($xaction->getNewValue()); break; } }
protected function applyCustomInternalTransaction(PhabricatorLiskDAO $object, PhabricatorApplicationTransaction $xaction) { switch ($xaction->getTransactionType()) { case PhabricatorProjectTransaction::TYPE_NAME: $object->setName($xaction->getNewValue()); $object->setPhrictionSlug($xaction->getNewValue()); return; case PhabricatorProjectTransaction::TYPE_SLUGS: return; case PhabricatorProjectTransaction::TYPE_STATUS: $object->setStatus($xaction->getNewValue()); return; case PhabricatorProjectTransaction::TYPE_IMAGE: $object->setProfileImagePHID($xaction->getNewValue()); return; case PhabricatorProjectTransaction::TYPE_ICON: $object->setIcon($xaction->getNewValue()); return; case PhabricatorProjectTransaction::TYPE_COLOR: $object->setColor($xaction->getNewValue()); return; case PhabricatorTransactions::TYPE_EDGE: return; case PhabricatorTransactions::TYPE_VIEW_POLICY: $object->setViewPolicy($xaction->getNewValue()); return; case PhabricatorTransactions::TYPE_EDIT_POLICY: $object->setEditPolicy($xaction->getNewValue()); return; case PhabricatorTransactions::TYPE_JOIN_POLICY: $object->setJoinPolicy($xaction->getNewValue()); return; } return parent::applyCustomInternalTransaction($object, $xaction); }
protected function applyCustomInternalTransaction(PhabricatorLiskDAO $object, PhabricatorApplicationTransaction $xaction) { switch ($xaction->getTransactionType()) { case PhortunePaymentProviderConfigTransaction::TYPE_CREATE: return; case PhortunePaymentProviderConfigTransaction::TYPE_PROPERTY: $property_key = $xaction->getMetadataValue(PhortunePaymentProviderConfigTransaction::PROPERTY_KEY); $object->setMetadataValue($property_key, $xaction->getNewValue()); return; case PhortunePaymentProviderConfigTransaction::TYPE_ENABLE: return $object->setIsEnabled((int) $xaction->getNewValue()); } return parent::applyCustomInternalTransaction($object, $xaction); }
protected function applyCustomInternalTransaction(PhabricatorLiskDAO $object, PhabricatorApplicationTransaction $xaction) { $new = $xaction->getNewValue(); switch ($xaction->getTransactionType()) { case PhabricatorMetaMTAApplicationEmailTransaction::TYPE_ADDRESS: $object->setAddress($new); return; case PhabricatorMetaMTAApplicationEmailTransaction::TYPE_CONFIG: $key = $xaction->getMetadataValue(PhabricatorMetaMTAApplicationEmailTransaction::KEY_CONFIG); $object->setConfigValue($key, $new); return; } return parent::applyCustomInternalTransaction($object, $xaction); }
protected function applyCustomInternalTransaction(PhabricatorLiskDAO $object, PhabricatorApplicationTransaction $xaction) { switch ($xaction->getTransactionType()) { case HarbormasterBuildStepTransaction::TYPE_CREATE: return; case HarbormasterBuildStepTransaction::TYPE_NAME: return $object->setName($xaction->getNewValue()); case HarbormasterBuildStepTransaction::TYPE_DEPENDS_ON: return $object->setDetail('dependsOn', $xaction->getNewValue()); case HarbormasterBuildStepTransaction::TYPE_DESCRIPTION: return $object->setDescription($xaction->getNewValue()); } return parent::applyCustomInternalTransaction($object, $xaction); }
protected function applyCustomInternalTransaction(PhabricatorLiskDAO $object, PhabricatorApplicationTransaction $xaction) { switch ($xaction->getTransactionType()) { case PhabricatorProjectColumnTransaction::TYPE_NAME: $object->setName($xaction->getNewValue()); return; case PhabricatorProjectColumnTransaction::TYPE_STATUS: $object->setStatus($xaction->getNewValue()); return; case PhabricatorProjectColumnTransaction::TYPE_LIMIT: $object->setPointLimit($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); }
protected function applyCustomInternalTransaction(PhabricatorLiskDAO $object, PhabricatorApplicationTransaction $xaction) { switch ($xaction->getTransactionType()) { case PhortuneProductTransaction::TYPE_NAME: $object->setProductName($xaction->getNewValue()); return; case PhortuneProductTransaction::TYPE_TYPE: $object->setProductType($xaction->getNewValue()); return; case PhortuneProductTransaction::TYPE_PRICE: $object->setPriceInCents($xaction->getNewValue()); return; } return parent::applyCustomInternalTransaction($object, $xaction); }
protected function applyFinalEffects(PhabricatorLiskDAO $object, array $xactions) { // If we didn't get an explicit `repositoryPHID` (which means the client // is old, or couldn't figure out which repository the working copy // belongs to), apply heuristics to try to figure it out. if ($this->lookupRepository && !$object->getRepositoryPHID()) { $repository = id(new DifferentialRepositoryLookup())->setDiff($object)->setViewer($this->getActor())->lookupRepository(); if ($repository) { $object->setRepositoryPHID($repository->getPHID()); $object->setRepositoryUUID($repository->getUUID()); $object->save(); } } return $xactions; }
protected function applyCustomInternalTransaction(PhabricatorLiskDAO $object, PhabricatorApplicationTransaction $xaction) { switch ($xaction->getTransactionType()) { case PassphraseCredentialTransaction::TYPE_NAME: $object->setName($xaction->getNewValue()); return; case PassphraseCredentialTransaction::TYPE_DESCRIPTION: $object->setDescription($xaction->getNewValue()); return; case PassphraseCredentialTransaction::TYPE_USERNAME: $object->setUsername($xaction->getNewValue()); return; case PassphraseCredentialTransaction::TYPE_SECRET_ID: $old_id = $object->getSecretID(); if ($old_id) { $this->destroySecret($old_id); } $object->setSecretID($xaction->getNewValue()); return; case PassphraseCredentialTransaction::TYPE_DESTROY: // When destroying a credential, wipe out its secret. $is_destroyed = $xaction->getNewValue(); $object->setIsDestroyed($is_destroyed); if ($is_destroyed) { $secret_id = $object->getSecretID(); if ($secret_id) { $this->destroySecret($secret_id); $object->setSecretID(null); } } return; case PhabricatorTransactions::TYPE_VIEW_POLICY: $object->setViewPolicy($xaction->getNewValue()); return; case PhabricatorTransactions::TYPE_EDIT_POLICY: $object->setEditPolicy($xaction->getNewValue()); return; case PassphraseCredentialTransaction::TYPE_LOOKEDATSECRET: return; case PassphraseCredentialTransaction::TYPE_LOCK: $object->setIsLocked((int) $xaction->getNewValue()); return; case PassphraseCredentialTransaction::TYPE_CONDUIT: $object->setAllowConduit((int) $xaction->getNewValue()); return; } return parent::applyCustomInternalTransaction($object, $xaction); }
public static function writeCaches(array $values) { if (PhabricatorEnv::isReadOnly()) { return; } if (!$values) { return; } $table = new self(); $conn_w = $table->establishConnection('w'); $sql = array(); foreach ($values as $value) { $key = $value['key']; $sql[] = qsprintf($conn_w, '(%s, %s, %s, %s, %s)', $value['userPHID'], PhabricatorHash::digestForIndex($key), $key, $value['value'], $value['type']->getUserCacheType()); } $unguarded = AphrontWriteGuard::beginScopedUnguardedWrites(); foreach (PhabricatorLiskDAO::chunkSQL($sql) as $chunk) { queryfx($conn_w, 'INSERT INTO %T (userPHID, cacheIndex, cacheKey, cacheData, cacheType) VALUES %Q ON DUPLICATE KEY UPDATE cacheData = VALUES(cacheData), cacheType = VALUES(cacheType)', $table->getTableName(), $chunk); } unset($unguarded); }
public function setKeys(array $keys, $ttl = null) { if (PhabricatorEnv::isReadOnly()) { return; } if ($keys) { $map = $this->digestKeys(array_keys($keys)); $conn_w = $this->establishConnection('w'); $sql = array(); foreach ($map as $key => $hash) { $value = $keys[$key]; list($format, $storage_value) = $this->willWriteValue($key, $value); $sql[] = qsprintf($conn_w, '(%s, %s, %s, %B, %d, %nd)', $hash, $key, $format, $storage_value, time(), $ttl ? time() + $ttl : null); } $guard = AphrontWriteGuard::beginScopedUnguardedWrites(); foreach (PhabricatorLiskDAO::chunkSQL($sql) as $chunk) { queryfx($conn_w, 'INSERT INTO %T (cacheKeyHash, cacheKey, cacheFormat, cacheData, cacheCreated, cacheExpires) VALUES %Q ON DUPLICATE KEY UPDATE cacheKey = VALUES(cacheKey), cacheFormat = VALUES(cacheFormat), cacheData = VALUES(cacheData), cacheCreated = VALUES(cacheCreated), cacheExpires = VALUES(cacheExpires)', $this->getTableName(), $chunk); } unset($guard); } return $this; }