Returns a unique token to correlate an offline item (posted DVD)
with a specific archive placeholder.
public static generate_upload_token ( $chars = 8 ) : string | ||
return | string |
/** * @param array $data * @param Form $form * * @return SS_HTTPResponse */ public function doPostSnapshot($data, $form) { $this->setCurrentActionType(self::ACTION_SNAPSHOT); $project = $this->getCurrentProject(); if (!$project) { return $this->project404Response(); } $validEnvs = $project->DNEnvironmentList()->filterByCallback(function ($item) { return $item->canUploadArchive(); }); // Validate $data['EnvironmentID'] by checking against $validEnvs. $environment = $validEnvs->find('ID', $data['EnvironmentID']); if (!$environment) { throw new LogicException('Invalid environment'); } $dataArchive = DNDataArchive::create(array('UploadToken' => DNDataArchive::generate_upload_token())); $form->saveInto($dataArchive); $dataArchive->write(); return $this->redirect(Controller::join_links($project->Link(), 'postsnapshotsuccess', $dataArchive->ID)); }
public function doPostSnapshot($data, $form) { $project = $this->getCurrentProject(); if (!$project) { return new SS_HTTPResponse("Project '" . Convert::raw2xml($this->getRequest()->latestParam('Project')) . "' not found.", 404); } $validEnvs = $project->DNEnvironmentList()->filterByCallback(function ($item) { return $item->canUploadArchive(); }); // Validate $data['EnvironmentID'] by checking against $validEnvs. $environment = $validEnvs->find('ID', $data['EnvironmentID']); if (!$environment) { throw new LogicException('Invalid environment'); } $dataArchive = new DNDataArchive(array('UploadToken' => DNDataArchive::generate_upload_token())); $form->saveInto($dataArchive); $dataArchive->write(); return $this->redirect(Controller::join_links($project->Link(), 'postsnapshotsuccess', $dataArchive->ID)); }