Commit Graph
2439 Commits
Author SHA1 Message Date
Linty d4c4db36f3 issue #2560 person page in the gallery, links from the avatars 2026-10-29 17:37:02 +01:00
Linty 8e818c9af4 issue #2560 people avatars on the photo page, highlight the face on the photo 2026-10-29 17:17:37 +01:00
Linty 91f25e98ab issue #2560 people settings, access in permissions and people in photo properties 2026-10-29 16:49:19 +01:00
Linty 3ea63014fd issue #2560 action select in the selection mode, show in gallery on several people 2026-10-29 15:51:10 +01:00
Linty 2a1d30d3f1 issue #2560 merge people, selection mode, toasts..
..delete confirmation and dark mode on the People page
2026-10-22 13:02:13 +02:00
Linty 7b85469d93 issue #2560 cover only from an identified face, fallback cover, generic picture selector to change it 2026-10-20 18:47:33 +02:00
Linty e1d7471ccb issue #2560 People tab on photo edit page also add cropper.min.js 2026-10-20 18:09:32 +02:00
Linty 960248219e issue #2560 people association ws methods 2026-10-20 15:22:12 +02:00
Linty 58704b6867 issue #2560 people to image association functions, events, no AI fields in core 2026-10-20 14:57:42 +02:00
Linty ee66b85aed issue #2560 people backend and API 2026-10-20 11:56:45 +02:00
Linty e0576fddfc issue #2560 add persons and image_person tables 2026-10-20 11:56:40 +02:00
Linty cb1a748553 fixes #2573 in api_key context set pwg_token in $_POST only on POST requests 2026-07-31 17:14:31 +02:00
plegall 9755d88edf fixes GHSA-hq29-8hhx-5jwc [search] check input parameter ratings 2026-06-25 13:29:59 +02:00
RushLana 2357a86d51 Fixes #2552 - Implement SVG validation
Use https://github.com/darylldoyle/svg-sanitizer to check for malicious code inside svg, throw an error code 415 when triggered in the API.
2026-05-26 14:26:39 +02:00
Steffan Henke 01f68b81c6 Typo 2026-05-14 14:50:38 +02:00
HWFord f12323d1c9 fixes #2557 use pwg_get_cookie_var
-Update cookie to use pwg_lang to avoid conflicts with other potential apps.
-Add cookie path to the pwg_lang cookie to help with conflicts also.
-Be less restrictive in load_cookie_language function
-We can't use pwg_set_cookie because it is set in js not PHP so we force it to be called pwg_lang
2026-05-06 08:53:44 +02:00
Linty 29c7957054 fix typo causing undefined array key warning 2026-05-04 18:44:26 +02:00
plegall 5277a7dee4 fixes GHSA-rr39-mf4j-6594 prevent displaying RAW cookie content
... and also factorize code checking the cookie.lang user input
2026-05-01 16:59:29 +02:00
plegall 8cec3cc305 fixes #2550 checks MIME type against each uploaded file 2026-04-21 16:39:04 +02:00
Linty b19beee0aa fixes #796 handle ampersand escaping for API URLs
When generating URLs for the web service (IN_WS), ensure the argument separator is a raw '&' instead of the HTML entity '&'. add_url_params now switches the separator to '&' if IN_WS is defined and '&' was requested. Removed a redundant str_replace call in ws_std_get_urls since get_action_url/add_url_params now produce the correct separator. This prevents double-escaped ampersands.
2026-03-23 12:26:20 +01:00
Linty 8fe5a57799 fixes #2539 always set pwg_token for API key requests
Simplify pwg_token setup during PWG_API_KEY_REQUEST by unconditionally assigning get_pwg_token() to both $_POST['pwg_token'] and $_GET['pwg_token']. Removes prior isset() checks so the token is always present for API key requests; be aware this will overwrite any existing pwg_token values in request arrays.
2026-03-13 18:18:21 +01:00
plegall 355f3d44af fixes #2538 differentiate from and reply-to in pwg_mail 2026-03-11 12:23:52 +01:00
plegall 3ab004f7f6 fixes GHSA-wfmr-9hg8-jh3m protects pwg.activity.getList 2026-02-24 17:14:35 +01:00
plegall db2a156554 fixes GHSA-5jwg-cr5q-vjq2 protect filter parameter in pwg.user.getList 2026-02-24 16:19:22 +01:00
plegall 0f359f2af5 fixes GHSA-mgqc-3445-qghq checks standard date fields 2026-02-17 18:54:45 +01:00
plegall 15e451c231 fixes #2510 fallback for missing username 2026-01-15 14:19:04 +01:00
RushLana 5563ea98fd Add a more granular container detection (#2501)
Add a more granular container detection

Replace is_in_container by  get_container_info
Currently detect Official container (once they update a version with a tagfile) and LinuxServer container
All other container are marked as Unknown

Report two field :
- container_type ( none | Official | LinuxServer | Unknown
- container_version ( build Version number like 16.2.0a, only reported if Official container is detected )
2026-01-14 13:00:14 +01:00
plegall ea80dca422 fixes #2499 make the check_for_updates a unique_exec 2026-01-04 20:48:27 +01:00
Linty 91088bbec9 fixes #2490 add merge_tags notification trigger
A trigger_notify call for 'merge_tags' was added before deleting tags in the tag merge process. This allows plugins or extensions to react to tag merges.
2025-12-22 16:22:14 +01:00
Linty 2526d4a911 fixes #2488 improve handling of derivative config
Refactors how derivative and disabled_derivatives config values are loaded from the database, supporting both parameters and using a new safe_unserialize function. Updates ImageStdParams to use the global config and ensures proper serialization/deserialization of disabled type maps, with improved save logic to avoid unnecessary writes.
2025-12-22 16:17:13 +01:00
plegall 732145f6b7 fixes #2484 force integer on width/height
... was string when original url was used as derivative url (when the original is smaller than the derivative dimensions)
2025-12-22 11:45:20 +01:00
HWFord 27caef885e fixes #2486 add stdPgs config tab in admin
add skins and screenshots for skins
add admin tpl and css
update stdPgs tpl to have dynamic header section
2025-12-19 16:05:24 +01:00
RushLana 57f725d8e6 Fix is_in_container not respecting open_basedir permission
If the user as added open_basedir restriction the function will fail with a Warning :
Warning: file_exists(): open_basedir restriction in effect. File(/proc/2/sched) is not within the allowed path(s)

This fix add a check that assume piwigo is not in a container when open_basedir is set
2025-12-08 11:26:50 +01:00
Linty 3da45eabac fixes #2460 switch api auth header to X-PIWIGO-API
Replaces usage of the Authorization header with X-PIWIGO-API for API key authentication. This improves consistency and may address issues with standard Authorization header handling.
2025-12-01 18:12:31 +01:00
HWFord 435837a2e3 issue #2467 change boolean cast 2025-12-01 14:35:43 +01:00
Linty 32d3ea93f8 fixes #2458 add polyfill for str_starts_with function
Introduces a compatibility implementation of str_starts_with for environments where it is not available. Updates common.inc.php to include the polyfill if the function does not exist.
2025-12-01 12:43:46 +01:00
plegall 7cb8b615b8 next release is 17.0.0beta1 2025-11-24 17:06:12 +01:00
plegall 4f648db510 issue #2445 avoid null input on strip_tags (image name can be null) 2025-11-19 16:09:50 +01:00
plegall 545cad3501 fixes #2452 anonymous stats get richer with list of remote apps
* no "discovery", Piwigo searches for known patterns in the activity table
2025-11-19 14:21:00 +01:00
Linty 31d8f4516c fixes #2450 add user agent in activities performed with api key
Updated user activity display to show when a user is connected via API key, including an icon and updated tooltip. Modified backend to set a 'connected_with' flag in activity details when API key authentication is used.
2025-11-18 15:48:42 +01:00
plegall da2804db72 next release will be 16.0.0RC3 2025-11-18 11:07:49 +01:00
Linty e0a2a0ba2b fixes #2449 enhance password reset flow with verification and lockout
Added email notification for successful password reset, improved verification code handling, and implemented account lockout after too many failed attempts. Introduced new language strings for user feedback and security messages. Refactored password reset logic to better handle guest/generic users and API key recommendations.
2025-11-17 21:43:14 +01:00
HWFord c04374928a issue #2439 update popin
Add translations
remove last major update conf when in piwigo Upgrade
don't send popin template if not needed
2025-11-17 10:00:53 +01:00
Linty c43c3696e0 issue #2440 clear fake user cache on successful login
Added a call to clear_fake_user_cache() in pwg_login to ensure the fake user cache is reset after a successful login. Also introduced the clear_fake_user_cache() function for this purpose.
2025-11-13 15:44:00 +01:00
Linty 0f494baa0c fixes #2440 enhance login security and user activity display
Improves login security by:
- implementing constant-time authentication to reduce timing attacks
- refactoring user lookup into find_user_by_username_or_email() for username or email login
- introducing a fake user to keep password verification time consistent
- adding a finalize_login hook so plugins can control the authentication flow (2FA, rate limiting, etc.)

Also updates user activity JS to:
- better display action details
- properly handle user lists (login/logout with multiple users)
2025-11-13 14:05:35 +01:00
Linty c257866d71 fixes #2436 refactor async upload authentication
Replaces direct login check with ws_session_login for 'pwg.images.uploadAsync' and updates error handling to return the login response. Also updates the web service method definition to make username and password optional and clarifies admin credential requirements in the documentation.
2025-11-13 13:04:22 +01:00
plegall e07ca962f0 fixes #2434 always redirect server-side, not browser-side"
... this will avoid to try loading theme templates (with unset variables)
2025-11-11 18:51:32 +01:00
plegall 1d1a8b15da next release will be 16.0.0RC2 2025-11-10 17:42:30 +01:00
plegall eb37a4e5f1 fixes #2423, fixes #1949, fixes #2401 render title/description and keep HTML in descriptions
... and in several API methods add new output fields name_raw and comment_raw that are ready for edition
2025-11-10 17:00:58 +01:00
Eric Quinton be85e9381a Update functions_html.inc.php
replace "count xx != 0 by !empty, to support PHP 8.2 and after
2025-11-10 12:25:31 +01:00