Commit Graph

2663 Commits

Author SHA1 Message Date
Mykyta Synelnikov 6a134e881e Merge pull request #1691 from ultimatemember/security/CVE-2025-47691
Updates dynamic function blacklist for security enhancement
2025-05-15 01:09:52 +03:00
Mykyta Synelnikov 9804b92583 Refactor form request checks to simplify and optimize logic
Simplified conditional checks for password and account form submissions by replacing `isset` with `!empty` where applicable. This improves readability and reduces redundancy while maintaining functionality and security. Added comments to clarify nonce verification status.
2025-05-12 15:39:52 +03:00
Mykyta Synelnikov b3242fe9b0 Added docs 2025-05-12 13:25:24 +03:00
Mykyta Synelnikov 9d83fba560 Update dynamic function blacklist for security enhancement
Added a mechanism to dynamically retrieve and merge updated WordPress function lists into the blacklist to prevent unsafe usage in dropdown options. Addresses a security issue (CVE-2025-47691) by using a JSON-based function source tied to WordPress versioning.
2025-05-12 13:16:17 +03:00
ashubawork 0aae50db53 - fix password reset page check 2025-05-01 13:14:46 +03:00
Mykyta Synelnikov 1181b7956d Merge pull request #1684 from ultimatemember/fix/change_account_email
Change email permissions
2025-04-30 13:57:27 +03:00
Mykyta Synelnikov 5de4986d2e Update to version 2.10.4 with bug fixes and improved user handling
This update fixes issues related to handling empty user statuses, ensuring proper account status checks and admin notice resets. It also updates plugin assets, documentation, and test scripts to reflect the new version (2.10.4). Additional improvements include enhanced error logging for more reliable diagnostics.
2025-04-30 13:04:55 +03:00
ashubawork 8083ad4e99 - fix change email permissions 2025-04-30 12:02:03 +03:00
Mykyta Synelnikov f1f1bddeaf Add new settings fields to Site Health info
Introduce fields for "Ignore User Role Registration Options" and re-add "Email sending by Action Scheduler" under the Site Health settings. This improves the clarity and organization of user options in the admin interface.
2025-04-23 16:13:27 +03:00
Mykyta Synelnikov c6859072a0 Update to version 2.10.3 with enhancements and bug fixes
Added new settings for registration management and improved Action Scheduler flexibility. Resolved issues with Member Directory styling, filtering, and email placeholders. Updated terminology and documentation; ensure cached assets are refreshed post-update.
2025-04-23 16:05:34 +03:00
Mykyta Synelnikov db0da58351 Refactor password reset URL handling and email dispatch.
Added optional parameter to `reset_url` for user-specific handling. Updated email dispatch logic to include dynamic generation of the password reset link with proper placeholder replacements.
2025-04-23 14:35:38 +03:00
Mykyta Synelnikov 54deffd244 Enhance password reset logic and add Action Scheduler filter
Ensure proper handling of user data in password reset functions by adding checks and updating parameter handling. Introduce a new filter to extend site health information and include a setting for enabling email sending via Action Scheduler. Improve code clarity with updated comments and function annotations.
2025-04-22 17:16:55 +03:00
Mykyta Synelnikov 5fdf822183 Refactor version comparison logic in Ultimate Member.
Enhanced the `compare_versions` method to include a new `$raw` parameter for conditional handling. Improved readability, added additional checks, and updated translator comments to ensure compatibility and clear messaging.
2025-04-21 23:30:03 +03:00
Mykyta Synelnikov e99f158d18 Fixed #1677
Update country name from "Turkey" to "Türkiye"

