public function onBeforeWrite() { parent::onBeforeWrite(); // only operate on staging content if (Versioned::current_stage() != 'Live') { if (strlen($this->owner->PublishOnDate)) { $changed = $this->owner->getChangedFields(); $changed = isset($changed['PublishOnDate']); if ($changed && $this->owner->PublishJobID) { if ($this->owner->PublishJob()->exists()) { $this->owner->PublishJob()->delete(); } $this->owner->PublishJobID = 0; } if (!$this->owner->PublishJobID && strtotime($this->owner->PublishOnDate) > time()) { $job = new WorkflowPublishTargetJob($this->owner, 'publish'); $this->owner->PublishJobID = singleton('QueuedJobService')->queueJob($job, $this->owner->PublishOnDate); } } if (strlen($this->owner->UnPublishOnDate)) { $changed = $this->owner->getChangedFields(); $changed = isset($changed['UnPublishOnDate']); if ($changed && $this->owner->UnPublishJobID) { if ($this->owner->UnPublishJob()->exists()) { $this->owner->UnPublishJob()->delete(); } $this->owner->UnPublishJobID = 0; } if (!$this->owner->UnPublishJobID && strtotime($this->owner->UnPublishOnDate) > time()) { $job = new WorkflowPublishTargetJob($this->owner, 'unpublish'); $this->owner->UnPublishJobID = singleton('QueuedJobService')->queueJob($job, $this->owner->UnPublishOnDate); } } } }
public function onBeforeWrite() { parent::onBeforeWrite(); if ($this->owner->FirstExecution) { $changed = $this->owner->getChangedFields(); $changed = isset($changed['FirstExecution']) || isset($changed['ExecuteEvery']) || isset($changed['ExecuteFree']); if ($changed && $this->owner->ScheduledJobID) { if ($this->owner->ScheduledJob()->exists()) { $this->owner->ScheduledJob()->delete(); } $this->owner->ScheduledJobID = 0; } if (!$this->owner->ScheduledJobID) { $job = new ScheduledExecutionJob($this->owner); $time = date('Y-m-d H:i:s'); if ($this->owner->FirstExecution) { $time = date('Y-m-d H:i:s', strtotime($this->owner->FirstExecution)); } $this->owner->ScheduledJobID = singleton('QueuedJobService')->queueJob($job, $time); } } }
function onBeforeWrite() { if ($this->owner->Status == 'Paid' && $this->owner->NumSoldDone == 0) { $this->owner->NumSoldDone = 1; if ($orderItems = $this->owner->Items()) { foreach ($orderItems as $orderItem) { if ($buyable = $orderItem->Buyable()) { $oldNum = $buyable->NumberSold; $newNum = $oldNum + $orderItem->Quantity; $buyable->NumberSold = $newNum; $buyable->write(); if ($buyable->ProductID > 0) { if ($parent = DataObject::get_by_id("Product", $buyable->ProductID)) { $parentOldNum = $parent->NumberSold; $parent->NumberSold = $parentOldNum + $newNum; $parent->write(); } } } } } } parent::onBeforeWrite(); }
public function onBeforeWrite() { parent::onBeforeWrite(); foreach ($this->getEnforcedValues() as $field => $value) $this->owner->$field = $value; }
/** * Standard SS method */ function onBeforeWrite() { parent::onBeforeWrite(); //see issue 148 if ($this->owner->OrderID) { $this->owner->PaidForID = $this->owner->OrderID; $this->owner->PaidForClass = "Order"; } if ($this->owner->PaidForID && !$this->owner->OrderID) { $this->owner->OrderID = $this->owner->PaidForID; $this->owner->PaidForClass = "Order"; } }