diff --git a/homepage/redesign2018/markdownExperiment/phpLib/imgGallery/imgPicker.php b/homepage/redesign2018/markdownExperiment/phpLib/imgGallery/imgPicker.php
new file mode 100644
index 0000000..34236ed
--- /dev/null
+++ b/homepage/redesign2018/markdownExperiment/phpLib/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/phpLib/imgGallery/index.php.tmpl b/homepage/redesign2018/markdownExperiment/phpLib/imgGallery/index.php.tmpl
new file mode 100644
index 0000000..f09b982
--- /dev/null
+++ b/homepage/redesign2018/markdownExperiment/phpLib/imgGallery/index.php.tmpl
@@ -0,0 +1,365 @@
+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
+ 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/phpLib/imgGallery/indexDev.php.tmpl b/homepage/redesign2018/markdownExperiment/phpLib/imgGallery/indexDev.php.tmpl
new file mode 100644
index 0000000..12d70a0
--- /dev/null
+++ b/homepage/redesign2018/markdownExperiment/phpLib/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/phpLib/imgGallery/view.php.tmpl b/homepage/redesign2018/markdownExperiment/phpLib/imgGallery/view.php.tmpl
new file mode 100644
index 0000000..103c076
--- /dev/null
+++ b/homepage/redesign2018/markdownExperiment/phpLib/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 [/]
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+