Exemplo n.º 1
0
 function convertMetadataVersion($metadata, $version = 1)
 {
     // basically flattens arrays.
     $version = explode(';', $version, 2);
     $version = intval($version[0]);
     if ($version < 1 || $version >= 2) {
         return $metadata;
     }
     $avoidHtml = true;
     if (!is_array($metadata)) {
         $metadata = unserialize($metadata);
     }
     if (!isset($metadata['MEDIAWIKI_EXIF_VERSION']) || $metadata['MEDIAWIKI_EXIF_VERSION'] != 2) {
         return $metadata;
     }
     // Treat Software as a special case because in can contain
     // an array of (SoftwareName, Version).
     if (isset($metadata['Software']) && is_array($metadata['Software']) && is_array($metadata['Software'][0]) && isset($metadata['Software'][0][0]) && isset($metadata['Software'][0][1])) {
         $metadata['Software'] = $metadata['Software'][0][0] . ' (Version ' . $metadata['Software'][0][1] . ')';
     }
     // ContactInfo also has to be dealt with specially
     if (isset($metadata['Contact'])) {
         $metadata['Contact'] = FormatMetadata::collapseContactInfo($metadata['Contact']);
     }
     foreach ($metadata as &$val) {
         if (is_array($val)) {
             $val = FormatMetadata::flattenArray($val, 'ul', $avoidHtml);
         }
     }
     $metadata['MEDIAWIKI_EXIF_VERSION'] = 1;
     return $metadata;
 }
Exemplo n.º 2
0
 /**
  * @param $filename String
  * @param $expected Integer Total image area
  * @dataProvider provideFlattenArray
  * @covers FormatMetadata::flattenArray
  */
 public function testFlattenArray($vals, $type, $noHtml, $ctx, $expected)
 {
     $actual = FormatMetadata::flattenArray($vals, $type, $noHtml, $ctx);
     $this->assertEquals($expected, $actual);
 }