summaryrefslogtreecommitdiff
AgeCommit message (Collapse)AuthorFilesLines
2026-06-01Route PDF thumbnail regeneration through mime_pdf_thumbnail() via ImagickLester Caine1-0/+3
liberty_generate_thumbnails() has no PDF path without liberty_rasterize_pdf; mime_pdf_thumbnail() handles PDFs correctly via Imagick. Also pass attachment_id into fileHash so the sub-call to liberty_generate_thumbnails has context. Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
2026-06-01Guard null type in substr() call — PHP 8.x deprecationLester Caine1-1/+1
Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
2026-05-25edit_image: hide rotate/resize controls for non-image filesLester Caine1-0/+2
Rotate Image and Reduce Original Size are only meaningful for images. Wrap both in mime_type check so they are hidden for video, audio, PDF etc. Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
2026-05-25Fisheye: fix video thumbnail regeneration and gateway timeoutLester Caine2-5/+11
- 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>
2026-05-25Galleriffic: fix fancyzoom interference, add regenerate-thumbnails UILester Caine6-7/+17
- Add rel="nozoom" to all galleriffic thumb <a> links so FancyZoom's loading animation doesn't fire when selecting images in galleriffic - Add "Regenerate All Thumbnails" checkbox to edit_gallery.tpl (only shown for existing galleries) - Fix edit.php calling non-existent generateThumbnails() on a gallery object — corrected to generateGalleryThumbnails() - Add set_time_limit(0) inside generateGalleryThumbnails() so large galleries don't time out during thumbnail regeneration Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
2026-05-24Videos tab: inline player with list/player split layoutLester Caine1-23/+60
Replaces the simple table with a two-column layout — scrollable video list on the left, HTML5 player on the right. Clicking a list item loads and plays the video in-page. Full-page link and title shown below player. Thumbnails display in the list when available (post-ffmpeg). Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
2026-05-24Fix jstab compile error in inc_2: always open jstabs, conditionalise Videos ↵Lester Caine1-3/+4
tab only Smarty validates block tag pairs at compile time so {jstab} cannot be wrapped in {if}. jstabs/Pictures tab are always present; Videos jstab is conditional inside the already-open jstabs block. Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
2026-05-24Save galleriffic_style as a preference on gallery editLester Caine1-0/+1
The style field was read from preferences but never written back — storePreference call was missing alongside galleriffic_num_thumbs. Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
2026-05-24Add galleriffic style 2: Pictures/Videos tabs for mixed galleriesLester Caine2-1/+223
fisheye_galleriffic_inc.tpl now dynamically loads the inc file matching the gallery's galleriffic_style preference (defaults to 1). inc_2.tpl adds a pre-scan for video items and wraps the galleriffic slideshow in a Pictures tab, with a Videos simple-list tab alongside. Items without thumbnails are skipped from the Pictures tab; when ffmpeg generates thumbnails they appear in both tabs automatically. Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
2026-05-24Skip thumbnailless items in galleriffic to prevent broken displayLester Caine2-0/+4
Items without a thumbnail (e.g. videos when ffmpeg is unavailable) are excluded from the slideshow list rather than producing empty src/href attributes that break galleriffic's JS. Once thumbnails are generated they appear automatically. Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
2026-05-24Guard updatePosition() call against non-Fisheye gallery itemsLester Caine1-1/+3
Wiki pages embedded in galleries don't extend FisheyeBase so lack updatePosition() — method_exists() check prevents fatal error on reorder. Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
2026-05-24Ignore Sony DSC placeholder in EXIF ImageDescriptionLester Caine1-6/+9
Sony cameras write 'SONY DSC' (padded with spaces) into ImageDescription, which was being copied as the image title. Trim and skip this value so filename-derived titles are used instead. Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
2026-05-24Add per-gallery show_description preference to all active gallery viewsLester Caine10-2/+45
Galleries can now suppress their description text via a checkbox in the edit form (defaults to shown). All active view templates (galleriffic, fixed_grid, auto_flow, position_number, simple_list) respect the preference. Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
2026-05-21Inherit parent gallery protector role when creating sub-galleries and ↵Lester Caine2-0/+18
uploading images New sub-galleries and uploaded images now inherit the protector role_id from their first parent gallery, matching the behaviour of comment inheritance in protector_comment_store(). Only applies when no explicit role is chosen (-1). Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
2026-05-21Remove unused ajax_scroller gallery viewLester Caine1-10/+0
Never wired up — no PHP or template references, incomplete stub only. Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
2026-05-21Fix prev/next image navigation: call loadCurrentImage and use getAll not ↵Lester Caine2-1/+4
getAssoc image_lookup_inc.php was never calling loadCurrentImage() so previous/next image IDs were never populated. Also fixed loadCurrentImage to use getAll() instead of getAssoc() — getAssoc keys by first column so numeric $rows[$i] indexing always failed to find the current image. Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
2026-05-21Fix breadcrumb depth: remove premature gallery_path assignment that bypassed ↵Lester Caine1-3/+0
ancestor walk gallery_lookup_inc.php was setting gallery_path to just the immediate parent via getParentGalleries() before getBreadcrumbLinks() ran, causing it to skip the full iterative ancestor loop and only ever show one level. Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
2026-05-21Replace getParentGalleries loop with direct getRow ancestor walkLester Caine1-25/+15
Drop all dependency on getParentGalleries result parsing (fg.* column casing, associative key detection). Use a single simple getRow per level with explicit lowercase aliases (gid, cid, gtitle) so Firebird column name casing can't interfere. Walks up to 10 levels and builds $ret directly. Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
2026-05-21Fix ancestor walk: use is_numeric key check and direct content_id lookupLester Caine1-2/+5
Replaced isset($galleryData['content_id']) with is_numeric($galleryId) to identify parent gallery entries regardless of column name casing in the getAssoc result. content_id is now fetched via a direct query so the loop reliably advances up the hierarchy to the root. Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
2026-05-21Fix breadcrumb hierarchy walk: populate ret directly, skip cross-join verifyLester Caine1-1/+11
When gallery_path is not in the URL (pretty_urls), the fallback now builds $ret directly from per-gallery title lookups instead of relying on the complex multi-table cross-join verify query, which fails silently for paths longer than one level. The complex query is still used when gallery_path arrives via URL. Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
2026-05-21Fix breadcrumb depth and dedup nav across gallery viewsLester Caine6-49/+36
getBreadcrumbLinks now walks the full gallery hierarchy recursively instead of only one level up, so deep paths like Projects > Cadogan Gardens > Source Material appear in full. Inline nav blocks in galleriffic, simple_list and auto_flow replaced with gallery_nav.tpl include (matching fixed_grid). User/Galleries editor link in gallery_nav.tpl now guarded by hasUpdatePermission. Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
2026-05-21Fix broken parent gallery breadcrumb links; remove undefined changePhotoDrawerLester Caine4-4/+4
changePhotoDrawer() was never defined — clicking a parent gallery in the breadcrumb threw a JS error, return false never ran, and href="#" left the user on the same page ("links to self"). Replace with direct pretty URL navigation. Also fix double-slash in gallery_nav.tpl (FISHEYE_PKG_URL already ends with /). Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
2026-05-21Fix galleriffic numThumbs: break out of literal block for Smarty expressionLester Caine2-2/+2
Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
2026-05-21Separate pagination counts per gallery style; make galleriffic numThumbs ↵Lester Caine5-29/+28
configurable - rows_per_page/cols_per_page (DB) used only by fixed_grid - total_per_page preference used by auto_flow, simple_list, matteo — shown as one shared field with the style-appropriate label; falls back to old rows_per_page for migration - galleriffic_num_thumbs preference replaces hardcoded numThumbs:30 in JS templates - JS disables hidden style-div inputs on load and switch so only the active style submits Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
2026-05-21Fix images_per_page for galleriffic pagination to match JS numThumbs:30Lester Caine1-1/+4
Galleriffic JS hardcodes numThumbs:30 in both gallery templates, so the images_per_page used for image_order.tpl page-break dividers must also be 30 rather than cols_per_page * rows_per_page. Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
2026-05-21Add addHit() to view_image_details.phpLester Caine1-0/+1
Called via AJAX when an image is selected in the galleriffic gallery view — this is a genuine image view and should increment the hit counter. Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
2026-05-21Tidy automatic generation of sitemapLester Caine1-0/+48
2026-05-21Show proper 404 error for invalid gallery ID instead of blank pageLester Caine1-1/+5
2026-05-18fisheye is no longer reliant on mochikit so just removed commented out lineLester Caine1-1/+0
2026-05-16Restore the pop-up edit functionLester Caine1-3/+26
2026-05-16Missing defaults, and remap popup editLester Caine1-3/+3
2026-05-15Namespace fixesLester Caine1-1/+2
2026-05-15bitweaver.js is loaded but the framework so should not need to be loaded hereLester Caine1-1/+0
2026-05-14php-cs-fixer tidies to php8.5 standardsLester Caine101-203/+238
Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
2026-05-08Add detail to the confirmDialogV5-php84lsces1-0/+2
2026-05-08isLocked should not apply to fisheye objects but liberty generic handling ↵lsces1-0/+11
hits it so we need to handle it
2026-04-16Have retired BitAjax and moved it's functions to BitBase so mochikit is no ↵lsces1-2/+2
longer needed Also needed to trim 'description field when displaying pdf's as it contains the pdf text layer. Need to concider just how to add a proper description field to mime content such as pdf
2026-04-16Still need some work on the different gallery styles, but this sorts the ↵lsces1-2/+2
right number of images per page calculation
2026-04-16Get the right number of images per pagelsces1-1/+1
2026-04-16Tidies to bring templates up to date with smarty5 and add in missing elementslsces4-10/+14
2026-04-16Ensure offset is actually set to 0 to get all itemslsces1-1/+2
2026-04-06Tidying links to bitweaver.org to avoid redirect from httplsces2-2/+2
2026-04-05Few minor defaults for php8.4lsces1-3/+3
2026-04-02Check for highlight and display in pdf viewerlsces1-0/+3
2026-04-02Missing defaults for php8.4 and style change for fixed gridlsces4-56/+106
2026-03-27$moduleParams is now a smarty value rather than array. The passing of ↵lsces2-17/+17
parameters to modules needs reviewing across all the modules.
2026-03-27This has obviously been a problem for some time, query respects the number ↵lsces1-1/+1
of records filtering, getAssoc does not
2026-03-27Figured what has been causing a problem with using && and || in smarty ↵lsces19-43/+43
templates and related to mistake in processing {2} elements that should use curly brackets and not revert to square ones.
2026-03-26Tidy confusion between empty string and null defaultslsces1-13/+16
2026-03-26Ensure temporary file is readablelsces1-4/+6