0 && $str == round($str)); } function myUrlEncode($string) { $entities = array( '%21', '%2A', '%27', '%28', '%29', '%3B', '%3A', '%40', '%26', '%3D', '%2B', '%24', '%2C', '%2F', '%3F', '%25', '%23', '%5B', '%5D'); $replacements = array( '!', '*', "'", "(", ")", ";", ":", "@", "&", "=", "+", "$", ",", "/", "?", "%", "#", "[", "]"); //return str_replace($entities, $replacements, urlencode($string)); return str_replace($entities, $replacements, rawurlencode($string)); } function startsWith($haystack, $needle){ $length = strlen($needle); return (substr($haystack, 0, $length) === $needle); } /// Abfrage der ausgewählten Bilder einer Galerie function getPickedImages($aMysqlConn, $aGalId){ $retPickedImages = array(); /// Erstmal bisher ausgewählte Bilder abfragen ... $queryPickedImages = sprintf( "SELECT * FROM cwsvjudo.galImgPicker WHERE galId = '%s';", $aMysqlConn->real_escape_string($aGalId) ); // die($queryPickedImages); $resultsPickedImages = $aMysqlConn->query($queryPickedImages); /// @todo Wie kann ich hier sinnvoll einen Fehler zurückliefern? Nullpointer? if( !$resultsPickedImages ){ $retMessage['error'] .= "Fehler ('".$aMysqlConn->error."') bei Datenbankabfrage '".$queryPickedImages."'
"; die( "Fehler ('".$aMysqlConn->error."') bei Datenbankabfrage '".$queryPickedImages."'
"); } else{ while( $pickedImagesResult = $resultsPickedImages->fetch_assoc() ){ $retPickedImages = array_merge($retPickedImages, explode(',', $pickedImagesResult['pickedImages']) ); } } //echo("retPickedImages: ");print_r($retPickedImages); die(); return array_unique( $retPickedImages ); }/// Ende getPickedImages /// Hilfsfunktion zum Anpassen der htmlDescription function descrName($aName){ $retVal = "Bilder der Judoka des Chemnitzer WSV beim Wettkampf ".$aName; if( strpos($aName, "Sommerabschlussgrillen") >= 0 ) $retVal = "Bilder der Judoka des Chemnitzer WSV beim ".$aName; if( strpos($aName, "Jahrendefeier") >= 0 ) $retVal = "Bilder der Judoka des Chemnitzer WSV bei der ".$aName; return $retVal; }/// Ende descrName /// Wählt aus den Gallerybildern eine Anzahl zum anzeigen aus function displayImagesList($galleryData, $options = array() ){ if( is_positive_integer( $options['imageLimit']) ) return array_rand( $shiaiGalleryData['images'], $options['imageLimit']); return $shiaiGalleryData['images']; // folgend nur die alte Bildauswahl mit Favourites (zum Abschreiben bei // zukünftigen Erweiterungen) ///// Überschreiben der imgList mit den ausgewählten Bildern //$allImgList = $imgList; // Sicherungskopie //if( count($pickedImages) > 24 ) //$pickedImages = array_rand( $pickedImages, 24); //else{ //$restImages = array_diff( $allImgList, $pickedImages ); //foreach( array_rand( $restImages, min(24, count($restImages))-count($pickedImages) ) as $k ) { //$pickedImages[] = $restImages[$k]; //} //} //$imgList = $pickedImages; //// echo("imgList: "); print_r($imgList); ///// @todo ein Sortieren nach dem ursprünglichen Index fehlt //usort($imgList, function($a, $b) use($allImgList){return array_search($a, $allImgList) > array_search($b, $allImgList);} ); //$imgList = array_values( $imgList );// Zum reNummerieren //// echo("imgList: "); print_r($imgList); //if( $showAllMode == "true") $imgList = $allImgList; //$imgInfos = array(); //foreach( $imgList as $imgName ){ //if(startsWith($imgName, "images/")){ //array_push( $imgInfos, @getimagesize(str_replace("images", "thumbs", str_replace(".jpg", ".png", $imgName)))); //} //else{ //array_push( $imgInfos, @getimagesize("thumbs/".str_replace(".jpg", ".png", $imgName))); //} //} } //// // Main //// $basePath = $_SERVER['DOCUMENT_ROOT']; $requestPath = $_SERVER['REQUEST_URI']; if( $_GET['showAll'] == "true" ) $showAllMode = "true"; else $showAllMode = "false"; // eine allgemeine Konfigurationsdatei if( file_exists("config.inc.php") ) include_once("config.inc.php"); // für's erste werden die Verzeichnisse direkt aufgerufen // - @toDo: Das letzte muss kein Verzeichnis sein! // - @toDo: Fehlerbehandlung?? // - für's erste gehen wir davon aus, dass ein korrektes Verzeichnis // übergeben wurde $dirBreadcrumbs = explode( "/", $_SERVER["REQUEST_URI"] ); if( $dirBreadcrumbs[1] != "photoalben" ){ echo("warning: wrong path!\n"); var_dump($_SERVER); var_dump($dirBreadcrumbs); } // Wettkampfname und Wettkampfdatum wurden früher™ mal in der // 'config.inc.php' des Galerieordners if(file_exists($requestPath."config.inc.php")){ include_once($requestPath."config.inc.php"); if($wkName) $shiaiGalleryData['name'] = $wkName; } // So soll es mal werden: Die Daten der Galerie in einer jsonDatei if(file_exists($requestPath."/shiaiGallery.json")) $shiaiGalleryData = json_decode( get_file_contents( $requestPath."shiaiGallery.json"), true ); // Sollte jetzt die Galerie noch leer sein, dann ist anzunehmen, // dass noch keine definiert wurden (weder per json, noch durch // inc.php). Damit nie nichts angezeigt wird, laden wir sie aus dem // Verzeichnis. // @toDo: Übergangslösung! Es sollte möglich sein, eine leere Galerie // zu erzeugen. Es sollte ein allgemeinerer ImageSuchAlgorithmus her! if( empty( $shiaiGalleryData['images'] ) ){ $imgList = glob( $basePath.$requestPath."images/*.jpg" ); // Wie es scheint ist sind die Dateinamen auf dem bplaced in "ISO-8859-1" // Die Dateinamen auf dem Server (so wie sie die glob-Funktion // liefert) müssen nicht in "UTF-8" sein! deshalb eine // Konvertierung, denn das htmlDokument soll dann in "UTF-8" sein. array_walk( $imgList, function (&$value, $key, $basePath) { $value = iconv( "ISO-8859-1", "UTF-8", $value); // @toDo: evtl. hier schon die Dateinamen urlEncoden ? // $value=implode('/', array_map('myUrlEncode', explode('/', $value))); $value = str_replace($basePath, "", $value); }, $basePath ); $shiaiGalleryData['images'] = array_map( function($value){ return array( 'imgSrc' => $value, 'tbnSrc' => str_replace( "/images/", "/thumbs/", str_replace( ".jpg", ".png", $value)) ); }, $imgList ); } //var_dump($shiaiGalleryData); //exit(); if( $showAllMode == "true" ){ $imgList = displayImagesList($shiaiGalleryData['images']); } else $imgList = displayImagesList($shiaiGalleryData['images'], array('imagesLimit'=>24)); array_walk( $imgList, function (&$value, $key, $basePath) { // $value = iconv( "ISO-8859-1", "UTF-8", $value); // @toDo: evtl. hier schon die Dateinamen urlEncoden ? $value['imgSrc']=implode('/', array_map('myUrlEncode', explode('/', $value['imgSrc']))); $value['tbnSrc']=implode('/', array_map('myUrlEncode', explode('/', $value['tbnSrc']))); // $value = str_replace($basePath, "", $value); }, $basePath ); if( empty($shiaiGalleryData['name']) ) $shiaiGalleryData['name'] = "ohne Namen"; ?> <?php echo $wkName?> - Bilderalbum<?php echo( !empty($showAllMode)?($showAllMode == "true" ? " - alle Bilder" : "") : "");?> "> Zur Galerieübersicht

Photoalbum []

[ Bilder]

Auf die jeweiligen Bilder klicken um eine größere Ansicht zu bekommen.


" ); //echo( "" ); //} ?> "); } ?> Eingaben absenden" ); //echo( "" ); //} ?>