public function onBeforeWrite() { parent::onBeforeWrite(); if ($this->Content && $this->UploadToken && $this->UploadToken == $this->SuppliedToken) { $this->SuppliedToken = ''; $this->UploadToken = ''; $data = json_decode($this->Content); if ($data && is_array($data->response)) { $this->syncrotronService->processUpdateData($data->response); } } if (strlen($this->UploadToken) === 0) { $this->UploadToken = mt_rand(100000, 999999); } }
public function push($data, Form $form) { $toNode = $data['TargetNode']; if ($toNode) { $node = DataList::create('RemoteSyncroNode')->byID($toNode); if ($node) { $status = $this->syncrotronService->pushChangeset($this->record, $node); if (is_array($status)) { $form->sessionMessage($status[1], $status[0] ? 'good' : 'bad'); } } } $controller = $form->getController()->getTopLevelController(); $controller->getRequest()->addHeader('X-Pjax', 'Content'); return $controller->redirect($form->getController()->Link(), 302); }
public function fromSyncro($properties) { $this->syncrotronService->unsyncroObject($properties, $this); // now make sure the other things are aligned if (isset($properties->Post_ThreadEmail)) { $member = DataList::create('Member')->filter(array('Email' => $properties->Post_ThreadEmail))->first(); if ($member) { $this->ThreadOwnerID = $member->ID; } } if (isset($properties->Post_OwnerEmail)) { $member = DataList::create('Member')->filter(array('Email' => $properties->Post_OwnerEmail))->first(); if ($member) { $this->OwnerID = $member->ID; } } // bind the correct permission source $this->permissionSource(); }