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:
parent
3b970fb135
commit
0f8dda1b1b
19 changed files with 435 additions and 428 deletions
File diff suppressed because one or more lines are too long
|
@ -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;
|
||||
}
|
||||
});
|
||||
});
|
||||
|
|
Reference in a new issue