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'] .= "
"; $retMessage['error'] .= " "; foreach($somePickedImages as $img){ $retMessage['error'] .= " "; } $retMessage['error'] .= " "; $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(); } } ?>