fromArray() public méthode

Environment must be set by the callee when creating this object.
public fromArray ( string $data )
$data string
Exemple #1
0
 /**
  * Deployment form submission handler.
  *
  * Initiate a DNDeployment record and redirect to it for status polling
  *
  * @param SS_HTTPRequest $request
  *
  * @return SS_HTTPResponse
  * @throws ValidationException
  * @throws null
  */
 public function startDeploy(SS_HTTPRequest $request)
 {
     // Ensure the CSRF Token is correct
     if (!$this->checkCsrfToken($request)) {
         // CSRF token didn't match
         return $this->httpError(400, 'Bad Request');
     }
     // Performs canView permission check by limiting visible projects
     $project = $this->getCurrentProject();
     if (!$project) {
         return $this->project404Response();
     }
     // Performs canView permission check by limiting visible projects
     $environment = $this->getCurrentEnvironment($project);
     if (!$environment) {
         return $this->environment404Response();
     }
     // Initiate the deployment
     // The extension point should pass in: Project, Environment, SelectRelease, buildName
     $this->extend('doDeploy', $project, $environment, $buildName, $data);
     // Start the deployment based on the approved strategy.
     $strategy = new DeploymentStrategy($environment);
     $strategy->fromArray($request->requestVar('strategy'));
     $deployment = $strategy->createDeployment();
     $deployment->start();
     return json_encode(array('url' => Director::absoluteBaseURL() . $deployment->Link()), JSON_PRETTY_PRINT);
 }
Exemple #2
0
 /**
  * Deployment form submission handler.
  *
  * @deprecated 2.0.0 - moved to DeployDispatcher
  *
  * Initiate a DNDeployment record and redirect to it for status polling
  *
  * @param \SS_HTTPRequest $request
  *
  * @return SS_HTTPResponse
  * @throws ValidationException
  * @throws null
  */
 public function startDeploy(\SS_HTTPRequest $request)
 {
     $token = SecurityToken::inst();
     // Ensure the submitted token has a value
     $submittedToken = $request->postVar(\Dispatcher::SECURITY_TOKEN_NAME);
     if (!$submittedToken) {
         return false;
     }
     // Do the actual check.
     $check = $token->check($submittedToken);
     // Ensure the CSRF Token is correct
     if (!$check) {
         // CSRF token didn't match
         return $this->httpError(400, 'Bad Request');
     }
     // Performs canView permission check by limiting visible projects
     $project = $this->getCurrentProject();
     if (!$project) {
         return $this->project404Response();
     }
     // Performs canView permission check by limiting visible projects
     $environment = $this->getCurrentEnvironment($project);
     if (!$environment) {
         return $this->environment404Response();
     }
     // Initiate the deployment
     // The extension point should pass in: Project, Environment, SelectRelease, buildName
     $this->extend('doDeploy', $project, $environment, $buildName, $data);
     // Start the deployment based on the approved strategy.
     $strategy = new DeploymentStrategy($environment);
     $strategy->fromArray($request->requestVar('strategy'));
     $deployment = $strategy->createDeployment();
     // Bypass approval by going straight to Queued.
     $deployment->getMachine()->apply(DNDeployment::TR_QUEUE);
     return json_encode(['url' => Director::absoluteBaseURL() . $deployment->Link()], JSON_PRETTY_PRINT);
 }