summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorLester Caine <lester@lsces.co.uk>2026-05-25 12:23:40 +0100
committerLester Caine <lester@lsces.co.uk>2026-05-25 12:23:40 +0100
commit3ac522d22fcc4e1ea2d351e78f13af5556023b40 (patch)
treee1843bade3b3b27c55d79a43a3f0f2315bf44d21
parent389d36e820c28819efd9c6dd49b103bb1b0edf42 (diff)
downloadfisheye-3ac522d22fcc4e1ea2d351e78f13af5556023b40.tar.gz
fisheye-3ac522d22fcc4e1ea2d351e78f13af5556023b40.tar.bz2
fisheye-3ac522d22fcc4e1ea2d351e78f13af5556023b40.zip
Fisheye: fix video thumbnail regeneration and gateway timeout
- FisheyeImage::renderThumbnails: route video/* mime types through mime_video_create_thumbnail() instead of liberty_generate_thumbnails() which only handles images — fixes regeneration of existing stored videos - edit.php: send redirect before generateGalleryThumbnails() using fastcgi_finish_request() so the browser is released immediately and bulk thumbnail generation runs in background without nginx timeout Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
-rwxr-xr-xedit.php5
-rwxr-xr-xincludes/classes/FisheyeImage.php11
2 files changed, 11 insertions, 5 deletions
diff --git a/edit.php b/edit.php
index eec9898..c8749cc 100755
--- a/edit.php
+++ b/edit.php
@@ -54,10 +54,13 @@ if( !empty( $_REQUEST['savegallery'] ) ) {
// set the mappings, or if nothing checked, nuke them all
$gContent->addToGalleries( !empty( $_REQUEST['gallery_additions'] ) ? $_REQUEST['gallery_additions'] : null );
+ header("location: ".$gContent->getDisplayUrl() );
if( !empty( $_REQUEST['generate_thumbnails'] ) ) {
+ if( function_exists( 'fastcgi_finish_request' ) ) {
+ fastcgi_finish_request();
+ }
$gContent->generateGalleryThumbnails();
}
- header("location: ".$gContent->getDisplayUrl() );
die();
}
} elseif( !empty( $_REQUEST['delete'] ) ) {
diff --git a/includes/classes/FisheyeImage.php b/includes/classes/FisheyeImage.php
index c26cedd..76c916b 100755
--- a/includes/classes/FisheyeImage.php
+++ b/includes/classes/FisheyeImage.php
@@ -520,10 +520,13 @@ class FisheyeImage extends FisheyeBase {
$fileHash['dest_branch'] = $this->getStorageBranch( $fileHash );
$fileHash['name'] = $this->getField( 'file_name' );
$fileHash['thumbnail_sizes'] = $pThumbSizes;
- // just generate thumbnails
- \Bitweaver\Liberty\liberty_generate_thumbnails( $fileHash );
- if( !empty( $fileHash['error'] ) ) {
- $this->mErrors['thumbnail'] = $fileHash['error'];
+ if( substr( $fileHash['type'], 0, 6 ) === 'video/' ) {
+ \Bitweaver\Liberty\mime_video_create_thumbnail( $fileHash['source_file'] );
+ } else {
+ \Bitweaver\Liberty\liberty_generate_thumbnails( $fileHash );
+ if( !empty( $fileHash['error'] ) ) {
+ $this->mErrors['thumbnail'] = $fileHash['error'];
+ }
}
}
return count($this->mErrors) == 0;