Fix Thumbnail-Generierung (magick statt convert) und DB-Migration fuer role-Spalte
- entrypoint.sh: ImageMagick 7 nutzt 'magick' statt 'convert', Auto-Detection - database.js: Migration fuer role-Spalte bei bestehender DB (ALTER TABLE) - main.js: Fallback auf Vollbild wenn Thumbnail fehlt (error handler) Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
This commit is contained in:
@@ -214,6 +214,14 @@
|
|||||||
if ((x = $image_img.data("position"))) $image.css("background-position", x);
|
if ((x = $image_img.data("position"))) $image.css("background-position", x);
|
||||||
$image_img.hide();
|
$image_img.hide();
|
||||||
|
|
||||||
|
// Fallback: Wenn Thumbnail fehlt, Vollbild als Vorschau nutzen
|
||||||
|
$image_img[0].addEventListener("error", function() {
|
||||||
|
var fullUrl = $image.attr("href");
|
||||||
|
if (fullUrl) {
|
||||||
|
$image.css("background-image", "url('" + fullUrl + "')");
|
||||||
|
}
|
||||||
|
});
|
||||||
|
|
||||||
$image_img[0].addEventListener("load", function() {
|
$image_img[0].addEventListener("load", function() {
|
||||||
EXIF.getData($image_img[0], function () {
|
EXIF.getData($image_img[0], function () {
|
||||||
exifDatas[$image_img.data('name')] = getExifDataMarkup(this);
|
exifDatas[$image_img.data('name')] = getExifDataMarkup(this);
|
||||||
|
|||||||
2
assets/js/main.min.js
vendored
2
assets/js/main.min.js
vendored
File diff suppressed because one or more lines are too long
@@ -17,7 +17,15 @@ db.serialize(() => {
|
|||||||
created_at DATETIME DEFAULT CURRENT_TIMESTAMP
|
created_at DATETIME DEFAULT CURRENT_TIMESTAMP
|
||||||
)`);
|
)`);
|
||||||
|
|
||||||
// Migration: created_at hinzufuegen falls Tabelle schon existiert
|
// Migration: Spalten hinzufuegen falls Tabelle schon existiert (alte DB ohne role/created_at)
|
||||||
|
db.run(`ALTER TABLE users ADD COLUMN role TEXT NOT NULL DEFAULT 'client'`, (err) => {
|
||||||
|
// Ignoriere Fehler wenn Spalte schon existiert
|
||||||
|
if (!err) {
|
||||||
|
// Alte Admins (die einzigen User vor dem Update) als admin markieren
|
||||||
|
db.run(`UPDATE users SET role = 'admin' WHERE id = 1`);
|
||||||
|
console.log('Migration: role-Spalte hinzugefuegt, User ID 1 als admin gesetzt');
|
||||||
|
}
|
||||||
|
});
|
||||||
db.run(`ALTER TABLE users ADD COLUMN created_at DATETIME DEFAULT CURRENT_TIMESTAMP`, (err) => {
|
db.run(`ALTER TABLE users ADD COLUMN created_at DATETIME DEFAULT CURRENT_TIMESTAMP`, (err) => {
|
||||||
// Ignoriere Fehler wenn Spalte schon existiert
|
// Ignoriere Fehler wenn Spalte schon existiert
|
||||||
});
|
});
|
||||||
|
|||||||
@@ -3,10 +3,21 @@
|
|||||||
FULLS_DIR="/app/public/images/fulls"
|
FULLS_DIR="/app/public/images/fulls"
|
||||||
THUMBS_DIR="/app/public/images/thumbs"
|
THUMBS_DIR="/app/public/images/thumbs"
|
||||||
|
|
||||||
|
# ImageMagick 7 (Alpine) nutzt "magick" statt "convert"
|
||||||
|
if command -v magick >/dev/null 2>&1; then
|
||||||
|
IM_CMD="magick"
|
||||||
|
elif command -v convert >/dev/null 2>&1; then
|
||||||
|
IM_CMD="convert"
|
||||||
|
else
|
||||||
|
echo "FEHLER: Weder magick noch convert gefunden! Thumbnails koennen nicht erzeugt werden."
|
||||||
|
IM_CMD=""
|
||||||
|
fi
|
||||||
|
|
||||||
# Thumbnails fuer einen Quell- und Zielordner generieren
|
# Thumbnails fuer einen Quell- und Zielordner generieren
|
||||||
generate_thumbs_for_dir() {
|
generate_thumbs_for_dir() {
|
||||||
src_dir="$1"
|
src_dir="$1"
|
||||||
dst_dir="$2"
|
dst_dir="$2"
|
||||||
|
[ -z "$IM_CMD" ] && return
|
||||||
mkdir -p "$dst_dir"
|
mkdir -p "$dst_dir"
|
||||||
for img in "$src_dir"/*; do
|
for img in "$src_dir"/*; do
|
||||||
[ -f "$img" ] || continue
|
[ -f "$img" ] || continue
|
||||||
@@ -21,7 +32,10 @@ generate_thumbs_for_dir() {
|
|||||||
|
|
||||||
if [ ! -f "$dst_dir/$filename" ] || [ "$img" -nt "$dst_dir/$filename" ]; then
|
if [ ! -f "$dst_dir/$filename" ] || [ "$img" -nt "$dst_dir/$filename" ]; then
|
||||||
echo "Thumbnail erstellen: $dst_dir/$filename"
|
echo "Thumbnail erstellen: $dst_dir/$filename"
|
||||||
convert "$img" -resize 512x512 -quality 80 "$dst_dir/$filename" 2>/dev/null
|
$IM_CMD "$img" -resize 512x512 -quality 80 "$dst_dir/$filename"
|
||||||
|
if [ $? -ne 0 ]; then
|
||||||
|
echo "WARNUNG: Thumbnail fehlgeschlagen fuer $filename"
|
||||||
|
fi
|
||||||
fi
|
fi
|
||||||
done
|
done
|
||||||
}
|
}
|
||||||
|
|||||||
Reference in New Issue
Block a user