public static function forceDownload($model, $name_field) { $src = ''; $className = get_class($model); if ($className == 'ProListingUploadCea') { if (empty($model->{$name_field})) { throw new Exception("Invalid request. No {$name_field} found."); } $fileName = $model->{$name_field}; $src = "upload/listing/" . $model->listing_id . "/cea/" . $fileName; } elseif ($className == 'ProTransactionsPropertyDocument') { if (empty($model->{$name_field})) { throw new Exception("Invalid request. No {$name_field} found."); } $fileName = $model->{$name_field}; $src = "upload/transactions/property_document/" . $model->transactions_id . "/" . $fileName; } elseif ($className == 'ProUploadDocument') { if (empty($model->{$name_field})) { throw new Exception("Invalid request. No {$name_field} found."); } $fileName = $model->{$name_field}; $src = "upload/document/" . $model->user_id . "/" . $fileName; } else { throw new Exception('Invalid request.'); } $fileHelper = new FileHelper(); $fileHelper->forceDownload($src); }
public static function forceDownload($model, $name_field, $folder) { try { $className = get_class($model); if ($className == 'PrecProductFamily') { if (empty($model->{$name_field})) { throw new Exception("Invalid request. No {$name_field} found."); } $fileName = $model->{$name_field}; $checkSpace = explode(' ', $model->{$name_field}); if (count($checkSpace) > 1) { $fileName = rawurlencode($fileName); } $src = "upload/products/" . $model->id . "/{$folder}/" . $fileName; } elseif ($className == 'PrecWhitepaper') { if (empty($model->{$name_field})) { throw new Exception("Invalid request. No {$name_field} found."); } $fileName = $model->{$name_field}; $checkSpace = explode(' ', $model->{$name_field}); if (count($checkSpace) > 1) { $fileName = rawurlencode($fileName); } $src = "upload/{$folder}/" . $model->id . "/" . $fileName; } elseif ($className == 'PrecPromotion') { if (empty($model->{$name_field})) { throw new Exception("Invalid request. No {$name_field} found."); } $fileName = $model->{$name_field}; $checkSpace = explode(' ', $model->{$name_field}); if (count($checkSpace) > 1) { $fileName = rawurlencode($fileName); } $src = "upload/promotion/{$folder}/" . $model->id . "/" . $fileName; } else { throw new Exception('Invalid request.'); } $fileHelper = new FileHelper(); $fileHelper->forceDownload($src); } catch (Exception $exc) { throw new Exception($exc->getMessage()); } }