2420 Commits

Author SHA1 Message Date
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
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
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
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
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
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
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
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
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
Linty
9bcc2cfa02 fixes #2354 add profile standard page 2025-05-05 21:40:59 +02:00
Linty
7f850c2938 issue #2354 update pwg.users.setInfo
and add pwg.users.setMyInfo method
2025-05-05 20:24:05 +02:00
HWFord
f88472fa9c fixes #2345 create piwigo standard pages
create new theme standard pages with tpl, css, js and images
update backend to handle pages
add config use_standard_pages
on update set config to false, on install set config to true
add standard pages to no be ingored in git
2025-03-18 16:46:41 +01:00
plegall
d5431e9476 issue #2341 fatal error on first call to send_piwigo_infos() 2025-03-12 09:37:44 +01:00
plegall
43afd60d00 issue #2335 whatever the API method called from admin, do not rebuild user_cache 2025-03-10 16:05:14 +01:00
plegall
4488e9bf6c issue #2341 more logger 2025-03-07 15:04:40 +01:00
plegall
c931118561 fixes #2341 force reload conf.send_piwigo_infos_last_notice to avoid double exec 2025-03-06 11:59:18 +01:00
plegall
789c062837 fixes #2336 more details in Logger (execution_uuid) 2025-03-01 14:20:11 +01:00
plegall
daef1ed375 fixes #2335 do not rebuild user_cache for Batch Manager Unit Mode 2025-03-01 14:16:51 +01:00
plegall
33b57be509 fixes #2334 wait user_cache rebuild for 20 seconds instead of 10 2025-03-01 12:24:13 +01:00
plegall
5eacda0d76 fixes #2333 avoid deadlock while waiting for user_cache rebuild 2025-03-01 12:04:41 +01:00
Linty
cc675b712b fixes #2327 standardize password masking length in emails 2025-02-24 13:48:38 +01:00
HWFord
7f24787b42 fixes #2322 set to 0 if null
some values being used in $result are null
2025-02-18 10:24:33 +01:00
Linty
a0ea91695b fixes #2323 switch language before generating the link 2025-02-14 12:07:11 +01:00
plegall
28a676b2d9 fixes #2311 single instance of user_cache generation 2025-01-10 10:59:56 +01:00
HWFord
5b7fffe786 fixes #2308 remove html and use previous redirect
The previous way worked fine with the redirect, adding a html added an extra step for users. The access denied page was only supposed to be used for pages that we don't have access to once connected
2025-01-08 11:33:27 +01:00
Linty
8f721fcb8b fixes #2303 replace the password in clear text with asterisks 2025-01-06 16:21:41 +01:00
plegall
a3833eab9b fixes #2300 search engine robots should not index/follow combined categories 2024-12-31 16:14:15 +01:00
plegall
547c8a9b94 issue #2296 for install.php, we always need class PwgSession defined 2024-12-20 11:05:46 +01:00
Linty
627aa045ed fixes #2296 include the correct class file depending on the version of php 2024-12-20 10:45:36 +01:00
Linty
0645372570 fixes #2287 add a new language key 2024-12-19 16:40:38 +01:00
plegall
fc5bc47bc3 fixes #1960 custom pwg_nl2br to avoid warning on PHP 8.1+ 2024-12-18 12:29:31 +01:00
Linty
047a447585 issue #2294 compatibility with PHP 8.4+ for session handling
PHP7+ to PHP 9 compatibility
2024-12-17 12:16:11 +01:00
plegall
5081acda91 fixes #2295 send_piwigo_infos, add core updates 2024-12-16 16:47:09 +01:00
plegall
ff5e8e6168 fixes #2292 distinguish auth methods 2024-12-06 16:18:04 +01:00
Linty
bb8f3d5715 fixes #2287 switch language before sending the email 2024-12-04 15:07:06 +01:00
Linty
465e6eced4 fixes #2281 rewording set and reset mail content 2024-11-25 11:06:43 +01:00
Linty
6e45a8f426 fixes #2281 use template for reset/activation mail
and change is_first_connection to has_already_logged_in for better naming
2024-11-20 21:06:02 +01:00
Linty
f6a3d0749f fixes #2281 rename function for better clarity
first_connexion to is_first_connection
2024-11-20 18:09:02 +01:00
Linty
34296598d4 fixes #2281 add two default conf for reset and activation link
When a password activation or reset link is generated, the link expiry time is now defined in two conf: $conf[’password_reset_duration‘] with a default time of one hour and $conf[’password_activation_duration‘] with a default time of 72 hours.
2024-11-20 17:09:26 +01:00
Linty
431cb4b7b4 fixes #1152 unset last_visit columns from default_user 2024-11-19 17:17:01 +01:00
HWFord
4124a858f6 fixes #2279 sort list of dates by array key
for creation and posted date
2024-11-15 15:26:55 +01:00
plegall
7bb3994fc6 issue #2237 clean user input on custom tag_list 2024-11-11 12:37:24 +01:00
HWFord
bf3beb9bdd fixes #2268 add whats new popin
set popin display in user pref, if user closes don't display again
keep bell notification displayed for 30 days so user can reopen modal
for next version add user pref to install
Add css for template
when close popin call api method to update user pref to hide popin
2024-11-08 16:35:27 +01:00
plegall
3fd287ac22 fixes #2270 compatibility PHP 7.2 2024-11-07 17:45:39 +01:00
Linty
bc0a4bb107 fixes #2237 added a temporary parameter to pwg.images.setInfo
it's also adapted in the batch manager unit js file
2024-11-05 18:20:42 +01:00
plegall
a6446be4be fixes #2265 no longer truncate IP at 15 chars 2024-11-04 20:03:23 +01:00