X-Git-Url: https://dev.renevier.net/gitweb.cgi?a=blobdiff_plain;ds=sidebyside;f=items.php;h=e7a97231572a689dc0d4185706e66d2a7aab7b33;hb=12376baf148afee289fbb53dd16ee2a0841d5290;hp=bcf5f1fc9757c50b33097c72bec649a0c9f738f4;hpb=57511b4efd7402ef58de66ac1fe2c01ed1b1d7b5;p=syp.git
diff --git a/items.php b/items.php
index bcf5f1f..e7a9723 100644
--- a/items.php
+++ b/items.php
@@ -6,6 +6,21 @@ require_once ("./inc/settings.php");
require_once ("./inc/utils.php");
require_once ("./inc/db/mysql.php");
+function headers_callback ($output) {
+ $etag = md5 ($output);
+ if ((isset ($_SERVER ["HTTP_IF_NONE_MATCH"])) &&
+ ($_SERVER ["HTTP_IF_NONE_MATCH"] == $etag)) {
+ header ("HTTP/1.1 304 Not Modified");
+ exit ();
+ }
+
+ header ("Content-type: application/vnd.google-earth.kml+xml");
+ header ("Cache-control: must-revalidate");
+ header (sprintf ("ETag: %s", $etag));
+
+ return $output;
+}
+
function main ($features) {
echo '
@@ -21,7 +36,10 @@ function main ($features) {
$title = htmlspecialchars ($feature->title, ENT_QUOTES);
$description = htmlspecialchars ($feature->description, ENT_QUOTES);
$imgurl = ($feature->imgpath ?
- full_url_from_filename ($feature->imgpath)
+ image_url_from_imgpath ($feature->imgpath)
+ : "");
+ $thumburl = ($feature->imgpath ?
+ thumb_url_from_imgpath ($feature->imgpath)
: "");
$lon = $feature->lon;
$lat = $feature->lat;
@@ -30,7 +48,7 @@ function main ($features) {
$title;
if ($imgurl) {
- $imgurlHTML = sprintf ('', $alt, $imgurl);
+ $imgurlHTML = sprintf ('', $imgurl, $alt, $thumburl);
} else {
$imgurlHTML = "";
}
@@ -65,6 +83,8 @@ try {
} catch (Exception $e) {
exit ("server error");
}
-header ("Content-type: application/vnd.google-earth.kml+xml");
+
+ob_start ("headers_callback");
main ($features);
+ob_end_flush ()
?>