diff --git a/ext/image/main.php b/ext/image/main.php index c8d51126..c460660c 100644 --- a/ext/image/main.php +++ b/ext/image/main.php @@ -224,7 +224,7 @@ class ImageIO extends Extension :hash, :ext, :width, :height, now(), :source )", [ - "owner_id"=>$user->id, "owner_ip"=>$_SERVER['REMOTE_ADDR'], "filename"=>substr($image->filename, 0, 60), "filesize"=>$image->filesize, + "owner_id" => $user->id, "owner_ip" => $_SERVER['REMOTE_ADDR'], "filename" => substr($image->filename, 0, 255), "filesize" => $image->filesize, "hash"=>$image->hash, "ext"=>strtolower($image->ext), "width"=>$image->width, "height"=>$image->height, "source"=>$image->source ] ); @@ -342,7 +342,7 @@ class ImageIO extends Extension id = :id ", [ - "filename"=>$image->filename, "filesize"=>$image->filesize, "hash"=>$image->hash, + "filename" => substr($image->filename, 0, 255), "filesize"=>$image->filesize, "hash"=>$image->hash, "ext"=>strtolower($image->ext), "width"=>$image->width, "height"=>$image->height, "source"=>$image->source, "id"=>$id ] diff --git a/ext/upgrade/main.php b/ext/upgrade/main.php index 160422b5..5e7d7896 100644 --- a/ext/upgrade/main.php +++ b/ext/upgrade/main.php @@ -143,6 +143,25 @@ class Upgrade extends Extension log_info("upgrade", "Database at version 15"); $config->set_bool("in_upgrade", false); } + + if ($config->get_int("db_version") < 16) { + $config->set_bool("in_upgrade", true); + $config->set_int("db_version", 16); + + log_info("upgrade", "Adding tag_id, image_id index to image_tags"); + $database->execute('CREATE UNIQUE INDEX image_tags_tag_id_image_id_idx ON image_tags(tag_id,image_id) '); + + log_info("upgrade", "Changing filename column to VARCHAR(255)"); + if ($database->get_driver_name() == DatabaseDriver::PGSQL) { + $database->execute('ALTER TABLE images ALTER COLUMN filename SET DATA TYPE VARCHAR(255)'); + } elseif ($database->get_driver_name() == DatabaseDriver::MYSQL) { + $database->execute('ALTER TABLE images MODIFY COLUMN filename VARCHAR(255) NOT NULL'); + } + // SQLite doesn't support altering existing columns? This seems like a problem? + + log_info("upgrade", "Database at version 16"); + $config->set_bool("in_upgrade", false); + } } public function get_priority(): int