Commit Graph
100 Commits
Author SHA1 Message Date
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
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
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
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
Linty 77c1fdd138 fixes #2225 redesign quick search help popin 2025-09-11 16:54:52 +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
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 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
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
Linty 61961bd172 issue #2386 reset pagination on date filter change 2025-08-12 16:49:54 +02:00
Linty 4e04ee0f22 issue #2386 fix activity link in admin group list 2025-08-11 15:23:12 +02:00
Linty 2502a44832 issue #2355 hide api keys warning block by default 2025-08-11 10:57:12 +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
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
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 2624be1c90 issue #2355 update gallery fontello
add hash and skull icon
2025-06-09 19:34:23 +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
Linty 6c609e5da6 issue #2354 move css content into theme.css 2025-05-05 20:20:39 +02:00
Linty e9b2d64dcf issue #2354 update css 2025-05-05 20:19:07 +02:00
Linty 3b951a0e37 issue #2354 rename common css and js files
reorganisation of common files before adding the standard profile page
2025-04-16 14:26:37 +02:00
Linty 8eae7bafa9 fixes #2340 ensure default group is assigned when adding a new user 2025-03-05 18:00:59 +01:00
Linty 4efcd98036 fixes #2339 prevent backend validation errors...
...by adding frontend checks for albums and tags
2025-03-05 17:22:40 +01:00
Linty c4e23c642f fixes #2337 set correct per_page to avoid excessive requests
...and remove pagination-per-page trigger
2025-03-04 11:08:26 +01:00
Linty 6489dceadf fixes #2329 sequentialize pwg.images.setInfo calls 2025-02-28 10:57:40 +01:00
Linty cc675b712b fixes #2327 standardize password masking length in emails 2025-02-24 13:48:38 +01:00
Linty 8747128289 fixes #2326 move the input to avoid side effects 2025-02-24 10:19:20 +01:00
Linty a0ea91695b fixes #2323 switch language before generating the link 2025-02-14 12:07:11 +01:00
Linty aaec652a66 fixes #2317 adjust users initials in compact and tile view 2025-01-29 10:29:33 +01:00
Linty 1eb083bc63 fixes #2316 improve album selector validation and keyboard interaction
also add an error in the global batch manager when we perform an album association but without choosing an album
2025-01-27 16:08:32 +01:00
Linty e985ba5183 fixes #2315 adjust password page for first login 2025-01-27 15:08:50 +01:00
Linty 8f75afd625 fixes #2314 hide the error message when writing or closing the modal 2025-01-22 14:56:56 +01:00
Linty 64064b5974 fixes #2310 check whether there is a textarea when pressing enter 2025-01-09 10:33:09 +01:00
Linty 8f721fcb8b fixes #2303 replace the password in clear text with asterisks 2025-01-06 16:21:41 +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
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
Linty 5182e69dcd fixes #2286 trigger the click action on pressing enter
...and if the value of applyAction is not equal to -1
2024-12-06 12:02:46 +01:00
Linty 9e9fb327f0 fixes #2290 add user's language prefix to the PEM link 2024-12-05 15:04:50 +01:00
Linty bd9571cb72 fixes #2289 increase modal size and change messages margin 2024-12-05 12:42:10 +01:00
Linty bb8f3d5715 fixes #2287 switch language before sending the email 2024-12-04 15:07:06 +01:00
Linty e2fbf45cd8 fixes #2288 display the correct mail after changed it 2024-12-04 14:54:56 +01:00
Linty 1525f9ced2 fixes #2283 reduce font-size for initials
...and add no wrap for username
2024-11-25 11:27:32 +01:00
Linty 24293ef7c8 issue #2234 continue colour updates for dark mode 2024-11-25 11:08:39 +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
Linty 0cee869971 fixes #2275 wrap the category name in another span
...with a plaintext style
2024-11-12 14:44:42 +01:00
Linty 25b919390e fixes #2274 load node when moving album in another one 2024-11-12 11:16:26 +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
Linty 95e85f264e fixes #2253 use only bulk_manager_filter category for album selection
I've also adapted the tpl and js files
2024-10-31 12:13:52 +01:00
Linty 78769be780 fixes #2259 order by activity_id instead of occured_on 2024-10-30 10:43:50 +01:00
Linty 99a3592eae fixes #2258 add invalidate_user_cache in ws_images_deleteOrphans method 2024-10-30 10:27:11 +01:00
Linty 65dce73ef8 fixes #2254 adjust placement of int casting
...for SVG width and height values
2024-10-25 14:30:24 +02:00
Linty 29b1c32fbc fixes #2252 add null check for parent_node
...before accessing properties
2024-10-25 11:43:47 +02:00
Linty 75da48dadd fixes #2252 hide pencil icon during upload
...to prevent opening the album selector
2024-10-24 17:06:44 +02:00
Linty 3a9e5f7dff fixes #2251 add en_UK and fr_FR translation 2024-10-24 16:00:58 +02:00
Linty e53d7332de fixes #2250 add tooltip on main user icon 2024-10-24 16:00:09 +02:00
Linty 4f07c75b89 fixes #2247 load child nodes and open the node
...before adding a new one
2024-10-24 15:10:55 +02:00
Linty 1d087ebefe fixes #2158 refactor user data assignment
...with spread operator for cleaner code. This change also allows for compatibility with additional fields that may be returned by the API, such as those added by plugins, ensuring all elements are captured without explicitly defining each one.
2024-10-16 15:18:05 +02:00
Linty 6e964af343 issue #2234 continue colour updates for dark mode
courtesy of Alice
2024-10-16 15:01:42 +02:00
Linty 480522cca1 fixes #2244 add ignore to prevent errors from duplicate 2024-10-15 11:26:18 +02:00
Linty 65e29ab26d fixes #2243 removed fixed height 2024-10-14 17:23:48 +02:00
Linty c81e2b7f8b issue #2234 standardize input focus colors
for input, select and textarea
2024-09-26 16:10:38 +02:00
Linty 1d8aa035fc issue #2234 standardize datepicker colors 2024-09-26 15:52:51 +02:00
Linty 1634bcf5cf fixes #2233 use .trigger('focus') instead of .focus()
because its deprecated
2024-09-25 14:54:05 +02:00
Linty 77c09413f0 fixes #2233 reset events on children node toggle
added preventDefault() to prevent page scroll to top caused by href attribute in `move-cat-add` events.
2024-09-25 14:43:37 +02:00
Linty b0bd8e83ad issue #2234 standardize user list and user popin colors 2024-09-24 16:30:18 +02:00
Linty f23ca21102 add focus and Enter key trigger for first album modal 2024-09-23 15:34:02 +02:00
Linty 7424adbe07 fixes #2213 compatibility PHP 8
adding missing class properties
2024-09-23 15:05:39 +02:00
Linty 91bb79c893 fixes #2226 implement album selector in batch manager filter and action 2024-09-23 12:44:00 +02:00
Linty 9a46f14f1c issue #2226 refactor album selector to class-based structure
- Update existing album selectors to new instantiation method
2024-09-23 12:40:33 +02:00
Linty 2121386ed0 fixes #2231 merging album search into album manager
- Delete old files (cat_search.php and cat_search.tpl) and his tab un add_core_tabs.inc.php
- Add search field and result in albums.tpl
- Separate js code from template
- Reuse data of albums.tpl for jqtree for the search algorithm
2024-09-20 16:19:07 +02:00
Linty 634711ca3a fixes #2229 created date filter, handle parent and child dates
Add and outline check for parent date and grey check for child dates
2024-09-19 18:00:07 +02:00
Linty 874db88b5d fixes #2229 date posted filter, handle parent and child dates
Add and outline check for parent date and grey check for child dates
2024-09-19 17:37:46 +02:00
Linty 9462c7aa09 issue #2229 update fontello icon
remove list check
add gallery-icon-check-outline
2024-09-19 17:34:08 +02:00
Linty 2905623027 fixes #2214 initialize total_count before using it 2024-09-10 14:55:28 +02:00
Linty c1ad552a86 fixes #2223 initialize groups_for_filter before using it 2024-09-10 10:26:18 +02:00
Linty 40ca83d382 fixes #2221 use backticks instead of quotes
...because that's what backticks are for.
2024-09-03 16:19:06 +02:00
Linty 1de27871b3 fixes #2221 encase rank in quotes 2024-09-03 16:02:16 +02:00
Linty 3133552405 fixes #2220 change scope of function get_resize_result
also changed the required php version to 7.1.0
2024-09-02 18:23:52 +02:00
Linty 815a0221aa [albums] fixed warning messages in album edit page 2024-08-23 19:39:59 +02:00
Linty d0eeb2852c fixes #2209 high-volume optimization
- Sub-albums in the album manager now load their html content progressively
- Scrolling on album focus corrected
2024-08-23 17:50:02 +02:00
Linty 149b29607b [users] changing height of group select in edit user modal 2024-08-22 15:44:12 +02:00
Linty 33f7849bf0 change button font size in album selector 2024-08-20 16:41:19 +02:00
Linty 7bd8b7e274 fixes #2206 add album selector on the add photo page
- replace older selector with the new album selector
- moving javascript to a js file
- changed the logic for the first album (now its work with api)
- changed labels in album selector and also added an escape event (to close modal)
2024-08-19 16:09:50 +02:00
Linty bfe1e85801 fixes #2201 better implementation for the number of associated users
removed the javascript part to directly manage disabling an option via the tpl in a foreach and data in php
2024-08-07 12:41:52 +02:00