Commit Graph

191 Commits

Author SHA1 Message Date
Mykyta Synelnikov 6f47b19719 Reduce hash length and add user token management functions
Shortened directory hash length from 32 to 5 characters for efficiency. Introduced `set_user_hash` and `get_user_hash` functions to securely manage unique tokens for user cards, ensuring better organization and fallback mechanisms. Updated references to use the new user hash method where applicable.
2025-12-16 17:05:51 +02:00
Mykyta Synelnikov fc2c5456e4 Implement directory privacy settings and add rate limiting
Adds configurable privacy options for member directories, allowing restrictions on visibility based on roles or login status. Introduces rate limiting for unauthenticated AJAX requests to prevent brute-force attacks or abuse.
2025-12-11 17:36:42 +02:00
Mykyta Synelnikov 5c67164cc2 Fix cover image size handling and add fallback for invalid sizes
Improved logic to handle cases where the cover image size array is invalid or empty by adding a fallback default size. For mobile devices, the second size is used if available, or the first size is used as a fallback. This ensures proper cover size selection and prevents potential errors.
2025-09-06 14:42:15 +03:00
Mykyta Synelnikov 0845f55604 Fix: exclude empty meta values in directory filtering
Previously, empty `meta_value` entries were included in the query, potentially causing inaccurate results. This update adds a condition to exclude empty `meta_value` entries, ensuring more reliable directory filtering.
2025-06-27 14:24:08 +03:00
Mykyta Synelnikov b71cf0c359 Filter out empty meta values in usermeta queries. Alternative of #1707
This update adds a condition to exclude empty `meta_value` entries in multiple queries within the member directory class. It ensures more accurate results and prevents potential issues caused by blank metadata in the `usermeta` table.
2025-06-23 12:45:55 +03:00
Mykyta Synelnikov 8c7d7cadec Refactor nonce verification handling in search processing
Improved code readability by consolidating and consistently ignoring nonce verification warnings where it has already been verified. This simplifies the logic and ensures clearer handling of `$_POST` variables in the member directory search functionality.
2025-03-26 00:20:45 +02:00
Mykyta Synelnikov 6987660e62 Refactor member directory search to handle missing directory_id.
Ensure proper validation for `directory_id` when processing search queries. Default include and exclude fields are applied if `directory_id` is absent, preserving functionality and preventing errors.
2025-03-26 00:18:52 +02:00
Mykyta Synelnikov 77f6a13730 Refactor and enhance member directory search functionality.
Replaced deprecated and complex search query methods with a more streamlined and flexible implementation. Introduced improved handling of core and custom search fields, optimized search logic, and added better filter support. Incremented plugin version to 2.10.2 to reflect these changes.
2025-03-25 23:31:13 +02:00
Mykyta Synelnikov 51dc3b5747 Refine regex patterns to improve injection protection.
Simplified the regex patterns for detecting and preventing `sleep` and `benchmark` injections. This improves the accuracy and maintainability of the security checks in the member directory code.
2025-03-07 10:51:48 +02:00
Mykyta Synelnikov 7014623010 Enhance SQL injection protection in regex patterns
Updated regular expressions to strengthen protection against sleep and benchmark injection attacks. This change improves the security of queries by handling potential edge cases more effectively.
2025-03-07 01:25:05 +02:00
Mykyta Synelnikov 74647d42cc Fix improper namespace usage and enhance regex validation due to CVE ID: CVE-2025-1702
Replaced \WP_User_Query with correctly imported WP_User_Query to ensure proper namespace handling. Added a new regex pattern to block sleep injections, enhancing security within the member directory query validation.
2025-02-28 12:13:15 +02:00
Mykyta Synelnikov 4adbe19cbe * fixed CVE-2024-12276;
* reviewed using $wpdb and WPCS;
* set minimum required version to 6.2 due to using %i for $wpdb->prepare;
2025-02-03 16:17:37 +02:00
Mykyta Synelnikov dc81fa44ae Merge pull request #1607 from ultimatemember/fix/remove_mobile_detect
Deprecates mobile detect library
2025-01-14 12:02:23 +02:00
Mykyta Synelnikov 5ebefde6b8 * fixed security issue CVE ID: CVE-2025-0308 2025-01-10 02:17:18 +02:00
Mykyta Synelnikov e5fe05503a * fixed security issue CVE ID: CVE-2025-0308
* fixed security issue CVE ID: CVE-2025-0318
2025-01-08 12:20:35 +02:00
Mykyta Synelnikov 1ba3809344 * using wp_is_mobile instead of MobileDetect library 2024-12-17 21:53:18 +02:00
Mykyta Synelnikov 7f7820e67c * fixed sending emails upon registration;
* fixed using `um_user( 'status' )` and `um_user( 'account_status' )` functions;
* fixed using `set_status()` function;
* based on https://github.com/ultimatemember/ultimatemember/pull/1564
2024-10-10 18:18:56 +03:00
Mykyta Synelnikov 33bc484629 * Admin Users bulk-actions
* Admin single user actions
* Frontend single user action
2024-09-24 13:18:48 +03:00
Mykyta Synelnikov d186256120 - reviewed #1512; 2024-04-25 01:30:22 +03:00
ashubawork 635b57be60 - fix sort by last login 2024-04-24 16:04:07 +03:00
Mykyta Synelnikov 6b4e744527 - reviewed #1510; 2024-04-24 02:43:59 +03:00
Mykyta Synelnikov dca31429db - reviewed #1510; 2024-04-24 02:42:44 +03:00
Mykyta Synelnikov d56d1b12cb - code review;
- updated readme;
2024-04-17 01:46:48 +03:00
ashubawork e61b17dad0 - fix for default member directory 2024-04-16 13:24:08 +03:00
Mykyta Synelnikov 1827359dfb - manually reviewed #1489; 2024-04-15 17:58:18 +03:00
Mykyta Synelnikov 7e240edb6d - reviewed #1442; 2024-04-09 13:55:39 +03:00
Mykyta Synelnikov 8b64d5fae9 Merge branch 'development/2.8.x' into feature/search_exclude_fields 2024-04-09 01:09:13 +03:00
Mykyta Synelnikov a4d20fe4fd - reviewed #1481; 2024-04-02 17:28:54 +03:00
Mykyta Synelnikov 6839e07b10 - reviewed #1480; 2024-03-28 12:24:29 +02:00
Mykyta Synelnikov beb5b1724f Merge pull request #1480 from ultimatemember/feature/select_filter_relation_hook
Select filter relation hook
2024-03-28 11:04:59 +02:00
Mykyta Synelnikov 5b79b03be7 - fixed gender member directory filter with Male/Female field values; 2024-03-26 00:47:40 +02:00
ashubawork eda97a0d8f - add hook for select filter relation 2024-03-13 11:25:41 +02:00
Mykyta Synelnikov 1365395a3f - fixed no-escaped member card data; 2024-03-04 12:27:41 +02:00
Mykyta Synelnikov e1f550afb5 - changed "e-mail" to "email";
- changed texts for admin notices;
- added a few links to docs;
2024-02-16 15:12:21 +02:00
Mykyta Synelnikov cb9818e41c - fixed sorting by user registered date when custom meta table is enabled; 2024-02-14 17:12:35 +02:00
Mykyta Synelnikov 48f0ef187d - fixed member directory custom sorting when WP_Users_Query is active;
- wpcs;
2024-02-08 13:47:15 +02:00
ashubawork e1eaebce06 - include for core usermeta 2024-02-07 11:50:41 +02:00
ashubawork 37739fdd47 - exclude fields for um meta table 2024-01-30 12:56:31 +02:00
ashubawork 278b0def5c - fix excluded fields 2024-01-29 15:56:18 +02:00
ashubawork a6dae55d3d - fix excluded users 2024-01-29 11:36:07 +02:00
ashubawork 4041bbc621 - exclude fields for default usermeta table 2024-01-29 11:12:22 +02:00
Mykyta Synelnikov 99aef18307 - #1407 issue fix; 2024-01-09 12:13:11 +02:00
Mykyta Synelnikov f494c8972d - last login date filter; 2023-12-01 02:17:37 +02:00
Mykyta Synelnikov 3ccb9cf619 - fixed custom callback member directories filters with child dropdown filters; 2023-10-13 15:35:39 +03:00
Mykyta Synelnikov bacf66c2b4 - probably fix with another way for this PR #1304; 2023-09-20 21:31:50 +03:00
Mykyta Synelnikov 05b6f41257 - added hook to operate with core searching fields in member directory search; 2023-08-10 16:14:31 +03:00
ashubawork 5b647ae5e9 - add translators 2023-07-13 11:36:29 +03:00
Mykyta Synelnikov 6a484b32a2 - updated hookdocs; 2023-07-10 11:14:02 +03:00
Mykyta Synelnikov 8e108c9443 - deprecated unnecessary um_multiselect_option_value hook;
- updated hookdocs;
2023-07-02 13:39:42 +03:00
Mykyta Synelnikov 755ff6a790 - fixed account form; 2023-07-01 12:46:43 +03:00