Merge branch 'master' of https://github.com/savetheinternet/Tinyboard
This commit is contained in:
commit
7ed01737c7
@ -510,8 +510,9 @@
|
|||||||
// Strip EXIF metadata from JPEG files.
|
// Strip EXIF metadata from JPEG files.
|
||||||
$config['strip_exif'] = false;
|
$config['strip_exif'] = false;
|
||||||
// Use the command-line `exiftool` tool to strip EXIF metadata without decompressing/recompressing JPEGs.
|
// Use the command-line `exiftool` tool to strip EXIF metadata without decompressing/recompressing JPEGs.
|
||||||
// Ignored when $config['redraw_image'] is true.
|
// Ignored when $config['redraw_image'] is true. This is also used to adjust the Orientation tag when
|
||||||
$config['strip_with_exiftool'] = false;
|
// $config['strip_exif'] is false and $config['convert_manual_orient'] is true.
|
||||||
|
$config['use_exiftool'] = false;
|
||||||
|
|
||||||
// Redraw the image to strip any excess data (commonly ZIP archives) WARNING: This might strip the
|
// Redraw the image to strip any excess data (commonly ZIP archives) WARNING: This might strip the
|
||||||
// animation of GIFs, depending on the chosen thumbnailing method. It also requires recompressing
|
// animation of GIFs, depending on the chosen thumbnailing method. It also requires recompressing
|
||||||
|
21
post.php
21
post.php
@ -452,7 +452,7 @@ if (isset($_POST['delete'])) {
|
|||||||
if ($config['convert_auto_orient'] && ($post['extension'] == 'jpg' || $post['extension'] == 'jpeg')) {
|
if ($config['convert_auto_orient'] && ($post['extension'] == 'jpg' || $post['extension'] == 'jpeg')) {
|
||||||
// The following code corrects the image orientation.
|
// The following code corrects the image orientation.
|
||||||
// Currently only works with the 'convert' option selected but it could easily be expanded to work with the rest if you can be bothered.
|
// Currently only works with the 'convert' option selected but it could easily be expanded to work with the rest if you can be bothered.
|
||||||
if (!($config['redraw_image'] || (($config['strip_exif'] && !$config['strip_with_exiftool']) && ($post['extension'] == 'jpg' || $post['extension'] == 'jpeg')))) {
|
if (!($config['redraw_image'] || (($config['strip_exif'] && !$config['use_exiftool']) && ($post['extension'] == 'jpg' || $post['extension'] == 'jpeg')))) {
|
||||||
if (in_array($config['thumb_method'], array('convert', 'convert+gifsicle', 'gm', 'gm+gifsicle'))) {
|
if (in_array($config['thumb_method'], array('convert', 'convert+gifsicle', 'gm', 'gm+gifsicle'))) {
|
||||||
$exif = exif_read_data($upload);
|
$exif = exif_read_data($upload);
|
||||||
$gm = in_array($config['thumb_method'], array('gm', 'gm+gifsicle'));
|
$gm = in_array($config['thumb_method'], array('gm', 'gm+gifsicle'));
|
||||||
@ -460,8 +460,19 @@ if (isset($_POST['delete'])) {
|
|||||||
if ($config['convert_manual_orient']) {
|
if ($config['convert_manual_orient']) {
|
||||||
$error = shell_exec_error(($gm ? 'gm ' : '') . 'convert ' .
|
$error = shell_exec_error(($gm ? 'gm ' : '') . 'convert ' .
|
||||||
escapeshellarg($upload) . ' ' .
|
escapeshellarg($upload) . ' ' .
|
||||||
ImageConvert::jpeg_exif_orientation(false, $exif) . ' +profile "*" ' .
|
ImageConvert::jpeg_exif_orientation(false, $exif) . ' ' .
|
||||||
|
($config['strip_exif'] ? '+profile "*"' :
|
||||||
|
($config['use_exiftool'] ? '' : '+profile "*"')
|
||||||
|
) . ' ' .
|
||||||
escapeshellarg($upload));
|
escapeshellarg($upload));
|
||||||
|
if ($config['use_exiftool'] && !$config['strip_exif']) {
|
||||||
|
if ($exiftool_error = shell_exec_error(
|
||||||
|
'exiftool -q -orientation=1 -n ' . escapeshellarg($upload)))
|
||||||
|
error('exiftool failed!', null, $exiftool_error);
|
||||||
|
} else {
|
||||||
|
// TODO: Find another way to remove the Orientation tag from the EXIF profile
|
||||||
|
// without needing `exiftool`.
|
||||||
|
}
|
||||||
} else {
|
} else {
|
||||||
$error = shell_exec_error(($gm ? 'gm ' : '') . 'convert ' .
|
$error = shell_exec_error(($gm ? 'gm ' : '') . 'convert ' .
|
||||||
escapeshellarg($upload) . ' -auto-orient ' . escapeshellarg($upload));
|
escapeshellarg($upload) . ' -auto-orient ' . escapeshellarg($upload));
|
||||||
@ -469,6 +480,8 @@ if (isset($_POST['delete'])) {
|
|||||||
if ($error)
|
if ($error)
|
||||||
error('Could not auto-orient image!', null, $error);
|
error('Could not auto-orient image!', null, $error);
|
||||||
$size = @getimagesize($upload);
|
$size = @getimagesize($upload);
|
||||||
|
if ($config['strip_exif'])
|
||||||
|
$post['exif_stripped'] = true;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
@ -515,8 +528,8 @@ if (isset($_POST['delete'])) {
|
|||||||
$thumb->_destroy();
|
$thumb->_destroy();
|
||||||
}
|
}
|
||||||
|
|
||||||
if ($config['redraw_image'] || ($config['strip_exif'] && ($post['extension'] == 'jpg' || $post['extension'] == 'jpeg'))) {
|
if ($config['redraw_image'] || (!@$post['exif_stripped'] && $config['strip_exif'] && ($post['extension'] == 'jpg' || $post['extension'] == 'jpeg'))) {
|
||||||
if (!$config['redraw_image'] && $config['strip_with_exiftool']) {
|
if (!$config['redraw_image'] && $config['use_exiftool']) {
|
||||||
if($error = shell_exec_error('exiftool -q -all= ' . escapeshellarg($upload)))
|
if($error = shell_exec_error('exiftool -q -all= ' . escapeshellarg($upload)))
|
||||||
error('Could not strip EXIF metadata!', null, $error);
|
error('Could not strip EXIF metadata!', null, $error);
|
||||||
} else {
|
} else {
|
||||||
|
Loading…
Reference in New Issue
Block a user