Commit Graph

11828 Commits

Author SHA1 Message Date
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
plegall
5d9dcb9e5f issue #2386 optimize load of min/max date 2025-08-12 16:03:49 +02:00
Linty
4e04ee0f22 issue #2386 fix activity link in admin group list 2025-08-11 15:23:12 +02:00
plegall
818233cd5e bug fixed: getActivityList, use the same SQL where clause to calculate max_line and fetch lines 2025-08-11 14:39:00 +02:00
Linty
2502a44832 issue #2355 hide api keys warning block by default 2025-08-11 10:57:12 +02:00
Martin R
80ab463808 Issue #2364 redesign user comment manager (PR #2400)
*Ability to reject or validate one by one

*Filter by : status : validated, user, user status, begin date, end date

*refreshed design to match current piwigo design

*[TODO] search input does not work, 

*[TODO] user name duplicate in user filter (use user id instead of user name to filter)

*[TODO] filter by image is missing

*[TODO] confirmation when a comment is validated or deleted is missing
2025-08-08 15:47:56 +02:00
Perrom
4dc2fc9f8d fixes #2386 update filters in users activity logs (#2399)
* Add an action filter and a date filter. 

* Additional filters on a specific object (photo/album/group) are available from their dedicated administration page.

* Performances of the page was improved : instead of loading 100k lines in activity table, we loop on 500 activity lines until 100 aggregated lines are found for the current page.
2025-08-08 15:17:50 +02:00
Perrom
2465654752 fixes #2362 add gallery filters options in admin (#2395)
Add a config page in admin for the search filters in the gallery. Privacy and default filters can be selected. Needs a database update.
2025-08-08 15:07:02 +02:00
plegall
671657d78b fixes #2396 avoid duplicate image_id in link to manage uploaded photos 2025-07-31 23:56:52 +02:00
Perrom
d0ac05d951 fixes #2353 update images with upload form (#2385)
Add a mode to update photos with the upload form. Modify the upload formats form, so that it will update the photo with the same file extension.
2025-07-31 10:41:01 +02:00
plegall
bc4acec569 issue #2390 warn about duplicate paths 2025-07-24 21:29:38 +02:00
plegall
fd54a917be hide whatsnew 16 for now 16.0.0beta1 2025-07-23 17:24:52 +02:00
Linty
5f0dc8548f issue #2355 update piwigo structure sql
and fix api key bug after first install
2025-07-22 18:26:01 +02:00
Martin Raby
4f6da8ea6a Relates #2351 : To see the newsletter promote, the account must have 2 weeks ancient, 3 albums created and 30 photos uploaded 2025-07-22 13:00:27 +02:00
HWFord
4c87268179 relates #2377 fix php warning in maintenence
if the 3XL and 4xl size don't exist it creates a php warning. this avoids the warning because theses sizes haven't yet been generated so don't exist
2025-07-22 11:05:37 +02:00
HWFord
a7c735a14b relates #2306 move button for update page 2025-07-16 15:07:00 +02:00
plegall
798f30ea51 issue #2390 avoid generating duplicate paths during upload 2025-07-15 14:14:49 +02:00
HWFord
b6459958f0 relates #2377 fix typo 2025-07-11 07:55:35 +02:00
Linty
d613149dfd fixes #2389 filter user activity by object and fix csv export 2025-07-07 10:25:00 +02:00
Linty
e28360fc5b fixes #2388 hide update actions for dev mode extensions 2025-07-07 09:53:48 +02:00
Linty
eec9a919a5 issue #2355 enforce ui context for API key management
...and improve profile JS. Replaces can_manage_api_key() with connected_with_pwg_ui() to ensure API key management is only allowed from UI logins, and sets 'connected_with' in session during auto-login. Refactors profile.js to respect canUpdatePreferences and canUpdatePassword, moves user state initialization to template, and improves preference reset/default logic. Also adjusts script loading and minor UI details in profile.tpl.
2025-07-07 08:58:27 +02:00
Linty
5e2251dff8 fixes #2383 add custom ellipsis to show end of long album names 2025-07-02 15:42:29 +02:00
HWFord
1f7f44bac8 relates #2377 check new sizes are bigger than xxl
if the default sizes aren't bigger than the XXL then multiply the XXL size by 1.5 for 3XL and the 3XL size by 1.5 for 4XL
2025-06-30 15:25:15 +02:00
Perrom
49f5b6162b fixes #2381 renamed tag former name use removed 2025-06-30 12:03:22 +02:00
Perrom
cd09c76c0c fixes #2380 favicon now visible from access warning page 2025-06-30 11:31:47 +02:00
HWFord
b825f45537 fixes #2377 add 3XL and 4XL derivatives 2025-06-26 12:35:03 +02:00
HWFord
8f3adbda79 fixes #2379 add shadow to toast 2025-06-26 12:32:34 +02:00
Martin R
6958098044 Fixes #2351 - New promote banner for newsletter
* New promote banner for newsletter

- new function that returns the url for old newsletter in the user
  language
- new image used in the banner
- new style for the newsletter banner and changes on the app promote
  banner
2025-06-11 17:01:37 +02:00
Martin R
13b2463a81 Fixes #2360 - Change in the jGrowl popup notification visual
* Change in the jGrow popup notification visual

- New CSS to change the style
- New JS to add the icon
2025-06-11 16:59:09 +02:00
plegall
40e89ed23b fixes #2376 globalize conf in empty_lounge 2025-06-10 09:53:14 +02:00
Linty
ae740ba3af fixes #2355 implement API key management system
- Added API key get, creation, editing, and revocation methods.

- Updated the profile template to include API key management features.

- Updated the database schema to support the new API key system, including additional fields for key management.

- Added client-side JavaScript functionality to handle API key operations and display responses.

- Update tools/htm.ws with the new way to authenticate.

- Restriction of certain api methods when used with an api key

- Backward compatibility with older apps
2025-06-09 20:35:57 +02:00