985 Commits

Author SHA1 Message Date
Mykyta Synelnikov 57ab92ab70 Fix security vulnerabilities, enhance validation, and update logic
Addressed several security issues including CVE-2025-15064 and CVE-2026-1404. Added server-side validation for forms and introduced hooks for email confirmation. Adjusted template handling, resolved mobile display issues, and updated Site Health debug information.
2026-02-09 11:19:11 +02:00
Mykyta Synelnikov 4a5d502a3a Merge pull request #1778 from ultimatemember/fix/site-health-form-register
Wrong info about registration form settings in the Site Health.
2026-02-09 10:31:38 +02:00
yuriinalivaiko b1a5153d5f Fixed the "Allowed roles" setting in the member directory 2026-02-06 15:36:21 +02:00
yuriinalivaiko 11ee024bfd Fixed "User registration role" and "Template" in the site health info for registration forms 2026-01-21 20:36:19 +02:00
Mykyta Synelnikov b0805ce468 Add privacy options and rate limiting in Member Directory
Introduced 'Privacy Options' to control visibility of the Member Directory and a rate limiting feature for nopriv AJAX actions. Fixed multiple security issues (CVE-2025-13220, CVE-2025-13217, CVE-2025-14081, CVE-2025-12492) by improving attribute handling, input sanitization, and adding privacy settings. Updated templates include members.php, members-grid.php, and members-list.php.
2025-12-16 17:47:30 +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 24bb2fd9e9 Merge pull request #1761 from ultimatemember/fix/check_empty_response
Fix license validation retries and add improved error logging
2025-11-18 13:10:18 +02:00
Mykyta Synelnikov 47f29436f0 Fix default value for role metadata retrieval
Ensure `get_option` returns an empty array as a fallback to prevent errors when metadata for a role does not exist. This resolves potential issues with undefined or unexpected data during role editing.
2025-11-12 18:16:25 +02:00
yuriinalivaiko 42c5ed7b2b - corrected a typo in the warning text 2025-11-03 20:18:33 +02:00
Mykyta Synelnikov fb3a296fc8 Add debug mode for extensions updater
Introduced the `UM_UPDATER_DEBUG` constant to enable debugging for upgrade packages. This facilitates easier troubleshooting and testing during update processes.
2025-11-03 17:58:53 +02:00
Mykyta Synelnikov c2da11ff0a Refactor extension updater to use multiple hooks.
Updated the `package_start` method to define separate hooks for 'start' and 'complete' package lifecycle events. This improves code clarity and prepares the updater for handling more specific actions in the future.
2025-11-03 17:06:31 +02:00
Mykyta Synelnikov a25153e347 Add support for processing extension updates in batches
Introduced batch processing for extension updates with package start and complete hooks, preventing duplicate actions via transient flags. Added constants for configuration and helper methods to manage package version state effectively. Ensures smoother upgrade handling for Ultimate Member extensions.
2025-10-31 01:26:42 +02:00
Mykyta Synelnikov 796eb46f87 Fix license validation retries and add improved error logging
Previously, requests on license validation did not adequately handle empty responses or WP errors. This update ensures retries are performed with `sslverify=true` in such cases and enhances debug logging to provide clearer error details for troubleshooting.
2025-10-28 22:06:48 +02:00
Mykyta Synelnikov 1e30027605 Add license request debugging functionality
Introduced a new method `is_license_debug_enabled` to check debug conditions and added extensive logging for license requests when debugging is enabled. A new constant `UM_LICENSE_REQUEST_DEBUG` was also defined to control debug mode. These changes enhance visibility into license request handling during development or troubleshooting.
2025-09-27 10:49:10 +03:00
Mykyta Synelnikov e26bd8eafb Fix default page creation check in admin form logic
Updated logic to handle the 'predefined' field flag when determining default page creation. This ensures buttons for creating default pages only appear under the correct conditions, improving reliability and consistency.
2025-09-17 15:37:13 +03:00
Mykyta Synelnikov 39b3b3873e Add new sanitization cases for array-based input validation
Introduced 'sanitize_array_key_int' and 'sanitize_array_key' cases to enhance sanitization of array-based input in admin settings. This ensures default values are used for invalid keys and enforces stricter validation for cleaner and more secure input handling.
2025-09-08 23:20:59 +03:00
ashubawork 4522e6d64c - fix fatal error 2.0-beta1 package update 2025-07-30 13:09:54 +03:00
Mykyta Synelnikov 976c0c75e2 Add Extensions_Updater class for handling extension updates
Introduced a new `Extensions_Updater` class to manage extension update processes, including version checks and file execution. Added a corresponding `extension_updater` method in `class-admin.php` to initialize and manage updater instances based on provided data.
2025-07-07 13:04:19 +03:00
Mykyta Synelnikov 524670ad53 Merge pull request #1683 from ultimatemember/fix/sitehealth
Sitehealth
2025-06-24 16:56:38 +03:00
Mykyta Synelnikov d2dcfb645a Refactor debug information structure across plugins
Updated the structure of debug information methods by replacing `array_merge` with simpler array extensions and renaming variables for clarity. This ensures consistent handling of role metadata and improves readability and maintainability of code across multiple plugins.
2025-06-24 16:42:20 +03:00
Mykyta Synelnikov 032119a8ce Refactor batch action scheduling for account status updates (#1692)
Updated batch action logic to utilize correct constants and ensure proper scheduling. Added fallback scheduling logic in admin notices to address unscheduled batch actions and improve reliability.
2025-06-18 15:17:19 +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 c347d8bcf7 - wpcs fixes 2025-04-30 11:07:22 +03:00
ashubawork ccbce2f663 - small fix 2025-04-30 10:36:52 +03:00
ashubawork 7bca143d50 - forms sitehealth 2025-04-30 10:36:24 +03:00
ashubawork 9b8365acb0 - roles, directories sitehealth 2025-04-29 15:14:28 +03:00
ashubawork a52954e8ae - access, appearance, emails sitehealth 2025-04-28 13:33:22 +03:00
ashubawork 004cfd12cd - fix general sitehealth 2025-04-25 12:42:42 +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 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 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 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 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
ashubawork 8ef597ad74 - fix banned fields and site health status 2025-04-14 14:21:41 +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
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
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 0c183594b1 Update Ultimate Member to version 2.10.0
Bump plugin version to 2.10.0, update documentation, and adjust URLs and metadata accordingly. This release includes increased minimum PHP and WordPress requirements and addresses security-related issues. Users are strongly advised to update immediately.
2025-02-13 11:28:28 +02:00
Mykyta Synelnikov 2c01e25b5c Enhance form preview options and improve code consistency
Added separate buttons for 'Live Preview Screen' and 'Live Preview Mobile' in the form builder for better user experience. Updated coding standards for consistency, including proper handling of PHP tags and escaping functions. These changes improve readability, maintainability, and enhance functionality.

Issue #1646
2025-02-12 18:44:46 +02:00
Mykyta Synelnikov aadad09ea9 Fix spacing for query arguments in action listener.
Adjusted spacing for better code readability and consistency in the query arguments within the class-actions-listener.php file. This change ensures the code aligns with coding standards without affecting functionality.
2025-02-12 18:26:37 +02:00
Mykyta Synelnikov 3ada6c71d9 Update PHP requirement and improve user action handling
Raised minimum PHP version to 7.0 and finalized the plugin version to 2.9.3. Introduced a centralized user actions array and replaced 'manage_options' capability with 'edit_users' for better permission handling. Optimized the nonce actions extension method for cleaner code.

* reviewed #1619
2025-02-12 18:25:26 +02:00
Mykyta Synelnikov 38593400ba Merge pull request #1644 from ultimatemember/fix/updates-request
Fixes updates request
2025-02-12 17:16:56 +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 a760a6242e * updated requests to site URL;
* WPCS;
2025-01-31 15:19:28 +02:00