Commit Graph

11858 Commits

Author SHA1 Message Date
Linty 443e86aec2 fixes #2428 change language keys for api_key
Replaces 'Public key' references with 'ID' and updates related copy messages in English and French language files and profile template. Also changes key icon to 'icon-user-secret' for better clarity and consistency in the API key generation UI.
2025-10-31 17:08:38 +01:00
Linty 615867a857 fixes #2427 add styles for infos banner
Introduced .infos-message class with specific background, text color, and border styles for both light and dark themes in standard pages.
2025-10-31 14:47:51 +01:00
Linty 696236e76b fixes #2426 move authorization section into test section
Moved API key authentication input from a separate card to the test form section for improved clarity. Updated related CSS for better layout and consistency, and adjusted descriptions to highlight API key usage in Piwigo 16.
2025-10-29 13:00:24 +01:00
Linty d600b019a6 enable qrcode generation for totp secrets
Uncommented and activated QR code generation in getQrCode(), allowing TOTP secrets to be encoded as base64 PNG images for easier setup in authenticator apps.
2025-10-29 12:23:54 +01:00
Linty 99bb370b98 fixes #2425 unescape API key name before returning
Added a call to stripslashes for the 'apikey_name' field to ensure it is unescaped before being returned. This improves display consistency for API key names containing escaped characters.
2025-10-29 12:03:43 +01:00
Linty d6a1cf0466 fixes #2424 remove connection by header from API key validation
Simplifies the API key validation in auth_key_login by removing the requirement for connection_by_header. Now, API keys matching the pattern are accepted regardless of the connection source.
2025-10-29 11:49:19 +01:00
plegall b416bdb7c9 fixes #2417 ability to hide the new filter "expert mode"
... and removes 2 other duplicates of the filters_views configuration
2025-10-28 18:39:18 +01:00
plegall f0f4b30ce2 search filters: avoid to write 3 times the same default configuration 2025-10-28 16:35:05 +01:00
Linty 9ac99be1de fixes GHSA-9986-w7jf-33f6 and fixes GHSA-9986-w7jf-33f6
* Introduces a verification code step before generating password reset links.
* New configuration "password_reset_code_duration".
* Adds Base32, TOTP and PHPQRCode classes .
* New section is required in password.tpl: code verification won't work on themes not updated yet.
* 5 new language strings were added.
2025-10-17 15:38:21 +02:00
plegall ce3ccfe563 copy all languages from translation@9385538c8 2025-10-09 17:53:26 +02:00
plegall 5d518e583d next release will be 16.0.0RC1 16.0.0RC1 2025-10-08 10:56:25 +02:00
HWFord 416dbe2d24 issue #2414 change single tag display 2025-10-07 16:47:11 +02:00
HWFord b6312b5015 issue #2414 update css and tag sort order 2025-10-07 16:26:14 +02:00
HWFord ac15835422 issue #2414 remove config and update css 2025-10-03 17:43:35 +02:00
HWFord b682fd0cd3 fixes #2414 change related tags display
Add conf to display or not the related tag options by default
Add templates and css for new display
2025-10-03 15:43:29 +02:00
HWFord f930b6b524 issue #2409 Update icons used 2025-10-02 16:45:29 +02:00
HWFord 7bd298e107 issue #2409 update fontello
Add 2 icons
2025-10-02 16:42:13 +02:00
Linty 58a9447e01 fixes #2413 tag edit/duplicate now use raw_name as editable value 2025-09-26 13:39:28 +02:00
Linty fcb465f039 fixes #1948 replace cssmin by minify
- switched from cssmin to matthiasmullie/minify for CSS minification.
- the minify lib requires the path-converter lib (from the same author), which has been added as well (in include/minify/path-converter).

This change is necessary because cssmin is not compatible with PHP 8.4
2025-09-23 16:28:29 +02:00
plegall dae3c772c6 fixes #2328 Piwigo 16 requires PHP 7.4, thus random_bytes is available 2025-09-22 15:36:27 +02:00
Linty 18bb865a23 fixes #2411 disable 3xl and 4xl by default
- Add 3XL and 4XL sizes to defaults but keep them disabled by default
- Update admin restore default derivatives resets sizes and clears cache
- Update migration 177 => updates existing installs: set 3XL/4XL as disabled
2025-09-19 18:49:05 +02:00
Linty 8682a9bedc issue #2411 cap JPEG quality at 75 for 3XL/4XL derivatives 2025-09-19 18:42:08 +02:00
plegall ad88ed9d5f fixes #2361 explicit action to empty lounge 2025-09-19 16:49:14 +02:00
Linty 1be0527523 issue #2405 update smarty
and made Piwigo compatible with smarty 5.x
2025-09-17 12:05:48 +02:00
Linty 46837567cb issue #2225 fix text color in darkmode 2025-09-16 14:06:19 +02:00
plegall b167a327e3 issue #2409 add search engine filter : expert mode
* new access system not implemented yet
* dark mode handled but needs review
2025-09-15 15:10:17 +02:00
Linty 77c1fdd138 fixes #2225 redesign quick search help popin 2025-09-11 16:54:52 +02:00
plegall f270e82a06 fixes #2408 add CR as line end (Classic Mac Os) to split IPTC keywords 2025-09-10 19:20:51 +02:00
Linty 3a10a06b6b issue #2404 update piwigo structure sql 2025-09-08 14:56:43 +02:00
Linty 5221527e04 fixes #2407 allow clicking on section header to expand/collapse
and hide “Show/Hide expired keys” when the user has no expired keys
2025-09-08 14:55:41 +02:00
plegall 124ac245a7 next release is 16.0.0beta2 16.0.0beta2 2025-09-05 14:27:39 +02:00
plegall cd8c9b7db3 issue #2405 increase PHP required version from 7.1 to 7.4 for the upcoming Smarty update 2025-09-05 14:23:53 +02:00
Renarde-dev 21e77002bc Detect if piwigo is running in a container
Append info on PHP_OS in the template of `admin/maintenance_env.php` and in `include/functions.inc.php` -> `send_piwigo_infos()`

