Übernahme des redesign2018-Zweiges
This commit is contained in:
@@ -0,0 +1,191 @@
|
||||
<?php
|
||||
// Daten der Datenbank laden
|
||||
require_once($_SERVER['DOCUMENT_ROOT']."/bonus/db.inc");
|
||||
|
||||
/// Hinzufügen eines Eintrages
|
||||
function addPickedImages($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."'<br />";
|
||||
}
|
||||
/// @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!<br />";
|
||||
}
|
||||
else{
|
||||
$retMessage['error'] .= "Fehler: Konnte die Query '".$queryAddImages."' nicht ausführen ('".$aMysqlConn->error."')!<br />";
|
||||
}
|
||||
}
|
||||
else{
|
||||
$retMessage['error'] .= "Fehler: Es dürfen maximal 6 Bilder ausgewählt werden<br />";
|
||||
}
|
||||
}
|
||||
else{
|
||||
$retMessage['error'] .= "Fehler: Es wurden bereits Bilder ausgewählt (".join(",", $galPickedImages).")!<br />";
|
||||
$retMessage['error'] .= "Neue Auswahl: (".join(",", $somePickedImages).")<br />";
|
||||
$retMessage['error'] .= "<form action=\"http://cwsvjudo.bplaced.net/ressourcen/phpLib/imgGallery/imgPicker.php\" method=\"post\">";
|
||||
$retMessage['error'] .= " <input type=\"hidden\" name=\"galId\" value=\"".$galleryId."\" />";
|
||||
foreach($somePickedImages as $img){
|
||||
$retMessage['error'] .= " <input type=\"hidden\" name=\"pickedImages[]\" value=\"".$img."\" />";
|
||||
}
|
||||
$retMessage['error'] .= " <button type=\"submit\">Bisherige Auswahl überschreiben!</button>";
|
||||
$retMessage['error'] .= "</form>";
|
||||
}
|
||||
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."'<br />";
|
||||
}
|
||||
/// @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!<br />";
|
||||
}
|
||||
else{
|
||||
$retMessage['error'] .= "Fehler: Konnte die Query '".$queryAddImages."' nicht ausführen ('".$aMysqlConn->error."')!<br />";
|
||||
}
|
||||
}
|
||||
else{
|
||||
$retMessage['error'] .= "Fehler: Es dürfen maximal 6 Bilder ausgewählt werden<br />";
|
||||
}
|
||||
}
|
||||
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!<br />";
|
||||
}
|
||||
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!<br />";
|
||||
|
||||
// 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 . "<br />";
|
||||
}
|
||||
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."'<br />";
|
||||
}
|
||||
/// @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();
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
|
||||
?>
|
||||
|
||||
<html>
|
||||
<body>
|
||||
<div style="border: 1px solid black">
|
||||
<?php
|
||||
if( !empty( $messages['error'] ) ) echo( $messages['error'] );
|
||||
if( !empty( $messages['info'] ) ) echo( $messages['info'] );
|
||||
if( !empty( $addRetMessages['error'] ) ) echo( $addRetMessages['error'] );
|
||||
if( !empty( $addRetMessages['info'] ) ) echo( $addRetMessages['info'] );
|
||||
if( !empty( $addRetMessages['warning'] ) ) echo( $addRetMessages['warning'] );
|
||||
?>
|
||||
</div>
|
||||
<?php //print_r($_POST);?>
|
||||
<?php //print_r($messages);?>
|
||||
<?php //print_r($addRetMessages);?>
|
||||
<?php //print_r($galPickedImages);?>
|
||||
<?php
|
||||
|
||||
|
||||
?>
|
||||
</body>
|
||||
</html>
|
||||
Reference in New Issue
Block a user