Fix #4: Logo-Upload gibt bei Fehler korrekte Fehlermeldung statt falscher Erfolgsmeldung
This commit is contained in:
parent
e4484d655d
commit
2516623143
4 changed files with 22 additions and 4 deletions
|
|
@ -36,3 +36,9 @@ RUN mkdir -p /var/www/html/public/static/uploads /var/www/html/data \
|
|||
&& chmod -R 755 /var/www/html/data
|
||||
|
||||
EXPOSE 80
|
||||
|
||||
# Ensure upload directory has correct ownership at runtime (covers named volume mounts)
|
||||
COPY docker-entrypoint.sh /usr/local/bin/docker-entrypoint.sh
|
||||
RUN chmod +x /usr/local/bin/docker-entrypoint.sh
|
||||
ENTRYPOINT ["docker-entrypoint.sh"]
|
||||
CMD ["apache2-foreground"]
|
||||
|
|
|
|||
4
docker-entrypoint.sh
Normal file
4
docker-entrypoint.sh
Normal file
|
|
@ -0,0 +1,4 @@
|
|||
#!/bin/sh
|
||||
# Fix ownership of volume-mounted upload directory at container start
|
||||
chown -R www-data:www-data /var/www/html/public/static/uploads 2>/dev/null || true
|
||||
exec "$@"
|
||||
|
|
@ -73,9 +73,17 @@ class SettingsController
|
|||
$relPath = 'static/uploads/logo/logo.' . $ext;
|
||||
$absDir = dirname(__DIR__, 2) . '/public/static/uploads/logo';
|
||||
|
||||
if (!is_dir($absDir)) mkdir($absDir, 0755, true);
|
||||
if (!is_dir($absDir) && !mkdir($absDir, 0755, true)) {
|
||||
View::redirect('/settings', 'Upload-Verzeichnis konnte nicht erstellt werden.', 'error');
|
||||
return;
|
||||
}
|
||||
|
||||
$dest = dirname(__DIR__, 2) . '/public/' . $relPath;
|
||||
if (!move_uploaded_file($file['tmp_name'], $dest)) {
|
||||
View::redirect('/settings', 'Datei konnte nicht gespeichert werden. Bitte Schreibrechte prüfen.', 'error');
|
||||
return;
|
||||
}
|
||||
|
||||
move_uploaded_file($file['tmp_name'], dirname(__DIR__, 2) . '/public/' . $relPath);
|
||||
Setting::setLogo($relPath);
|
||||
|
||||
View::redirect('/settings', 'Logo hochgeladen.');
|
||||
|
|
|
|||
|
|
@ -159,8 +159,8 @@
|
|||
<?php endif; ?>
|
||||
<form method="post" action="/settings/logo" enctype="multipart/form-data">
|
||||
<div class="form-group">
|
||||
<label>Logo hochladen (PNG, JPG, SVG)</label>
|
||||
<input type="file" name="logo" accept=".png,.jpg,.jpeg,.svg">
|
||||
<label>Logo hochladen (PNG, JPG)</label>
|
||||
<input type="file" name="logo" accept=".png,.jpg,.jpeg">
|
||||
<div class="form-hint">Empfohlen: transparentes PNG, mind. 300px breit</div>
|
||||
</div>
|
||||
<button type="submit" class="btn btn-secondary">Logo hochladen</button>
|
||||
|
|
|
|||
Loading…
Add table
Reference in a new issue