File: //usr/local/CyberCP/public/snappymail/snappymail/v/2.38.2/app/libraries/snappymail/image/exif.php
<?php
namespace SnappyMail\Image;
class Exif
{
/*
const
ORIENTATION_UNDEFINED = 0,
ORIENTATION_TOPLEFT = 1,
ORIENTATION_TOPRIGHT = 2,
ORIENTATION_BOTTOMRIGHT = 3,
ORIENTATION_BOTTOMLEFT = 4,
ORIENTATION_LEFTTOP = 5,
ORIENTATION_RIGHTTOP = 6,
ORIENTATION_RIGHTBOTTOM = 7,
ORIENTATION_LEFTBOTTOM = 8;
*/
public static function getImageOrientation(string &$data, ?array $image_info = null) : int
{
$image_info = empty($image_info['mime']) ? \getimagesizefromstring($data) : $image_info;
if (!empty($image_info['mime']) && \IMG_JPG == $image_info[2] && \is_callable('exif_read_data')) {
$exif = \exif_read_data('data://'.$image_info['mime'].';base64,' . \base64_encode($data));
if (false !== $exif) {
return \max(0, \intval($exif['IFD0.Orientation'] ?? 0));
}
\SnappyMail\Log::warning('EXIF', "{$image_info['mime']} " . \error_get_last()['message']);
}
return 0;
}
}