]> gitweb.fluxo.info Git - original.git/commitdiff
Remove metacam and jhead exif support, mainly due to a possible exploit.
authorjimmacfx <jimmacfx@4fa712ea-3c06-0410-9261-c11b4c06c003>
Wed, 26 Sep 2007 08:15:05 +0000 (08:15 +0000)
committerjimmacfx <jimmacfx@4fa712ea-3c06-0410-9261-c11b4c06c003>
Wed, 26 Sep 2007 08:15:05 +0000 (08:15 +0000)
git-svn-id: https://forgesvn1.novell.com/svn/original/trunk@20 4fa712ea-3c06-0410-9261-c11b4c06c003

www/inc/config.inc.php
www/inc/exif.inc.php
www/index.php

index cdbcb8c8ec5bac581c89cd979797133b0f5d78ba..14e8ad85766c322f2d9054bae9c1c3a340fc1621 100644 (file)
@@ -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
index 7b8262d311c498de082df2413e2070055f5262af..00068c8392db7b42513661debc304ff0778fc34d 100644 (file)
@@ -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";
 }
+
 ?>
index ad143adf9b23736d1a410ecdf0b87daf75471376..894ba99d6850706a654507ae9ad6595d2c2f6546 100644 (file)
@@ -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&amp;photo=$snimek";
-      print "&amp;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&amp;photo=$snimek";
-      print "&amp;exif_style=$exif_style&amp;show_thumbs=yes\"";
+      print "&amp;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.
         */