download() public method

Make sure to call {@link authenticate()} to download paid plugins.
public download ( string $url, null | string $destinationPath = null, null | integer $timeout = null ) : boolean | string
$url string An absolute URL to the marketplace including domain.
$destinationPath null | string
$timeout null | integer Defaults to 60 seconds see {@link self::HTTP_REQUEST_METHOD}
return boolean | string Returns the downloaded data or true if a destination path was given.
Example #1
0
 public function download($pluginOrThemeName)
 {
     @ignore_user_abort(true);
     SettingsServer::setMaxExecutionTime(0);
     $downloadUrl = $this->getDownloadUrl($pluginOrThemeName);
     if (empty($downloadUrl)) {
         return false;
     }
     // in the beginning we allowed to specify a download path but this way we make sure security is always taken
     // care of and we always generate a random download filename.
     $target = $this->getRandomTmpPluginDownloadFilename();
     Filesystem::deleteFileIfExists($target);
     $success = $this->service->download($downloadUrl, $target, static::HTTP_REQUEST_TIMEOUT);
     if ($success) {
         return $target;
     }
     return false;
 }