Exemple #1
0
 public function getAsset()
 {
     if ($this->asset === null) {
         $this->asset = AssetFacade::find($this->attrs['asset_id']);
     }
     return $this->asset;
 }
Exemple #2
0
 public function __construct(Page $page, array $attrs, $slotname, $editable = true)
 {
     parent::__construct($page, $attrs, $slotname, $editable);
     if (isset($attrs['asset_id'])) {
         $this->asset = AssetFacade::find($this->attrs['asset_id']);
     }
 }
Exemple #3
0
 /**
  * Returns the associated asset.
  *
  * @return AssetContract
  */
 public function getAsset()
 {
     if ($this->asset === null) {
         $this->asset = AssetFacade::find($this->getAssetId());
     }
     return $this->asset;
 }
 public function download()
 {
     $assets = AssetFacade::find($this->request->input('assets'));
     if (count($assets) === 1) {
         return Response::download($assets[0]->getFilename(), $assets[0]->getOriginalFilename());
     }
     $downloadFilename = rtrim($this->request->input('filename'), '.zip') . '.zip';
     $filename = tempnam(sys_get_temp_dir(), 'boomcms_asset_download');
     $zip = new ZipArchive();
     $zip->open($filename, ZipArchive::CREATE);
     foreach ($assets as $asset) {
         $zip->addFile($asset->getFilename(), $asset->getOriginalFilename());
     }
     $zip->close();
     $response = Response::make()->header('Content-type', 'application/zip')->header('Content-Disposition', "attachment; filename={$downloadFilename}")->setContent(file_get_contents($filename));
     unlink($filename);
     return $response;
 }