diff --git a/homepage/redesign2018/markdownExperiment/src/imgGallery/gallery.template.php b/homepage/redesign2018/markdownExperiment/src/imgGallery/gallery.template.php
new file mode 100644
index 0000000..3b1c554
--- /dev/null
+++ b/homepage/redesign2018/markdownExperiment/src/imgGallery/gallery.template.php
@@ -0,0 +1,419 @@
+ 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";
+
+?>
+
+
+
+ - Bilderalbum
+
+
+ ">
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ Zur Galerieübersicht
+
+
+
+
+
+
+
+ Photoalbum []
+
+
+
+ [ Bilder]
+
+
+
+ Alle Bilder einblenden
+
+
+ Auf die jeweiligen Bilder klicken um eine größere Ansicht zu bekommen.
+
+
+
+
+
+" );
+ //echo( "" );
+ //}
+?>
+ ");
+ }
+?>
+
+Eingaben absenden" );
+ //echo( "" );
+ //}
+?>
+
+
+
+
+
+
+
+
+
+
+
diff --git a/homepage/redesign2018/markdownExperiment/src/imgGallery/imgPicker.php b/homepage/redesign2018/markdownExperiment/src/imgGallery/imgPicker.php
new file mode 100644
index 0000000..34236ed
--- /dev/null
+++ b/homepage/redesign2018/markdownExperiment/src/imgGallery/imgPicker.php
@@ -0,0 +1,191 @@
+real_escape_string($aGalId),
+ $aMysqlConn->real_escape_string($anUserId)
+ );
+
+ $resultsPickedImages = $aMysqlConn->query($queryPickedImages);
+ if( !$resultsPickedImages ){
+ $retMessage['error'] .= "Fehler ('".$aMysqlConn->error."') bei Datenbankabfrage '".$queryPickedImages."'
";
+ }
+ /// @todo Eigentlich sollte hier ja nur ein Ergebnis zurückgeliefert werden, das sollte auch überprüft werden
+ else{
+ while( $pickedImagesResult = $resultsPickedImages->fetch_assoc() ){
+ $galPickedImages = array_merge($galPickedImages, explode(',', $pickedImagesResult['pickedImages']) );
+ }
+ }
+
+ /// @todo Anzahl der ausgewählten Bilder auf 6 beschränken
+ if( empty($galPickedImages) ){
+ if( count($galPickedImages) < 6 ){
+ $queryAddImages = sprintf(
+ "INSERT INTO cwsvjudo.galImgPicker (galId, userId, pickedImages) values ('%s', '%s', '%s');",
+ $aMysqlConn->real_escape_string($aGalId),
+ $aMysqlConn->real_escape_string($anUserId),
+ $aMysqlConn->real_escape_string(join(",", $somePickedImages))
+ );
+
+ $resultAddImages = $aMysqlConn->query($queryAddImages);
+ if( $resultAddImages ){
+ $retMessage['info'] .= "(".join(",", $somePickedImages).") ausgewählt!
";
+ }
+ else{
+ $retMessage['error'] .= "Fehler: Konnte die Query '".$queryAddImages."' nicht ausführen ('".$aMysqlConn->error."')!
";
+ }
+ }
+ else{
+ $retMessage['error'] .= "Fehler: Es dürfen maximal 6 Bilder ausgewählt werden
";
+ }
+ }
+ else{
+ $retMessage['error'] .= "Fehler: Es wurden bereits Bilder ausgewählt (".join(",", $galPickedImages).")!
";
+ $retMessage['error'] .= "Neue Auswahl: (".join(",", $somePickedImages).")
";
+ $retMessage['error'] .= "";
+ }
+return $retMessage;
+}
+
+/// Ändern eines bereits erstellten Eintrages
+function changePickedImages($aMysqlConn, $aGalId, $anUserId, $somePickedImages){
+
+$retMessage = array();
+$galPickedImages = array();
+
+/// Erstmal bisher ausgewählte Bilder abfragen ...
+ $queryPickedImages = sprintf(
+ "SELECT * FROM cwsvjudo.galImgPicker WHERE galId = '%s' AND userId = '%s';",
+ $aMysqlConn->real_escape_string($aGalId),
+ $aMysqlConn->real_escape_string($anUserId)
+ );
+
+ $resultsPickedImages = $aMysqlConn->query($queryPickedImages);
+ if( !$resultsPickedImages ){
+ $retMessage['error'] .= "Fehler ('".$aMysqlConn->error."') bei Datenbankabfrage '".$queryPickedImages."'
";
+ }
+ /// @todo Eigentlich sollte hier ja nur ein Ergebnis zurückgeliefert werden, das sollte auch überprüft werden
+ else{
+ while( $pickedImagesResult = $resultsPickedImages->fetch_assoc() ){
+ $galPickedImages = array_merge($galPickedImages, explode(',', $pickedImagesResult['pickedImages']) );
+ }
+ }
+
+ if( empty($galPickedImages) )
+ $retMessage['error'] .= "Fehler: Kein Eintrag zum Ändern gefunden!";
+ else{
+ if( count($galPickedImages) < 6 ){
+ $queryAddImages = sprintf(
+ "UPDATE cwsvjudo.galImgPicker pickedImages = '%s' WHERE galId = '%s' AND userId = '%s';",
+ $aMysqlConn->real_escape_string(join(",", $somePickedImages)),
+ $aMysqlConn->real_escape_string($aGalId),
+ $aMysqlConn->real_escape_string($anUserId)
+ );
+
+ $resultAddImages = $aMysqlConn->query($queryAddImages);
+ if( $resultAddImages ){
+ $retMessage['info'] .= "Gewählten Bilder auf (".join(",", $somePickedImages).") geändert!
";
+ }
+ else{
+ $retMessage['error'] .= "Fehler: Konnte die Query '".$queryAddImages."' nicht ausführen ('".$aMysqlConn->error."')!
";
+ }
+ }
+ else{
+ $retMessage['error'] .= "Fehler: Es dürfen maximal 6 Bilder ausgewählt werden
";
+ }
+ }
+return $retMessage;
+}
+
+
+ $loginStatus = "false";
+ $galleryId = "0";
+ $galPickedImages = array();
+
+// Falls der serverseitige Logincookie nicht gesetzt ist ...
+ session_start();
+ session_regenerate_id();
+ if( empty($_SESSION['login']) ){
+ $loginStatus = "false";
+ $messages['info'] .= "Info: Der Bilderauswahlmodus ist nur möglich, wenn man angemeldet ist!
";
+ }
+ else{
+ $loginStatus = "true";
+ /// @todo Testen, ob eine intZahl vorliegt
+ /// @todo Testen, ob wir in der richtigen Galerie sind
+ if( !empty($_POST['galId'] ) ) $galleryId = $_POST['galId'];
+
+ $messages['info'] .= "Info: Der Bilderauswahlmodus für Galerie ".$galleryId." ist aktiv!
";
+
+// Datenbankverbindung herstellen
+/// @todo Ist die Db-Verbindung dann global?
+ $mysqlConn = @new mysqli($db_server, $db_user, $db_password, $db_name);
+
+ if($mysqlConn->connect_error){
+ $message['error'] .= "Fehler: Datenbankverbindung fehlgeschlagen: " . $mysqlConn->connect_error . "
";
+ }
+ else{/// bereits gewählte Bilder abfragen
+ $queryPickedImages = sprintf(
+ "SELECT * FROM galImgPicker WHERE galId = '%s' AND userId = '%s';",
+ $mysqlConn->real_escape_string($galleryId),
+ $mysqlConn->real_escape_string($_SESSION['user']['userId'])
+
+ );
+
+ $pickedImagesResults = $mysqlConn->query($queryPickedImages);
+ if( !$pickedImagesResults ){
+ $messages['error'] .= "Fehler bei Datenbankabfrage '".$queryPickedImages."'
";
+ }
+ /// @todo Eigentlich sollte hier ja nur ein Ergebnis zurückgeliefert werden
+ else{
+ while( $pickedImagesResult = $pickedImagesResults->fetch_assoc() ){
+ //print_r($pickedImagesResult);
+ //print_r($pickedImagesResult['pickedImages']);
+ $galPickedImages = array_merge($galPickedImages, explode(',', $pickedImagesResult['pickedImages']) );
+ }
+ }
+
+ $addRetMessages = addPickedImages($mysqlConn, $galleryId, $_SESSION['user']['userId'], $_POST['pickedImages']);
+
+ $mysqlConn->close();
+ }
+ }
+
+
+
+?>
+
+
+
+
+
+
+
+
+
+
+
+
+
diff --git a/homepage/redesign2018/markdownExperiment/src/imgGallery/index.php.tmpl b/homepage/redesign2018/markdownExperiment/src/imgGallery/index.php.tmpl
new file mode 100644
index 0000000..c5e5452
--- /dev/null
+++ b/homepage/redesign2018/markdownExperiment/src/imgGallery/index.php.tmpl
@@ -0,0 +1,364 @@
+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
+
+ $loginStatus = "false";
+ $chooseMode = "false";
+ $showAllMode = "false";
+ $messages = array();
+ $galleryId = "0";
+ $pickedImages = array();
+
+ // Wie es scheint ist sind die Dateinamen auf bplaced in "ISO-8859-1"
+ array_walk(
+ $imgList,
+ function (&$value, $key) {
+ $value = iconv( "UTF-8", "ISO-8859-1",$value);
+ //$value = urlencode($value);
+ //$value = urlencode($value);
+ //$value = myUrlEncode($value);
+ //$value=implode('/', array_map('rawurlencode', explode('/', $value)));
+ $value=implode('/', array_map('myUrlEncode', explode('/', $value)));
+ });
+
+
+// echo("imgList: "); print_r($imgList);
+// foreach($imgList as $img){
+// echo(" ".$img." startsWith images/ :".startsWith($img, "images/")."\n");
+// }
+
+/// Übergebene galleryId abfragen
+ if( !empty($_GET['galId'] ) ) $galleryId = $_GET['galId'];
+ /// @todo Woher erhalte ich die galleryID, wenn sie nicht übergeben wird?
+
+/*
+/// Nachschauen, ob alle Bilder gezeigt werden sollen
+ if( $_GET['showAll'] == "true" )
+ $showAllMode = "true";
+// Testen, ob wir im Bilderauswahlmodus sind...
+ if($_GET['chooseMode'] == "true"){
+ $showAllMode = "true"; // Im Bildauswahlmodus sollten auch alle Bilder angezeigt werden
+ $chooseMode = "true";
+ // Falls ja, dann teste, ob man angemeldet ist
+ /// @todo brauche ich das, wenn ich nur testen will, ob bereits angemeldet ist? -> anscheinend ja!
+ session_start();
+ session_regenerate_id();
+ // Falls der serverseitige Logincookie nicht gesetzt ist
+ if( empty($_SESSION['login']) ){
+ $loginStatus = "false";
+ $messages['info'] .= "Info: Der Bilderauswahlmodus ist nur möglich, wenn man angemeldet ist!
";
+ }
+ else{
+ $loginStatus = "true";
+ /// @todo Testen, ob eine intZahl vorliegt
+ /// @todo Testen, ob wir in der richtigen Galerie sind
+ $messages['info'] .= "Info: Der Bilderauswahlmodus für Galerie ".$galleryId." ist aktiv!
";
+ }
+ }
+
+ $mysqlConn = @new mysqli($db_server, $db_user, $db_password, $db_name);
+
+ if($mysqlConn->connect_error){
+ $message['error'] .= "Fehler: Datenbankverbindung fehlgeschlagen: " . $mysqlConn->connect_error . "
";
+ }
+ else{
+ $pickedImages = getPickedImages( $mysqlConn, $galleryId );
+ $mysqlConn->close();
+ }
+*/
+/// Überschreiben der imgList mit den ausgewählten Bildern
+ $allImgList = $imgList; // Sicherungskopie
+ //echo("imgList:");print_r($imgList);
+// echo("pickedImages: "); print_r($pickedImages);
+
+ if( count($pickedImages) > 24 )
+ $pickedImages = array_rand( $pickedImages, 24);
+ else{
+ $restImages = array_diff( $allImgList, $pickedImages );
+ //echo("restImages: "); print_r($restImages);
+ //echo("count(restImages): ".count($restImages));
+ //echo("count(24-count($pickedImages)): ".(24-count($pickedImages)));
+ foreach( array_rand( $restImages, min(24, count($restImages))-count($pickedImages) ) as $k ) {
+ $pickedImages[] = $restImages[$k];
+ }
+// echo("pickedImages: "); print_r($pickedImages);
+ }
+ $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)));
+ }
+ }
+
+?>
+
+
+
+ - Bilderalbum
+
+
+
+ ">
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ Zur Galerieübersicht
+
+
+
+
+
+
+
+ Photoalbum []
+
+
+
+ [ Bilder]
+
+
+ >Alle Bilder einblenden
+
+
+ Auf die jeweiligen Bilder klicken um eine größere Ansicht zu bekommen.
+
+
+
+
+
+" );
+ echo( "" );
+ }
+?>
+ ");
+ }
+?>
+
+Eingaben absenden" );
+ echo( "" );
+ }
+?>
+
+
+
+
+
+
+
+
+
+
+
diff --git a/homepage/redesign2018/markdownExperiment/src/imgGallery/indexDev.php.tmpl b/homepage/redesign2018/markdownExperiment/src/imgGallery/indexDev.php.tmpl
new file mode 100644
index 0000000..12d70a0
--- /dev/null
+++ b/homepage/redesign2018/markdownExperiment/src/imgGallery/indexDev.php.tmpl
@@ -0,0 +1,349 @@
+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
+
+ $loginStatus = "false";
+ $chooseMode = "false";
+ $showAllMode = "false";
+ $messages = array();
+ $galleryId = "0";
+ $pickedImages = array();
+
+// echo("imgList: "); print_r($imgList);
+// foreach($imgList as $img){
+// echo(" ".$img." startsWith images/ :".startsWith($img, "images/")."\n");
+// }
+
+/// Übergebene galleryId abfragen
+ if( !empty($_GET['galId'] ) ) $galleryId = $_GET['galId'];
+ /// @todo Woher erhalte ich die galleryID, wenn sie nicht übergeben wird?
+
+/// Nachschauen, ob alle Bilder gezeigt werden sollen
+ if( $_GET['showAll'] == "true" )
+ $showAllMode = "true";
+
+// Testen, ob wir im Bilderauswahlmodus sind...
+ if($_GET['chooseMode'] == "true"){
+ $showAllMode = "true"; // Im Bildauswahlmodus sollten auch alle Bilder angezeigt werden
+ $chooseMode = "true";
+ // Falls ja, dann teste, ob man angemeldet ist
+ /// @todo brauche ich das, wenn ich nur testen will, ob bereits angemeldet ist? -> anscheinend ja!
+ session_start();
+ session_regenerate_id();
+ // Falls der serverseitige Logincookie nicht gesetzt ist
+ if( empty($_SESSION['login']) ){
+ $loginStatus = "false";
+ $messages['info'] .= "Info: Der Bilderauswahlmodus ist nur möglich, wenn man angemeldet ist!
";
+ }
+ else{
+ $loginStatus = "true";
+ /// @todo Testen, ob eine intZahl vorliegt
+ /// @todo Testen, ob wir in der richtigen Galerie sind
+ $messages['info'] .= "Info: Der Bilderauswahlmodus für Galerie ".$galleryId." ist aktiv!
";
+ }
+ }
+
+ $mysqlConn = @new mysqli($db_server, $db_user, $db_password, $db_name);
+
+ if($mysqlConn->connect_error){
+ $message['error'] .= "Fehler: Datenbankverbindung fehlgeschlagen: " . $mysqlConn->connect_error . "
";
+ }
+ else{
+ $pickedImages = getPickedImages( $mysqlConn, $galleryId );
+ $mysqlConn->close();
+ }
+
+/// Überschreiben der imgList mit den ausgewählten Bildern
+ $allImgList = $imgList; // Sicherungskopie
+ //echo("imgList:");print_r($imgList);
+// echo("pickedImages: "); print_r($pickedImages);
+
+ if( count($pickedImages) > 24 )
+ $pickedImages = array_rand( $pickedImages, 24);
+ else{
+ $restImages = array_diff( $allImgList, $pickedImages );
+ //echo("restImages: "); print_r($restImages);
+ //echo("count(restImages): ".count($restImages));
+ //echo("count(24-count($pickedImages)): ".(24-count($pickedImages)));
+ foreach( array_rand( $restImages, min(24, count($restImages))-count($pickedImages) ) as $k ) {
+ $pickedImages[] = $restImages[$k];
+ }
+// echo("pickedImages: "); print_r($pickedImages);
+ }
+ $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)));
+ }
+ }
+
+?>
+
+
+
+
+ - Bilderalbum
+
+
+ ">
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ Zur Galerieübersicht";
+ else echo "Zur Galerieübersicht";
+ ?>
+
+
+
+
+
+
+
+ Photoalbum []
+
+
+
+ [ Bilder]
+
+
+ >Alle Bilder einblenden
+
+
+ Auf die jeweiligen Bilder klicken um eine größere Ansicht zu bekommen.
+
+
+
+
+
+
+
+" );
+ echo( "" );
+ }
+?>
+ ");
+ }
+?>
+
+Eingaben absenden" );
+ echo( "" );
+ }
+?>
+
+
+
+
+
+
+
+
+
+
+
+
+ | Besucher online: {V_VISITORS_CURRENTLY_ONLINE} |
+ Besucher bisher: {V_PAGE_VIEWS_THIS_PAGE} |
+
+
+TEMPLATE;
+$chCounter_page_title = "Photoalbum ".$wkName;
+$chCounter_visible=1; include( $_SERVER['DOCUMENT_ROOT'].'/expCounter/counter.php');?>
+
+
+
diff --git a/homepage/redesign2018/markdownExperiment/src/imgGallery/view.php.tmpl b/homepage/redesign2018/markdownExperiment/src/imgGallery/view.php.tmpl
new file mode 100644
index 0000000..103c076
--- /dev/null
+++ b/homepage/redesign2018/markdownExperiment/src/imgGallery/view.php.tmpl
@@ -0,0 +1,95 @@
+ 0, "Bilder leider nicht verfügbar!");
+ $currIndex = intval( $_GET["index"] );
+ if( $currIndex < 0 ) $currIndex = 0;
+ if( $currIndex >= $imgSize) $currIndex = $imgSize-1;
+?>
+
+
+
+ Einzelansicht [/]
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+