Archived
1
0
Fork 0

Erstes großes Refactoring

* alle gemeinsamen Funktionen in includes/galleryfunctions.php
   zusammengeführt (fixes #21)
 * AJAX-Requests werden in ajaxrequest.php behandelt und liefern
   zusätzlich zum Titel auch die URLs des Vorschau- und des Vollbildes
   (fixes #22), die übergebenen Request-Parameter werden syntaktisch
   geprüft (fixes #23)
 * Die Vorschau- und Thumbnail-Bilder werden in der Funktion
   getScaledImage() in includes/galleryfunctions.php generiert und im
   Filesystem abgelegt (fixes #10)
 * Bildbeschreibungen sind jetzt in einem .ini-Format in
   bilder/example/galleryinfo.ini in der Sektion "images" definiert
   (addresses #20)
 * Rendern der Menüpunkte in index.php und
   includes/galleryfunctions.php vorbereitet (addresses #16)
 * Die AJAX-Aufrufe und Pfadberechnungen in scripts/ourhandlers.js
   wurden korrigiert und an die neue AJAX-Handler-URL angepasst
   (addresses #22, fixes #19)
 * Beispielbilder in Unterverzeichnis ''bilder/example'' verschoben
   und die Möglichkeit vorgesehen in ''bilder/galleryinfo.ini'' eine
   Standardgallerie anzugeben (fixes #24, addresses #20, #16)
This commit is contained in:
Jan Dittberner 2008-08-27 22:04:20 +00:00
parent 3b970fb135
commit 0f8dda1b1b
19 changed files with 435 additions and 428 deletions

File diff suppressed because one or more lines are too long

View file

@ -24,48 +24,49 @@
*
* Version: $Id$
*/
var imgprefix = "";
var imgfull = "";
var imgthumb = "";
var imgprefix = "bilder";
function getPathParts(imagesrc) {
var filename = imagesrc.substring(imagesrc.lastIndexOf("/") + 1);
var pathstart =imagesrc.substring(0, imagesrc.lastIndexOf("/") + 1);
if (pathstart.indexOf(imgfull) ==
(pathstart.length - imgfull.length)) {
pathstart = pathstart.substring(0, pathstart.length - imgfull.length);
} else if (pathstart.indexOf(imgthumb) ==
(pathstart.length - imgthumb.length)) {
pathstart = pathstart.substring(0, pathstart.length - imgthumb.length);
var pathstart = imagesrc.substring(0, imagesrc.lastIndexOf("/"));
// run through directories until imgprefix is found
var dirstack = new Array();
var current = pathstart.substring(pathstart.lastIndexOf("/") + 1);
while (current != imgprefix) {
dirstack.push(current);
pathstart = pathstart.substring(0, pathstart.lastIndexOf("/"));
current = pathstart.substring(pathstart.lastIndexOf("/") + 1);
}
var dirname = pathstart.split(imgprefix)[1];
var basename = dirname + filename
var retval = {
var galleryname = dirstack.pop();
var dirname = null;
if (dirstack.length > 0) {
dirname = dirstack.pop();
}
return {
'filename' : filename,
'pathstart' : pathstart,
'dirname' : dirname,
'basename' : basename
'gallery' : galleryname,
'pathstart' : pathstart
};
return retval;
}
function updateContentImage(pathParts) {
var content_main = $("#content_main img").attr("src",
pathParts.pathstart + pathParts.filename);
$("#content_main a").attr("href", pathParts.pathstart +
imgfull + pathParts.filename);
$.getJSON("fetchdescription.php",
{"imagename" : pathParts.basename},
function(data, textStatus) {
$("#imagedescription").text(data["data"]);
});
$.getJSON("ajaxrequest.php", {
"imagename" : pathParts.filename,
"galleryname" : pathParts.gallery
}, function(data, textStatus) {
$("#imagedescription").text(data["data"]);
$("#content_main img").attr("alt", data["data"]);
$("#content_main img").attr("src", data["preview"]);
$("#content_main a").attr("href", data["full"]);
});
}
$(document).ready(function() {
$("#arrleft").mouseover(function() {
$("#scrollable").animate({
left: "0px"
}, 5000);
}, 500);
}).mouseout(function() {
$("#scrollable").stop();
});
@ -74,35 +75,47 @@ $(document).ready(function() {
parseInt($("#scrollable").css("width"));
$("#scrollable").animate({
left: offset + "px"
}, 18000);
}, 500);
}).mouseout(function() {
$("#scrollable").stop();
});
$("#backbtn").click(function() {
var parts = getPathParts($("img#contentimg").attr("src"));
var pred = null;
$("div.thumbnail img").each(function() {
if (pred == null) {
pred = getPathParts(this.src);
} else {
var thumbparts = getPathParts(this.src);
if (thumbparts.basename == parts.basename) {
updateContentImage(pred);
$("div.thumbnail img").each(function(i) {
var curparts = getPathParts($("img#contentimg").attr("src"));
var myparts = getPathParts($(this).attr("src"));
if ((curparts.gallery == myparts.gallery) &&
(curparts.filename == myparts.filename)) {
var matched = $("div.thumbnail img");
var prevparts;
if (i > 0) {
prevparts = getPathParts(
$(matched.get(i-1)).attr("src"));
} else {
prevparts = getPathParts(
$(matched.get(matched.length-1)).attr("src"));
}
pred = thumbparts;
updateContentImage(prevparts);
return false;
}
});
});
$("#fwdbtn").click(function() {
var parts = getPathParts($("img#contentimg").attr("src"));
var pred = null;
$("div.thumbnail img").each(function() {
var thumbparts = getPathParts(this.src);
if (thumbparts.basename == parts.basename) {
pred = thumbparts;
} else if (pred != null) {
updateContentImage(thumbparts);
pred = null;
$("div.thumbnail img").each(function(i) {
var curparts = getPathParts($("img#contentimg").attr("src"));
var myparts = getPathParts($(this).attr("src"));
if ((curparts.gallery == myparts.gallery) &&
(curparts.filename == myparts.filename)) {
var matched = $("div.thumbnail img");
var nextparts;
if (i < matched.length-1) {
nextparts = getPathParts(
$(matched.get(i+1)).attr("src"));
} else {
nextparts = getPathParts(
$(matched.get(0)).attr("src"));
}
updateContentImage(nextparts);
return false;
}
});
});