diff options
author | jimmacfx <jimmacfx@4fa712ea-3c06-0410-9261-c11b4c06c003> | 2007-09-26 08:15:05 +0000 |
---|---|---|
committer | jimmacfx <jimmacfx@4fa712ea-3c06-0410-9261-c11b4c06c003> | 2007-09-26 08:15:05 +0000 |
commit | 789a9d2629fd0f40d951444e9bf68a552e391cd9 (patch) | |
tree | ee20fb486c4e56a96260a3f2c6ae70d646480c10 | |
parent | 3af0abbe0dcae33ac0d3f39d455d072785120ad9 (diff) | |
download | original-789a9d2629fd0f40d951444e9bf68a552e391cd9.tar.gz original-789a9d2629fd0f40d951444e9bf68a552e391cd9.tar.bz2 |
Remove metacam and jhead exif support, mainly due to a possible exploit.
git-svn-id: https://forgesvn1.novell.com/svn/original/trunk@20 4fa712ea-3c06-0410-9261-c11b4c06c003
-rw-r--r-- | www/inc/config.inc.php | 33 | ||||
-rw-r--r-- | www/inc/exif.inc.php | 236 | ||||
-rw-r--r-- | www/index.php | 13 |
3 files changed, 81 insertions, 201 deletions
diff --git a/www/inc/config.inc.php b/www/inc/config.inc.php index cdbcb8c..14e8ad8 100644 --- a/www/inc/config.inc.php +++ b/www/inc/config.inc.php @@ -44,12 +44,6 @@ $scnamegallery = "Photo Gallery Index"; // initialy not as lovely $app["url"] = "http://jimmac.musichall.cz/original.php3"; $app["version"] = "0.12pre"; -# =========================================================================== -# EXIF metadata app path (helper app for php3 and older php4) -# uncomment the method you want to use if you want EXIF data reported -# --------------------------------------------------------------------------- -## use internal function of PHP 4: - $exif_prog = "php4"; $exif_show = array("DateTime"=>__("Time Taken"), "Make"=>__("Camera Manufacturer"), "Model"=>__("Camera Model"), @@ -59,33 +53,6 @@ $scnamegallery = "Photo Gallery Index"; "ExposureTime"=>__("Time of Exposure"), "ISOSpeedRatings"=>__("Film/Chip Sensitivity"), "Flash"=>__("Flash")); -# --------------------------------------------------------------------------- -## use metacam (give absolute path to the binary on the server): -# $exif_prog = "/usr/local/bin/metacam"; -## what EXIF data to show (if unset, all will be shown) -## some example fields for metacam: -# $exif_show = array("Image Capture Date", "Make", "Model", -# "Exposure Program", "Exposure Mode", -# "Focal Length", "Exposure Time", -# "Aperture Value", "ISO Speed Rating", "White Balance", -# "Flash", "Scene Capture Type", -# "Metering Mode", "Max Aperture Value", "Shutter Speed Value" -# ); -# --------------------------------------------------------------------------- -## use jhead (give absolute path to the binary on the server): -# $exif_prog = "/usr/local/bin/jhead"; -## what EXIF data to show (if unset, all will be shown) -## some example fields for jhead: -# $exif_show = array( -# "Date/Time", -# "Camera make", -# "Camera model", -# "Focal length", -# "Exposure time", -# "Aperture Value", -# "ISO equiv.", -# "Exposure", -# ); # =========================================================================== ## Gallery Directory # This is a path relative to the directory where original is installed diff --git a/www/inc/exif.inc.php b/www/inc/exif.inc.php index 7b8262d..00068c8 100644 --- a/www/inc/exif.inc.php +++ b/www/inc/exif.inc.php @@ -55,169 +55,89 @@ function formatEXIF ($k,$v) { } -if ($exif_prog=="php4") { - // php internal handling - // $file is LQ image - $exif_array = exif_read_data("$file"); - reset($exif_array); - if ($exif_show) reset($exif_show); - - if ($exif_array["Make"]) { // only render all this - // if there is EXIF header - // fancy table look - echo "<div id=\"exif_table\" style=\"display: none;\">\n"; - echo "<table class=\"exif\" border=\"0\">\n"; - //co ukazat (podle exif_show) - if ($exif_show) { - while (list($kx,$x) = each($exif_show)) { - while(list($k,$v)=each($exif_array)) { - if ($kx==$k) { - echo "<tr>"; - echo "<td align=\"right\">"; - echo $x; - echo ": </td>"; - echo "<td><b>"; - echo formatEXIF($k,$v); - echo "</b></td>"; - echo "</tr>\n"; - } - } - reset($exif_array); - } - } else { - //ukaze vsechno v tabulce - while(list($k,$v)=each($exif_array)) { - echo "<tr>"; - echo "<td align=\"right\">"; - echo $k; - echo ": </td>"; - echo "<td><b>"; - echo formatEXIF($k,$v); - echo "</b></td>"; - echo "</tr>\n"; - } - } - echo "<tr>\n"; - echo "<td></td>"; - echo "<td><a href=\"javascript:toggle_div('exif_table');toggle_div('exif_line');\">" . __("Less info"); - echo "</a></td>"; - echo "</tr>\n"; - echo "</table>\n"; - echo "</div>\n"; - - - - - - // selected EXIF header on one line - echo "<div id=\"exif_line\">\n"; - echo "<p class=\"exif\">"; - reset($exif_array); - if ($exif_show) reset($exif_show); - if ($exif_show) { - while (list($kx,$x) = each($exif_show)) { - while(list($k,$v)=each($exif_array)) { - if ($kx==$k) { - echo "<span title=\"$x\">"; - echo formatEXIF($k,$v); - echo "</span> | "; - } - } - reset($exif_array); - } - } else { - /* vsechny exif headers inline */ - while(list($k,$v)=each($exif_array)) { - echo "<span title=\""; - echo $k; - echo "\">"; - echo formatEXIF($k,$v); - echo "</span> | "; - } - } - - echo "<a href=\"javascript:toggle_div('exif_table');toggle_div('exif_line');\">" . __("More info"); - echo "</a></p>\n"; - echo "</div>\n"; - } - - +// Only use php4 internal handling now. +// $file is LQ image +$exif_array = exif_read_data("$file"); +reset($exif_array); +if ($exif_show) reset($exif_show); + +if ($exif_array["Make"]) { // only render all this + // if there is EXIF header + // fancy table look + echo "<div id=\"exif_table\" style=\"display: none;\">\n"; + echo "<table class=\"exif\" border=\"0\">\n"; + //co ukazat (podle exif_show) + if ($exif_show) { + while (list($kx,$x) = each($exif_show)) { + while(list($k,$v)=each($exif_array)) { + if ($kx==$k) { + echo "<tr>"; + echo "<td align=\"right\">"; + echo $x; + echo ": </td>"; + echo "<td><b>"; + echo formatEXIF($k,$v); + echo "</b></td>"; + echo "</tr>\n"; + } + } + reset($exif_array); + } + } else { + //ukaze vsechno v tabulce + while(list($k,$v)=each($exif_array)) { + echo "<tr>"; + echo "<td align=\"right\">"; + echo $k; + echo ": </td>"; + echo "<td><b>"; + echo formatEXIF($k,$v); + echo "</b></td>"; + echo "</tr>\n"; + } + } + echo "<tr>\n"; + echo "<td></td>"; + echo "<td><a href=\"javascript:toggle_div('exif_table');toggle_div('exif_line');\">" . __("Less info"); + echo "</a></td>"; + echo "</tr>\n"; + echo "</table>\n"; + echo "</div>\n"; + // selected EXIF header on one line + echo "<div id=\"exif_line\">\n"; + echo "<p class=\"exif\">"; + reset($exif_array); + if ($exif_show) reset($exif_show); + if ($exif_show) { + while (list($kx,$x) = each($exif_show)) { + while(list($k,$v)=each($exif_array)) { + if ($kx==$k) { + echo "<span title=\"$x\">"; + echo formatEXIF($k,$v); + echo "</span> | "; + } + } + reset($exif_array); + } + } else { + /* vsechny exif headers inline */ + while(list($k,$v)=each($exif_array)) { + echo "<span title=\""; + echo $k; + echo "\">"; + echo formatEXIF($k,$v); + echo "</span> | "; + } + } - -} else { - // the old code, handles e.g. metacam and jhead as EXIF extractors - // loading lq means it won't work if the convertor doesn't copy EXIF data - // (newer ImageMagick can) - // PATCHES WELCOME - exec("$exif_prog \"$gallery_dir/$galerie/lq/img-$snimek.jpg\"", $exif_data, $exif_status); - if ($exif_status!="2") { - if ($exif_style=="descriptive") { - // fancy table look - echo "<table border=\"0\" align=\"center\" class=\"exif\">\n"; - while ($x = current($exif_data)) { - eregi("^ *([^:]*): *(.*)", $x, $y); - //filter according to $exif_show array - if (!$exif_show) { //all fields shown - echo "<tr>"; - echo "<td align=\"right\">$y[1] :</td>"; - echo "<td><b>$y[2]</b></td>"; - echo "</tr>\n"; - } else { - reset($exif_show); - while ($z = current($exif_show)) { - //echo ".$z. ::: .$y[1].<br>"; - if (trim($z) == trim($y[1])) { - echo "<tr>"; - echo "<td align=\"right\">$y[1] :</td>"; - echo "<td><b>$y[2]</b></td>"; - echo "</tr>\n"; - } - next($exif_show); - } - } - next($exif_data); - } - echo "<tr>\n"; - echo "<td></td>"; - # only show if EXIF header exists - if ($y[1]!="File") { // don't show when no EXIF - echo "<td><a href=\"$ThisScript?galerie=$galerie&photo=$snimek"; - echo "&exif_style=simple&show_thumbs=$show_thumbs\">"; - echo "<b>display in-line</b></a></td>\n"; - } - echo "</tr>\n"; - echo "</table>\n"; - } else { - //simple plaintext look - echo "<p class=\"exif\" align=\"center\">"; - while ($x = current($exif_data)) { - eregi("^ *([^:]*): *(.*)", $x, $y); - if (!$exif_show) { //all fields shown - echo "$y[2] |"; - } else { - reset($exif_show); - while ($z = current($exif_show)) { - if (trim($z) == trim($y[1])) { - echo "$y[2] | "; - } - next($exif_show); - } - } - next($exif_data); - } - # only show if EXIF header exists - if ($y[1]!="File") { - echo "<a href=\"$ThisScript?galerie=$galerie&photo=$snimek"; - echo "&exif_style=descriptive&show_thumbs=$show_thumbs\">"; - echo "<b>display table</b></a>\n"; - echo "</p>\n"; - } - } - } + echo "<a href=\"javascript:toggle_div('exif_table');toggle_div('exif_line');\">" . __("More info"); + echo "</a></p>\n"; + echo "</div>\n"; } + ?> diff --git a/www/index.php b/www/index.php index ad143ad..894ba99 100644 --- a/www/index.php +++ b/www/index.php @@ -36,13 +36,6 @@ $cmnt=''; if (isset($_GET["cmnt"])) $cmnt=$_GET["cmnt"]; $show_thumbs=''; if (isset($_GET["show_thumbs"])) $show_thumbs=$_GET["show_thumbs"]; -$exif_style=''; -if (isset($_GET["exif_style"])) $exif_style=$_GET["exif_style"]; - -/* -if(!$exif_style) { - $exif_style="descriptive"; -} */ $page = new C_www; //default colors @@ -329,7 +322,7 @@ if (!$galerie) { if ($show_thumbs) { print "\n<!--mini thumbnail roll-->\n<div class=\"thumbroll\">"; print "<a id=\"minus\" href=\"$ThisScript?galerie=$galerie&photo=$snimek"; - print "&exif_style=$exif_style\">"; + print "\">"; print "</a>\n"; print " : \n"; while ($thumbfile = $imgfiles->read()) { @@ -367,7 +360,7 @@ if (!$galerie) { // show the popup button print "\n<!--mini thumbnail popup-->\n<div class=\"thumbroll\">"; print "<a id=\"plus\" href=\"$ThisScript?galerie=$galerie&photo=$snimek"; - print "&exif_style=$exif_style&show_thumbs=yes\""; + print "&show_thumbs=yes\""; print " title=\"" . __('Show Thumbnail Navigation') . "\">"; print "</a>\n"; print "</div>\n"; @@ -382,7 +375,7 @@ if (!$galerie) { - if ($exif_prog) require("$root/inc/exif.inc.php"); + require("$root/inc/exif.inc.php"); /* Image comment really poor naming here, it is caption. */ |