Detection works by checking if PHP is running on Linux then check if PID2 is kthreadd
Kthreadd is useless in a container so PID2 should not exist of be another process
If unable to read /proc/2/sched for some reason, assume a SELinux restriction and that PHP is not running in a container

`is_in_container()` doesn't differentiate between VMs or bare metal, it only check if PHP is running in a containerized environement via tools like docker or podman
2025-09-05 13:32:34 +02:00
HWFord 2bd5751e8b issue #2386 edit css for filter button 2025-09-05 12:18:33 +02:00
Linty dbec498287 fixes #2404 notify users of impending API key expiration
Adds logic to detect when an API key is about to expire and sends a notification email to the user if the key expires within 7 days and no recent notification was sent. Introduces a new 'last_notified_on' column to the user_auth_keys table to track notification timing.
2025-09-04 17:21:53 +02:00
Linty c078cffb8b fixes #263 add i18n support to date formatting with IntlDateFormatter
Introduced a new format_date function that uses IntlDateFormatter for proper internationalization when available, falling back to the legacy implementation otherwise. The previous format_date function was renamed to format_date_legacy.
2025-09-04 14:10:12 +02:00
HWFord aed52cc79a issue #2353 update color for previous commit 2025-09-03 11:51:17 +02:00
HWFord 15d62dc586 issue #2353 update css for photo uplaod options 2025-09-02 15:13:15 +02:00
Linty 171e31bea4 issue #2397 keep language selection in the template loading function 2025-08-29 18:33:48 +02:00
Linty 5a9ac7a950 fixes #2397 update language selection handling in profile
Change how user language selection is managed and displayed in the profile page. The selected language is now updated in the user profile (in db) and template variable names have been standardized for consistency.
2025-08-29 18:18:06 +02:00
plegall 7deda19787 rephrase option to update photo files 2025-08-26 17:54:53 +02:00
Linty 613dd410e5 issue #2364 fix guest author name and language key
Added support for bulk comment validation and deletion with updated confirmation messages and translations. Improved modal dialog behavior, including keyboard accessibility and button visibility. Updated CSS for consistent button styling across themes. Fixed author name display for guest comments.
2025-08-26 16:38:11 +02:00
Linty 57042cc475 fixes #2364 redesign admin comments management
Replaces legacy PHP comment management with a new interface for listing, filtering, selecting, validating, and deleting user comments. Updates templates and CSS for a modern, interactive experience, adds advanced filters, selection mode, and modal comment viewing. Removes obsolete server-side logic from comments.php and introduces new api methods for comment actions.
2025-08-26 14:35:31 +02:00
Linty 93cc0e72a8 update toaster template class and fix toast timeout 2025-08-26 14:30:24 +02:00
RushLana c616f17145 Fix webp animation derivatives
Using imagick to generate derivates on an animated webp break animation
Applying "-layers coalesce" ensure the animation remain smooth
Refs :
- https://github.com/ImageMagick/ImageMagick/issues/6375
- https://github.com/ImageMagick/ImageMagick/issues/5542
- https://github.com/ImageMagick/ImageMagick/issues/4246
2025-08-12 17:06:26 +02:00
RushLana 3293b329e9 Implement imagick command fix
`pwg_image::get_ext_imagick_command()` get the imagick command (convert or magick)
replace all convert with pwg_image::get_ext_imagick_command()
2025-08-12 17:06:26 +02:00
RushLana 66df209632 Change graphic library priority, ext_imagemick is now preffered 2025-08-12 17:06:26 +02:00
Linty 61961bd172 issue #2386 reset pagination on date filter change 2025-08-12 16:49:54 +02:00
plegall b8fcc216b8 issue #2386 simplify/secure additional filters 2025-08-12 16:20:25 +02:00
plegall 09a03d9818 issue #2386 optimize pwg.activity.getList
* fetch block of 10k rows from activity table instead of 500. It's not much slower and may avoid many loops to generate 100 lines of output aggregated lines.

* no need to perform a slow query to count the total number of filtered rows, we can just detect if there are more rows to aggregate to know if we have reached the last page.

* parse details only if we're on a new output key (which is discutable, but we use details only on new output line creation)
2025-08-12 16:03:49 +02:00