Replaced the outdated reference to "Turkey" with "Türkiye" in the Ultimate Member plugin's built-in country list. This aligns with the country's preferred naming convention.
2025-04-17 20:02:28 +03:00
Mykyta Synelnikov df7e0e9357 Merge pull request #1676 from ultimatemember/fix/extend_baneed_fields
Extend baneed fields
2025-04-17 19:58:01 +03:00
Mykyta Synelnikov 206dab3215 Merge pull request #1670 from ultimatemember/feature/schedule_account_status_check
account_status schedule action
2025-04-17 19:57:21 +03:00
Mykyta Synelnikov f89b29426a Add validation for banned and blacklisted custom fields.
This update enhances security by introducing checks for banned and blacklisted meta keys in custom fields. It includes CSS updates for admin builder styles and ensures banned fields are flagged accurately in the site health tool.
2025-04-15 18:08:44 +03:00
Mykyta Synelnikov 820ef35104 Fix user meta key for registration progress handling
Updated the user meta key from `um_registration_in_progress` to `_um_registration_in_progress` across multiple files for consistency and proper functionality. This change ensures accurate checking and handling of users in the registration process.
2025-04-15 14:54:44 +03:00
Mykyta Synelnikov 5356148cc4 Implement batch processing for users with empty account statuses
Introduced a new batch process to handle users lacking an `account_status` meta efficiently. Refactored legacy methods, added async scheduling, and created helper functions to manage and track progress. These changes improve performance and reliability for large user bases.
2025-04-15 14:27:59 +03:00
Mykyta Synelnikov bdd973c14c Remove unused WP_User_Query import
The WP_User_Query import was removed as it is not used in the code. This helps to clean up unnecessary code and improve maintainability. No functionality is affected by this change.
2025-04-14 23:13:32 +03:00
Mykyta Synelnikov c8bd79fceb Add scheduled user account status check and improve approval
Introduce a new `Users` class to handle scheduled tasks for user status checks and batch processing. Refactor user approval functionality to allow silent operations and avoid sending notifications where unnecessary. Enhance user registration to prevent unfinished registrations from being processed in scheduled checks.
2025-04-14 23:12:29 +03:00
Mykyta Synelnikov fa04a49032 Merge pull request #1672 from ultimatemember/feature/user_auto_approve
User auto approve
2025-04-14 16:05:20 +03:00
Mykyta Synelnikov 695d522cb7 Rename 'auto_user_approve' to 'admin_ignore_user_status'.
Updated the setting name across relevant files to improve clarity and better reflect its functionality. Adjusted related logic to ensure consistent behavior with the new naming.
2025-04-14 16:04:29 +03:00
Mykyta Synelnikov f6005f2e9d Prevent admin notifications and refine user registration logic
Updated the registration process to avoid sending notifications for admin-created users. Simplified and clarified user status handling, ensuring consistent behavior across frontend and admin actions.
2025-04-14 15:45:07 +03:00
Mykyta Synelnikov 69455c9085 Merge pull request #1671 from ultimatemember/fix/blocks_css
Directory block CSS
2025-04-14 15:19:08 +03:00
ashubawork 0cac6179e0 - blocks build 2025-04-14 15:14:39 +03:00
ashubawork 8ef597ad74 - fix banned fields and site health status 2025-04-14 14:21:41 +03:00
yuriinalivaiko 661aa2060f - fixed a member directory 'select' filter query 2025-04-11 16:04:55 +03:00
ashubawork 42e6e71e65 - add auto approval after the wp-admin registration 2025-04-10 11:07:13 +03:00
ashubawork 4dc4b7497c - small CSS fixes for directory block 2025-04-08 13:55:32 +03:00
ashubawork 08a7b48d53 - add schedule action for account_status check 2025-04-07 15:01:07 +03:00
Mykyta Synelnikov 3858c6af83 Refactor Action Scheduler for not only email handling.
Updated the Action Scheduler implementation to improve flexibility and clarity. Replaced the 'enable_action_scheduler' option with 'enable_as_email_sending' for better specificity. Introduced hook-based checks to selectively enable email scheduling, ensuring compatibility and optimized performance.
2025-04-04 12:59:10 +03:00
Mykyta Synelnikov ccc7cd099b Add comments and legacy key for WooCommerce 9.1.0 support
Added comments to clarify the usage of meta keys introduced in WooCommerce 9.1.0 and marked TODOs for future cleanup. Also included a legacy key, `_money_spent`, for backward compatibility with WooCommerce versions below 9.1.0.
2025-04-03 13:05:10 +03:00
yuriinalivaiko e529b9d50f - fixed PHP Warning that occurs when using the getimagesize function with an image from an external source. 2025-04-02 22:23:14 +03:00
Mykyta Synelnikov 1ff60c2c3a Merge pull request #1663 from ultimatemember/fix/1654_additional
Security patch related to the member directory search
2025-04-01 17:54:50 +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 7f586ef47e Update Ultimate Member to version 2.10.2 with filesystem fixes
Introduced `maybe_init_wp_filesystem` for better WP_Filesystem initialization and added new utility methods like `remove_dir`. Improved cache handling and documentation annotations for several methods. These changes enhance file management and ensure smoother integration.
2025-03-18 17:28:15 +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 13fb170740 Merge pull request #1654 from ultimatemember/security/md-search
Security path due to CVE ID: CVE-2025-1702
2025-03-03 16:06:26 +02:00
Mykyta Synelnikov 2f18dccd09 Refactor email activation flow in Ultimate Member.
Improved readability and clarity of the email activation process by updating comments and restructuring conditional checks. Added hooks and filters for better customization, including redirect URL filtering. Replaced `wp_redirect` with `um_safe_redirect` for safer redirection handling.
2025-02-28 14:21:54 +02:00
Mykyta Synelnikov c0d506b199 Merge remote-tracking branch 'origin/development/2.9.x' into fix/activate_account_via_email_link 2025-02-28 13:35:20 +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 d107153244 Refactor profile image handling in Ultimate Member.
Simplified Gravatar image logic and improved code readability by restructuring the image processing flow. Removed redundant variable initialization and adjusted handling of `$image_info`. This ensures cleaner, more maintainable code while preserving existing functionality.
2025-02-28 11:22:24 +02:00
yuriinalivaiko 468c9748fc - fixed image metadata for Gravatar 2025-02-21 13:47:50 +02:00
Mykyta Synelnikov 959bd82cdc Update Ultimate Member plugin honeypot CSS and JS
Removed wp_add_inline_script/style and used `um_request` as default honeypot key in um-styles.css and um-scripts.js.
2025-02-19 12:36:26 +02:00
Mykyta Synelnikov a0d19b7ab6 Simplify honeypot script and inline style logic.
Removed unnecessary condition checks around honeypot script and style injection. Streamlined the code to always enqueue the honeypot logic, improving maintainability and reducing complexity.
2025-02-19 01:03:46 +02:00
yuriinalivaiko 945ed3775a Task CU-86cy0809h
- fixed redirect to the Password Change page after the account activation.
2025-02-14 21:57:47 +02:00