generate_upload_token() public static method

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
Ejemplo n.º 1
0
 /**
  * @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));
 }
Ejemplo n.º 2
0
 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));
 }