Files
cwsvJudo/homepage/redesign2018/markdownExperiment/phpLib/imgGallery/imgPicker.php
marko 1f811930f3 Bildergalerie als Backup von der bplaced-Seite
neue Datei:     phpLib/imgGallery/imgPicker.php
	neue Datei:     phpLib/imgGallery/index.php.tmpl
	neue Datei:     phpLib/imgGallery/indexDev.php.tmpl
	neue Datei:     phpLib/imgGallery/view.php.tmpl
2018-07-01 15:01:09 +02:00

192 lines
6.9 KiB
PHP

<?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>