Blame view

sources/lib/private/preview/mp3.php 1.12 KB
31b7f2792   Kload   Upgrade to ownclo...
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
  <?php
  /**
   * Copyright (c) 2013 Georg Ehrke georg@ownCloud.com
   * This file is licensed under the Affero General Public License version 3 or
   * later.
   * See the COPYING-README file.
   */
  namespace OC\Preview;
  
  class MP3 extends Provider {
  
  	public function getMimeType() {
  		return '/audio\/mpeg/';
  	}
  
  	public function getThumbnail($path, $maxX, $maxY, $scalingup, $fileview) {
31b7f2792   Kload   Upgrade to ownclo...
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
  		$getID3 = new \getID3();
  
  		$tmpPath = $fileview->toTmpFile($path);
  
  		$tags = $getID3->analyze($tmpPath);
  		\getid3_lib::CopyTagsToComments($tags);
  		if(isset($tags['id3v2']['APIC'][0]['data'])) {
  			$picture = @$tags['id3v2']['APIC'][0]['data'];
  			unlink($tmpPath);
  			$image = new \OC_Image();
  			$image->loadFromData($picture);
  			return $image->valid() ? $image : $this->getNoCoverThumbnail();
  		}
  
  		return $this->getNoCoverThumbnail();
  	}
  
  	private function getNoCoverThumbnail() {
  		$icon = \OC::$SERVERROOT . '/core/img/filetypes/audio.png';
  
  		if(!file_exists($icon)) {
  			return false;
  		}
  
  		$image = new \OC_Image();
  		$image->loadFromFile($icon);
  		return $image->valid() ? $image : false;
  	}
  
  }
6d9380f96   Cédric Dupont   Update sources OC...
47
  \OC\Preview::registerProvider('OC\Preview\MP3');