/**
  * Constructor.
  *
  * @param string $src_folder source folder path
  * @param string $src_file source file name (image file from which thumbnails will be generated).
  */
 public function __construct($src_folder, $src_file)
 {
     $fs = new lyMediaFileSystem();
     $this->folder = $fs->makePathAbsolute($src_folder);
     $this->file = $src_file;
     $this->settings = self::getThumbnailSettings();
 }
 /**
  * Constructor.
  *
  * @param string $source source file path (image file from which thumbnails will be generated).
  * @param string $mime thumbnail mime-type
  * @param string $thumb_file thumbnail filename (without type prefix)
  */
 public function __construct($source, $mime, $thumb_file)
 {
     $fs = new lyMediaFileSystem();
     $this->source = $fs->makePathAbsolute($source);
     $this->thumb_file = $thumb_file;
     $this->mime_type = $mime;
     $this->settings = self::getThumbnailSettings();
 }
 /**
  * Downloads an asset file
  * 
  * @param sfWebRequest $request 
  */
 public function executeDownload(sfWebRequest $request)
 {
     $asset = $this->getRoute()->getObject();
     $fs = new lyMediaFileSystem();
     $this->file = $fs->makePathAbsolute($asset->getPath());
     $response = $this->getResponse();
     $response->setHttpHeader('Content-Description', 'File Transfer');
     $response->setHttpHeader('Content-disposition', 'attachment; filename=' . $asset->getFilename());
     $response->setHttpHeader('Content-type', $asset->getType());
     $response->setHttpHeader('Content-Transfer-Encoding', 'binary');
     $response->setHttpHeader('Expires', 0);
     $response->setHttpHeader('Cache-Control', 'must-revalidate, post-check=0, pre-check=0');
     $response->setHttpHeader('Content-Length', filesize($this->file));
     $this->setLayout(false);
 }