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
192 lines
6.9 KiB
PHP
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>
|