Exemplo n.º 1
0
 public function folder($folder, $filename = null)
 {
     if (!preg_match('/^[0-9]+x[0-9]+$/', $folder)) {
         // Zijn er geen afmetingen meegegeven?
         return $this->onFolderNotFound();
     }
     if (!$filename) {
         // Komt de afbeelding uit een subfolder($recursive)?
         $url = Url::getCurrentURL();
         $path = array('folders' => $url->getFolders(), 'filename' => $url->getFilename());
         $subfolders = array_slice($path['folders'], $this->depth + 1);
         $filename = implode('/', $subfolders) . '/' . $path['filename'];
     }
     $source = $this->imagesFolder . $filename;
     if (!file_exists($source)) {
         return new HttpError(404, array('warning' => 'Image "' . $filename . '" not found in "' . $this->imagesFolder . '"'));
     }
     $target = $this->targetFolder . $folder . '/' . $filename;
     if (!file_exists($target) || filemtime($source) > filemtime($target)) {
         $dimensions = explode('x', $folder);
         \Sledgehammer\mkdirs(dirname($target));
         $image = new Image($source);
         $image->saveThumbnail($target, $dimensions[0], $dimensions[1]);
     }
     return new File($target);
 }
Exemplo n.º 2
0
 /**
  * Vraag gegevens op van het filmbestand
  * (via de property).
  */
 public function __get($property)
 {
     if (count($this->properties) == 0) {
         try {
             $this->process(null);
             // run ffmpeg, zodat de properties array gevuld word.
         } catch (Exception $Exception) {
             if (count($this->properties) < 3) {
                 // Zijn de eigenschappen nog steeds niet bekend?
                 throw $Exception;
             }
         }
     }
     if (isset($this->properties[$property])) {
         return $this->properties[$property];
     }
     return parent::__get($property);
 }