<?php
session_start();
require_once("../inc/config.inc.php");
require_once("../inc/functions.inc.php");
require_once("../inc/system.inc.php");
require_once("../inc/header2.inc.php");
if(isset($_POST['speichern'])){
$error = false;
$userid = $_POST['userid'];
$sicherheitscode = $_POST['sicherheitscode'];
$auftragsnummer = $_POST['auftragsnummer'];
$auftragsart = $_POST['auftragsart'];
$auftragsvergabe = $_POST['auftragsvergabe'];
$kurzbeschreibung = $_POST['kurzbeschreibung'];
$beschreibung = $_POST['beschreibung'];
$vorname = $_POST['vorname'];
$nachname = $_POST['nachname'];
$statement = $pdo->prepare("INSERT INTO auftraege (userid, sicherheitscode, auftragsnummer, auftragsart, auftragsvergabe, kurzbeschreibung, beschreibung, vorname, nachname)
VALUES (:userid, :sicherheitscode, :auftragsnummer, :auftragsart, :auftragsvergabe, :kurzbeschreibung, :beschreibung, :vorname, :nachname) ");
$result = $statement->execute(array('userid' => $userid, 'sicherheitscode' => $sicherheitscode, 'auftragsnummer' => $auftragsnummer, 'auftragsart' => $auftragsart, 'auftragsvergabe' => $auftragsvergabe, 'kurzbeschreibung' => $kurzbeschreibung, 'beschreibung' => $beschreibung, 'vorname' => $vorname, 'nachname' => $nachname));
}
if(isset($_GET['bild_speichern'])) {
$error = false;
$bild = $_POST['bild'][$i];
$auftragsnummer = $_POST['auftragsnummer'][$i];
for ($i = 0; $i < count($_POST['auftragsnummer']); $i++) {
$bild = $_POST['bild'][$i];
$statement = $pdo->prepare("UPDATE auftraege SET bild = :bild WHERE auftragsnummer = :auftragsnummer)");
$statement->execute(array('bild' => $bild, 'auftragsnummer' => $auftragsnummer ));
}
}
$userid = $_SESSION['userid'];
$sql = "SELECT * FROM auftraege WHERE userid = $userid ORDER BY id DESC LIMIT 0,1";
$user = $pdo->query($sql)->fetch();
// Funktionen definieren
// -----------------------------------------------
function checkUpload($myFILE, $file_extensions, $mime_types, $maxsize)
{
$errors = array();
// Uploadfehler prüfen
switch ($myFILE['error']){
case 1: $errors[] = "<span class='red'>Bitte wählen Sie eine Datei aus, die <b>kleiner als ".ini_get('upload_max_filesize')."</b> ist.</span>";
break;
case 2: $errors[] = "<span class='red'>Bitte wählen Sie eine Datei aus, die <b>kleiner als ".$maxsize/(2048*2048)." MB</b> ist.</span>";
break;
case 3: $errors[] = "<span class='red'>Die Datei wurde nur teilweise hochgeladen.</span>";
break;
case 4: $errors[] = "<span class='red'>Es wurde keine Datei ausgewählt.</span>";
return $errors;
break;
default : break;
}
// MIME-Type prüfen
if(count($mime_types)!=0 AND !in_array(strtolower($myFILE['type']), $mime_types)){
$fehler = "Falscher MIME-Type (".$myFILE['type'].").<br />".
"Erlaubte Typen sind:<br />\n";
foreach($mime_types as $type)
$fehler .= " - ".$type."\n<br />";
$errors[] = $fehler;
}
// Dateiendung prüfen
if($myFILE['name']=='' OR (count($file_extensions)!=0 AND !in_array(strtolower(getExtension($myFILE['name'])), $file_extensions))){
$fehler = "Falsche Dateiendung (".getExtension($myFILE['name']).").<br />".
"Erlaubte Endungen sind:<br />\n";
foreach($file_extensions as $extension)
$fehler .= " - ".$extension."\n<br />";
$errors[] = $fehler;
}
// Dateigröße prüfen
if($myFILE['size'] > $maxsize){
$errors[] = "Datei zu groß (".sprintf('%.2f',$myFILE['size']/(2048*2048))." MB).<br />".
"Erlaubte Größe: ".$maxsize/(2048*2048)." MB\n";
}
return $errors;
}
// gibt die Dateiendung einer Datei zurück
function getExtension ($filename)
{
if(strrpos($filename, '.'))
return substr($filename, strrpos($filename, '.')+1);
return false;
}
// erzeugt einen Zufallswert
function getRandomValue()
{
return substr(md5(rand(1, 9999)),0,8).substr(time(),-6);
}
// erzeugt einen neuen Dateinamen aus Zufallswert und
// Dateiendung
function renameFile ($filename)
{
return getRandomValue().".".getExtension($filename);
}
// Werte zur Dateiprüfung initialisieren
// -----------------------------------------------
$maxsize = 5*2048*2048;
$file_extensions = array('jpg', 'jpeg', 'jpe', 'gif', 'png', 'pdf');
$mime_types = array('image/pjpeg', 'image/jpeg', 'image/gif', 'image/png', 'application/pdf', 'image/x-png');
// Upload-Ordner definieren
// -----------------------------------------------
$ordner = "benutzer_dateien/";
$anzahl_dateifelder = 5;
?>
<!DOCTYPE html>
<html>
<head>
<title>Möbel-Jaeger Login</title>
<link rel="stylesheet" href="../css/style.css">
</head>
<body>
<div class="container abstand_footer" style="margin-top:-50px;">
<div class="col-lg-6">
<h1>Bilder hochladen</h1>
</div>
<div class="col-lg-6">
<label for="exampleInputAuftragsgeber">Auftragsgeber</label>
<br />
<span class="auftragsgeber"><?php echo $user['vorname']." ".$user['nachname'] ?></span>
</div>
<div class="col-lg-12">
<hr />
<?php
// Falls der Benutzer auf "Upload" gedrückt hat,
// werden die Dateien überprüft
if(isset($_POST['submit']) AND $_POST['submit']=='Upload'){
// jede Datei einzeln testen
for($i=0; $i<$anzahl_dateifelder; $i++){
$myFILE['name'] = $_FILES['Datei']['name'][$i];
$myFILE['type'] = $_FILES['Datei']['type'][$i];
$myFILE['tmp_name'] = $_FILES['Datei']['tmp_name'][$i];
$myFILE['error'] = $_FILES['Datei']['error'][$i];
$myFILE['size'] = $_FILES['Datei']['size'][$i];
// Fehlerarray erzeugen
$errors = array();
$errors = checkUpload($myFILE, $file_extensions, $mime_types, $maxsize);
if(count($errors)){
echo "<p>\n".
"Die ".($i+1).". Datei (".$myFILE['name'].") konnte nicht gespeichert werden.<br />\n";
foreach($errors as $error)
echo $error."<br />\n";
echo "</p>\n";
}
else {
do {
$neuer_name = renameFile($myFILE['name']);
} while(file_exists($ordner.$neuer_name));
if(@move_uploaded_file($myFILE['tmp_name'], $ordner.$neuer_name)){
echo "<p>\n".
"<span class='green'>Die ".($i+1).". Datei (".$myFILE['name'].") wurde erfolgreich gespeichert.</span><br />\n".
"</p>\n";
echo " <div class=\"col-lg-4\"></div>\n";
echo " <hr />";
echo " <form ".
"action=\"#?bild_speichern\" ".
"method=\"post\">\n";
echo " <input type=\"text\" name=\"bild[]\" value=\"".$neuer_name."\" />\n";
echo " <input type=\"text\" name=\"auftragsnummer[]\" value=\"".$user['auftragsnummer']."\" />\n";
}
else{
echo "<p>\n".
"Die Die ".($i+1).". Datei (".$myFILE['name'].") konnte nicht gespeichert werden.<br />\n".
"Es ist ein Upload-Fehler aufgetreten.<br />\n".
"Bitte versuchen Sie es später erneut.<br />\n".
"<br />\n".
"Sollte der Upload noch immer nicht funktionieren, informieren Sie uns bitte per Email.<br />\n".
"<a href=\"".$_SERVER['PHP_SELF']."\">Zurück zum Upload-Formular</a>\n".
"</p>\n";
}
}
}
echo " <hr />";
echo " <input type=\"submit\" name=\"bild_speichern\" class=\"btn btn-success\" value=\"Bilder speichern\" />\n";
echo " </form>\n";
echo "<p>\n".
"<a href=\"".$_SERVER['PHP_SELF']."\">Zurück zum Upload-Formular</a>\n".
"</p>\n";
}
// Beim ersten Aufruf des Skriptes wird das
// Upload-Formular angezeigt
else{
echo "<h3>Erlaubte Dateiendungen sind:</h3>\n";
foreach($file_extensions as $extension)
echo " <span class='red'> .".$extension."</span>";
echo "<h3>Erlaubte Dateigröße:</h3>\n";
echo " <span class='red'> maximal ".($maxsize/(1024*1024))." MB\n</span><hr />";
echo " <form ".
"action=\"".$_SERVER['PHP_SELF']."\" ".
"method=\"post\" ".
"enctype=\"multipart/form-data\">\n";
echo " <input type=\"hidden\" name=\"MAX_FILE_SIZE\" value=\"".$maxsize."\" />\n";
for($i=0; $i<$anzahl_dateifelder; $i++){
echo " <label for=\"Datei\">".($i+1).". Datei auswählen</label>\n";
echo " <input type=\"file\" name=\"Datei[".$i."]\" id=\"Datei[".$i."]\" />\n";
echo " <br />\n";
}
echo " <input type=\"submit\" name=\"submit\" class=\"btn btn-info\" value=\"Upload\" />\n";
echo " </form>\n";
}
?>
</div>
</div>
<?php
require_once("../inc/footer.inc.php");
?>
</body>
</html>