From 91c02642f98b8568b142c318d6fea2fcadf8a00d Mon Sep 17 00:00:00 2001 From: Terranom674 Date: Sat, 15 Aug 2026 14:48:28 +0200 Subject: [PATCH] Allow watermark profiles without assigned file --- include/database.class.php | 8 +++++++- 1 file changed, 7 insertions(+), 1 deletion(-) diff --git a/include/database.class.php b/include/database.class.php index ae9ca50..e594854 100644 --- a/include/database.class.php +++ b/include/database.class.php @@ -23,7 +23,7 @@ function bratonien_tools_create_tables() pwg_query("CREATE TABLE IF NOT EXISTS `$profiles` ( id int(11) NOT NULL AUTO_INCREMENT, name varchar(255) NOT NULL, - watermark_file varchar(255) NOT NULL, + watermark_file varchar(255) DEFAULT NULL, xpos int(11) NOT NULL DEFAULT 90, ypos int(11) NOT NULL DEFAULT 90, xrepeat int(11) NOT NULL DEFAULT 0, @@ -36,6 +36,12 @@ function bratonien_tools_create_tables() PRIMARY KEY (id) ) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4;"); + // Piwigo's mass_inserts() serializes empty strings as SQL NULL. A profile is + // deliberately allowed to exist before a watermark file is assigned, so the + // database column must accept NULL as well. This migration also repairs + // installations created by Bratonien Tools 0.2.0 before this was corrected. + pwg_query("ALTER TABLE `$profiles` MODIFY watermark_file varchar(255) DEFAULT NULL"); + if (!bratonien_tools_column_exists($profiles, 'xrepeat')) { pwg_query("ALTER TABLE `$profiles` ADD xrepeat int(11) NOT NULL DEFAULT 0 AFTER ypos");