[wp-trac] [WordPress Trac] #56887: wp_exif_date2ts throws notice on slash formatted date
WordPress Trac
noreply at wordpress.org
Thu Apr 24 23:44:00 UTC 2025
#56887: wp_exif_date2ts throws notice on slash formatted date
---------------------------+------------------------------
Reporter: domainsupport | Owner: (none)
Type: defect (bug) | Status: new
Priority: normal | Milestone: Awaiting Review
Component: Date/Time | Version: 5.2.3
Severity: normal | Resolution:
Keywords: | Focuses:
---------------------------+------------------------------
Description changed by sabernhardt:
Old description:
> When an image has an exif date in the format ...
>
> > YYYY/MM/DD HH:MM:SS
>
> ... rather than ...
>
> > YYYY:MM:DD HH:MM:SS
>
> ... which is happening more and more I have noticed, the following PHP
> notices are thrown ...
>
> > PHP Notice: Undefined offset: 1 in /var/www/tourist.org.uk/html/wp-
> admin/includes/image.php on line 710
> > PHP Notice: Undefined offset: 2 in /var/www/tourist.org.uk/html/wp-
> admin/includes/image.php on line 710
>
> I think there are a lot of assumptions being made in wp_exif_date2ts()
> and I believe that a preg_match check like ...
>
> {{{#!php
> <?php
> if (preg_match('/^(?>\d){4}[:|\/](?>\d){2}[:|\/](?>\d){2}
> (?>\d){2}:(?>\d){2}:(?>\d){2}$/', $str)) {
>
> // Process and return exif date
>
> } else {
> return false;
> }
> }}}
>
> ... should be done instead.
>
> This is related to ticket [ticket:48204]
New description:
When an image has an exif date in the format ...
> YYYY/MM/DD HH:MM:SS
... rather than ...
> YYYY:MM:DD HH:MM:SS
... which is happening more and more I have noticed, the following PHP
notices are thrown ...
> PHP Notice: Undefined offset: 1 in /.../wp-admin/includes/image.php on
line 710
> PHP Notice: Undefined offset: 2 in /.../wp-admin/includes/image.php on
line 710
I think there are a lot of assumptions being made in `wp_exif_date2ts()`
and I believe that a `preg_match` check like ...
{{{#!php
<?php
if (preg_match('/^(?>\d){4}[:|\/](?>\d){2}[:|\/](?>\d){2}
(?>\d){2}:(?>\d){2}:(?>\d){2}$/', $str)) {
// Process and return exif date
} else {
return false;
}
}}}
... should be done instead.
This is related to ticket [ticket:48204]
--
--
Ticket URL: <https://core.trac.wordpress.org/ticket/56887#comment:1>
WordPress Trac <https://core.trac.wordpress.org/>
WordPress publishing platform
More information about the wp-trac
mailing list