Skip to content

Commit fdf74c6

Browse files
committed
Use latest image-metadata-parser library
1 parent 7321203 commit fdf74c6

File tree

15 files changed

+256
-280
lines changed

15 files changed

+256
-280
lines changed

src/admin/admin-plugin.php

+1-55
Original file line numberDiff line numberDiff line change
@@ -129,7 +129,7 @@ private function parse_image_regions(
129129
) {
130130
Debug\log("Parsing image regions of $source_image_path ...");
131131

132-
$image_regions = $this->read_rectangle_cropping_metadata(
132+
$image_regions = $this->xmp->read_rectangle_cropping_metadata(
133133
$source_image_path
134134
);
135135
Debug\log(
@@ -148,60 +148,6 @@ private function parse_image_regions(
148148
];
149149
}
150150

151-
/**
152-
* Reads the rectangle cropping XMP Image Region metadata from a given
153-
* file. See
154-
* https://iptc.org/std/photometadata/specification/IPTC-PhotoMetadata#image-region
155-
*
156-
* @param string $path Absolute path to the image.
157-
* @return array XMP Image Region metadata structured in a way that can
158-
* directly be used as WordPress metadata.
159-
*/
160-
private function read_rectangle_cropping_metadata($path) {
161-
$wordpress_metadata = [];
162-
163-
$image_editor = $this->global_functions->wp_get_image_editor($path);
164-
if ($this->global_functions->is_wp_error($image_editor)) {
165-
Debug\log(
166-
'Could not create image editor for reading image size of ' .
167-
$path .
168-
': ' .
169-
$image_editor->get_error_message()
170-
);
171-
return $wordpress_metadata;
172-
}
173-
174-
$image_size = $image_editor->get_size();
175-
176-
$regions = $this->xmp->read_rectangle_cropping_metadata($path);
177-
Debug\log('Found relevant image regions: ' . print_r($regions, true));
178-
179-
foreach ($regions as $region) {
180-
$wordpress_metadata_region = [
181-
'id' => $region->id,
182-
'names' => $region->names,
183-
'shape' => $region->rbShape,
184-
185-
// Can be 'relative' or 'pixel', see
186-
// https://iptc.org/std/photometadata/specification/IPTC-PhotoMetadata#boundary-measuring-unit
187-
'unit' => $region->rbUnit,
188-
189-
// Useful when unit is 'pixel', see
190-
// https://github.com/Frameright/image-display-control-web-component/blob/main/image-display-control/docs/reference/attributes.md
191-
'imageWidth' => $image_size['width'],
192-
'imageHeight' => $image_size['height'],
193-
194-
'x' => $region->rbXY->rbX,
195-
'y' => $region->rbXY->rbY,
196-
'height' => $region->rbH,
197-
'width' => $region->rbW,
198-
];
199-
array_push($wordpress_metadata, $wordpress_metadata_region);
200-
}
201-
202-
return $wordpress_metadata;
203-
}
204-
205151
/**
206152
* Mockable wrapper for calling global functions.
207153
*

src/admin/xmp.php

+4-3
Original file line numberDiff line numberDiff line change
@@ -37,7 +37,8 @@ class Xmp {
3737
* https://iptc.org/std/photometadata/specification/IPTC-PhotoMetadata#image-region
3838
*
3939
* @param string $path Absolute path to the image.
40-
* @return array XMP Image Region metadata.
40+
* @return array XMP Image Region metadata structured in a way that can
41+
* directly be used as WordPress metadata.
4142
*/
4243
public function read_rectangle_cropping_metadata($path) {
4344
$result = [];
@@ -47,9 +48,9 @@ public function read_rectangle_cropping_metadata($path) {
4748
// file format. But in case there is no extension, WordPress still
4849
// knows the format and could pass the information here. See
4950
// https://github.com/Frameright/php-image-metadata-parser/issues/5
50-
$xmp_metadata = \CSD\Image\Image::fromFile($path)->getXmp();
51+
$image = \CSD\Image\Image::fromFile($path);
5152

52-
$result = $xmp_metadata->getImageRegions(
53+
$result = $image->getIDCMetadata(
5354
\CSD\Image\Metadata\Xmp\ShapeFilter::RECTANGLE,
5455
\CSD\Image\Metadata\Xmp\RoleFilter::CROP
5556
);

src/composer.json

+1-8
Original file line numberDiff line numberDiff line change
@@ -1,12 +1,5 @@
11
{
2-
"minimum-stability": "dev",
3-
"repositories": [
4-
{
5-
"type": "vcs",
6-
"url": "https://github.com/Frameright/php-image-metadata-parser.git"
7-
}
8-
],
92
"require": {
10-
"frameright/image-metadata-parser": "dev-master"
3+
"frameright/image-metadata-parser": "^1.0"
114
}
125
}

src/composer.lock

+21-27
Some generated files are not rendered by default. Learn more about customizing how changed files appear on GitHub.

src/vendor/autoload.php

+1-1
Original file line numberDiff line numberDiff line change
@@ -9,4 +9,4 @@
99

1010
require_once __DIR__ . '/composer/autoload_real.php';
1111

12-
return ComposerAutoloaderInit4c62437a86880fb4b39369a93f2dec22::getLoader();
12+
return ComposerAutoloaderInit382f36d2f064a8833cb299e29ade0578::getLoader();

src/vendor/composer/autoload_real.php

+4-4
Original file line numberDiff line numberDiff line change
@@ -2,7 +2,7 @@
22

33
// autoload_real.php @generated by Composer
44

5-
class ComposerAutoloaderInit4c62437a86880fb4b39369a93f2dec22
5+
class ComposerAutoloaderInit382f36d2f064a8833cb299e29ade0578
66
{
77
private static $loader;
88

@@ -24,12 +24,12 @@ public static function getLoader()
2424

2525
require __DIR__ . '/platform_check.php';
2626

27-
spl_autoload_register(array('ComposerAutoloaderInit4c62437a86880fb4b39369a93f2dec22', 'loadClassLoader'), true, true);
27+
spl_autoload_register(array('ComposerAutoloaderInit382f36d2f064a8833cb299e29ade0578', 'loadClassLoader'), true, true);
2828
self::$loader = $loader = new \Composer\Autoload\ClassLoader(\dirname(__DIR__));
29-
spl_autoload_unregister(array('ComposerAutoloaderInit4c62437a86880fb4b39369a93f2dec22', 'loadClassLoader'));
29+
spl_autoload_unregister(array('ComposerAutoloaderInit382f36d2f064a8833cb299e29ade0578', 'loadClassLoader'));
3030

3131
require __DIR__ . '/autoload_static.php';
32-
call_user_func(\Composer\Autoload\ComposerStaticInit4c62437a86880fb4b39369a93f2dec22::getInitializer($loader));
32+
call_user_func(\Composer\Autoload\ComposerStaticInit382f36d2f064a8833cb299e29ade0578::getInitializer($loader));
3333

3434
$loader->register(true);
3535

src/vendor/composer/autoload_static.php

+4-4
Original file line numberDiff line numberDiff line change
@@ -4,7 +4,7 @@
44

55
namespace Composer\Autoload;
66

7-
class ComposerStaticInit4c62437a86880fb4b39369a93f2dec22
7+
class ComposerStaticInit382f36d2f064a8833cb299e29ade0578
88
{
99
public static $prefixLengthsPsr4 = array (
1010
'C' =>
@@ -27,9 +27,9 @@ class ComposerStaticInit4c62437a86880fb4b39369a93f2dec22
2727
public static function getInitializer(ClassLoader $loader)
2828
{
2929
return \Closure::bind(function () use ($loader) {
30-
$loader->prefixLengthsPsr4 = ComposerStaticInit4c62437a86880fb4b39369a93f2dec22::$prefixLengthsPsr4;
31-
$loader->prefixDirsPsr4 = ComposerStaticInit4c62437a86880fb4b39369a93f2dec22::$prefixDirsPsr4;
32-
$loader->classMap = ComposerStaticInit4c62437a86880fb4b39369a93f2dec22::$classMap;
30+
$loader->prefixLengthsPsr4 = ComposerStaticInit382f36d2f064a8833cb299e29ade0578::$prefixLengthsPsr4;
31+
$loader->prefixDirsPsr4 = ComposerStaticInit382f36d2f064a8833cb299e29ade0578::$prefixDirsPsr4;
32+
$loader->classMap = ComposerStaticInit382f36d2f064a8833cb299e29ade0578::$classMap;
3333

3434
}, null, ClassLoader::class);
3535
}

src/vendor/composer/installed.json

+19-23
Original file line numberDiff line numberDiff line change
@@ -2,44 +2,37 @@
22
"packages": [
33
{
44
"name": "frameright/image-metadata-parser",
5-
"version": "dev-master",
6-
"version_normalized": "dev-master",
5+
"version": "1.0.0",
6+
"version_normalized": "1.0.0.0",
77
"source": {
88
"type": "git",
99
"url": "https://github.com/Frameright/php-image-metadata-parser.git",
10-
"reference": "5f5091c631dc763a74a8d1bfffc4999f8287c1e4"
10+
"reference": "b7bad12ee278aa6d4dece393e71c1d2763b2bb8d"
1111
},
1212
"dist": {
1313
"type": "zip",
14-
"url": "https://api.github.com/repos/Frameright/php-image-metadata-parser/zipball/5f5091c631dc763a74a8d1bfffc4999f8287c1e4",
15-
"reference": "5f5091c631dc763a74a8d1bfffc4999f8287c1e4",
14+
"url": "https://api.github.com/repos/Frameright/php-image-metadata-parser/zipball/b7bad12ee278aa6d4dece393e71c1d2763b2bb8d",
15+
"reference": "b7bad12ee278aa6d4dece393e71c1d2763b2bb8d",
1616
"shasum": ""
1717
},
1818
"require": {
19+
"ext-xml": "*",
1920
"php": ">=5.5"
2021
},
2122
"require-dev": {
2223
"mockery/mockery": "~0.9",
2324
"phpcompatibility/php-compatibility": "^9.3.5",
2425
"phpunit/phpunit": "^9.5.25"
2526
},
26-
"time": "2023-03-03T17:25:48+00:00",
27-
"default-branch": true,
27+
"time": "2023-04-10T14:32:42+00:00",
2828
"type": "library",
2929
"installation-source": "dist",
3030
"autoload": {
3131
"psr-4": {
3232
"CSD\\Image\\": "src/"
3333
}
3434
},
35-
"scripts": {
36-
"lint": [
37-
"./vendor/bin/phpcs"
38-
],
39-
"test": [
40-
"./vendor/bin/phpunit"
41-
]
42-
},
35+
"notification-url": "https://packagist.org/downloads/",
4336
"license": [
4437
"MIT"
4538
],
@@ -63,18 +56,21 @@
6356
"role": "Developer"
6457
}
6558
],
66-
"description": "Image metadata library",
59+
"description": "Image metadata parsing library",
6760
"keywords": [
68-
"Exif",
61+
"Frameright",
62+
"IDC",
6963
"IPTC",
70-
"Image",
71-
"Metadata",
72-
"Photo",
73-
"XMP"
64+
"Image Display Control",
65+
"exif",
66+
"image",
67+
"metadata",
68+
"photo",
69+
"xmp"
7470
],
7571
"support": {
76-
"source": "https://github.com/Frameright/php-image-metadata-parser/tree/master",
77-
"issues": "https://github.com/Frameright/php-image-metadata-parser/issues"
72+
"issues": "https://github.com/Frameright/php-image-metadata-parser/issues",
73+
"source": "https://github.com/Frameright/php-image-metadata-parser/tree/1.0.0"
7874
},
7975
"install-path": "../frameright/image-metadata-parser"
8076
}

src/vendor/composer/installed.php

+6-8
Original file line numberDiff line numberDiff line change
@@ -3,7 +3,7 @@
33
'name' => '__root__',
44
'pretty_version' => 'dev-master',
55
'version' => 'dev-master',
6-
'reference' => '29c655b1b78a8792864dc3ae72cf2433ef994d11',
6+
'reference' => '0d081056fceefafe77df377cebdfe1eff2046522',
77
'type' => 'library',
88
'install_path' => __DIR__ . '/../../',
99
'aliases' => array(),
@@ -13,21 +13,19 @@
1313
'__root__' => array(
1414
'pretty_version' => 'dev-master',
1515
'version' => 'dev-master',
16-
'reference' => '29c655b1b78a8792864dc3ae72cf2433ef994d11',
16+
'reference' => '0d081056fceefafe77df377cebdfe1eff2046522',
1717
'type' => 'library',
1818
'install_path' => __DIR__ . '/../../',
1919
'aliases' => array(),
2020
'dev_requirement' => false,
2121
),
2222
'frameright/image-metadata-parser' => array(
23-
'pretty_version' => 'dev-master',
24-
'version' => 'dev-master',
25-
'reference' => '5f5091c631dc763a74a8d1bfffc4999f8287c1e4',
23+
'pretty_version' => '1.0.0',
24+
'version' => '1.0.0.0',
25+
'reference' => 'b7bad12ee278aa6d4dece393e71c1d2763b2bb8d',
2626
'type' => 'library',
2727
'install_path' => __DIR__ . '/../frameright/image-metadata-parser',
28-
'aliases' => array(
29-
0 => '9999999-dev',
30-
),
28+
'aliases' => array(),
3129
'dev_requirement' => false,
3230
),
3331
),

src/vendor/frameright/image-metadata-parser/README.md

+7
Original file line numberDiff line numberDiff line change
@@ -127,3 +127,10 @@ composer install
127127
composer lint
128128
composer test
129129
```
130+
131+
See also [Contributing](docs/02_Contributing.md).
132+
133+
## Changelog
134+
135+
**1.0.0** (2023-04-10):
136+
* Initial version.

0 commit comments

Comments
 (0)