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();
}
}
?>