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