Exemplo n.º 1
0
 function getMetadata($image, $filename)
 {
     if (!isset($image->parsedGIFMetadata)) {
         try {
             $image->parsedGIFMetadata = GIFMetadataExtractor::getMetadata($filename);
         } catch (Exception $e) {
             // Broken file?
             wfDebug(__METHOD__ . ': ' . $e->getMessage() . "\n");
             return '0';
         }
     }
     return serialize($image->parsedGIFMetadata);
 }
 /**
  * Put in a file, and see if the metadata coming out is as expected.
  * @param $filename String
  * @param $expected Array The extracted metadata.
  * @dataProvider provideGetMetadata
  */
 public function testGetMetadata($filename, $expected)
 {
     $actual = GIFMetadataExtractor::getMetadata($this->mediaPath . $filename);
     $this->assertEquals($expected, $actual);
 }
Exemplo n.º 3
0
 /** function for gif images.
  *
  * They don't really have native metadata, so just merges together
  * XMP and image comment.
  *
  * @param string $filename full path to file
  * @return Array metadata array
  */
 public static function GIF($filename)
 {
     $meta = new self();
     $baseArray = GIFMetadataExtractor::getMetadata($filename);
     if (count($baseArray['comment']) > 0) {
         $meta->addMetadata(array('GIFFileComment' => $baseArray['comment']), 'native');
     }
     if ($baseArray['xmp'] !== '' && function_exists('xml_parser_create_ns')) {
         $xmp = new XMPReader();
         $xmp->parse($baseArray['xmp']);
         $xmpRes = $xmp->getResults();
         foreach ($xmpRes as $type => $xmpSection) {
             $meta->addMetadata($xmpSection, $type);
         }
     }
     unset($baseArray['comment']);
     unset($baseArray['xmp']);
     $baseArray['metadata'] = $meta->getMetadataArray();
     $baseArray['metadata']['_MW_GIF_VERSION'] = GIFMetadataExtractor::VERSION;
     return $baseArray;
 }
 /** function for gif images.
  *
  * They don't really have native metadata, so just merges together
  * XMP and image comment.
  *
  * @param string $filename Full path to file
  * @return array Metadata array
  */
 public static function GIF($filename)
 {
     $meta = new self();
     $baseArray = GIFMetadataExtractor::getMetadata($filename);
     if (count($baseArray['comment']) > 0) {
         $meta->addMetadata(['GIFFileComment' => $baseArray['comment']], 'native');
     }
     if ($baseArray['xmp'] !== '' && XMPReader::isSupported()) {
         $xmp = new XMPReader(LoggerFactory::getInstance('XMP'));
         $xmp->parse($baseArray['xmp']);
         $xmpRes = $xmp->getResults();
         foreach ($xmpRes as $type => $xmpSection) {
             $meta->addMetadata($xmpSection, $type);
         }
     }
     unset($baseArray['comment']);
     unset($baseArray['xmp']);
     $baseArray['metadata'] = $meta->getMetadataArray();
     $baseArray['metadata']['_MW_GIF_VERSION'] = GIFMetadataExtractor::VERSION;
     return $baseArray;
 }