Esempio n. 1
0
 /**
  * Get the first image of a video
  * @param Array $params = (
  *		path => string				Path of the file
  * )
  * @return fill the response with the image
  */
 public static function getVideoPoster($params)
 {
     if ($params === null || !is_array($params)) {
         throw new EyeInvalidArgumentException('Missing or invalid $params');
     }
     if (!isset($params['path']) || !is_string($params['path'])) {
         throw new EyeInvalidArgumentException('Missing or invalid $params[\'path\']');
     }
     $myFile = FSI::getFile($params['path']);
     if (method_exists($myFile, 'getRealFile')) {
         $fileName = AdvancedPathLib::getPhpLocalHackPath($myFile->getRealFile()->getAbsolutePath());
     } else {
         $fileName = $params['path'];
     }
     Logger::getLogger('Mobile - files.php')->debug('$fileName: ' . $fileName);
     try {
         $MediaConverter = new MediaConverter();
         $fileName = $MediaConverter->Convert($fileName, 'JPG');
     } catch (Exception $e) {
         Logger::getLogger('Mobile - files.php')->debug('$MediaConverter error: ' . $e);
     }
     $size = filesize($fileName);
     $data = file_get_contents($fileName);
     $response = MMapManager::getCurrentResponse();
     $response->getHeaders()->append('Content-Type: image/jpeg');
     $response->getHeaders()->append('Content-Length: ' . $size);
     $response->getHeaders()->append('Accept-Ranges: bytes');
     //		$response->getHeaders()->append('Expires: 0');
     //		$response->getHeaders()->append('Pragma: public');
     //		$response->getHeaders()->append('Content-Disposition: inline');
     //		$response->getHeaders()->append('Content-Transfer-Encoding: binary');
     //		$response->getHeaders()->append('Cache-Control: must-revalidate, post-check=0, pre-check=0');
     //		$response->getHeaders()->append('X-Pad: avoid browser bug');
     $response->setBody($data);
 }
Esempio n. 2
0
 public static function getFile($params)
 {
     $instance = MemoryManager::getInstance();
     $request = MMapManager::getCurrentRequest();
     $response = MMapManager::getCurrentResponse();
     $plist = $instance->get('playList');
     $myFile = FSI::getFile($plist[$params]);
     $myFile->checkReadPermission();
     $myExt = strtolower($myFile->getExtension());
     $type = $request->issetGET('type') ? $request->getGET('type') : '';
     $myRealFile = $myFile->getRealFile();
     $fileNameDestination = AdvancedPathLib::getPhpLocalHackPath($myRealFile->getPath());
     //Convert file to a supported FLV
     if ($type == 'convert2FLV' || $myExt == 'mov' || $myExt == '3gp' || $myExt == 'wav' || $myExt == 'wma' || $myExt == '3gpp' || $myExt == '3g2' || $myExt == 'mp4' || $myExt == 'mpg' || $myExt == 'mpv' || $myExt == 'avi' || $myExt == 'ogg' || $myExt == 'ogv' || $myExt == 'webm') {
         Logger::getLogger('VIEWEEER')->debug('$fileNameDestination before transcode: ' . $myExt);
         $mediaConverter = new MediaConverter();
         $fileNameDestination = $mediaConverter->Convert($fileNameDestination, 'FLV');
         $type = 'flv';
         Logger::getLogger('VIEWEEER')->debug('$fileNameDestination after transcode: ' . $fileNameDestination);
     }
     // setting headers
     if ($type == 'image' || $myExt == 'png' || $myExt == 'jpg' || $myExt == 'gif') {
         header('Content-Type: image/' . $myExt);
     } else {
         if ($type == 'mp4' || $myExt == 'mp4') {
             header('Content-type: video/mp4');
         } else {
             if ($type == 'flv' || $myExt == 'flv') {
                 header('Content-type: video/x-flv');
             } else {
                 if ($type == 'mp3' || $myExt == 'mp3') {
                     header('Content-type: audio/mpeg3');
                 } else {
                     if ($type == 'm4a' || $myExt == 'm4a') {
                         header('Content-type: audio/mp4a-latm');
                     } else {
                         if (method_exists($myFile, 'getMimeType')) {
                             header('Content-type: ' . $myFile->getMimeType());
                         }
                     }
                 }
             }
         }
     }
     $len = filesize($fileNameDestination);
     header('Content-Length: ' . $len);
     header('Accept-Ranges: bytes');
     header('X-Pad: avoid browser bug');
     session_write_close();
     readFile($fileNameDestination);
     exit;
 }