<?php /** * Helper functions to perform various plugins and addons related actions. * * @since 1.8.2.2 */ use WPForms\Requirements\Requirements; /** * Check if addon met requirements. * * @since 1.8.2.2 * * @param array $requirements Addon requirements. * * @return bool */ function wpforms_requirements( array $requirements ): bool { return Requirements::get_instance()->validate( $requirements ); } /** * Determine if an addon is active and passed all requirements. * * @since 1.9.2 * * @param string $addon_slug Addon slug without `wpforms-` prefix. * * @return bool */ function wpforms_is_addon_initialized( string $addon_slug ): bool { $addon_function = 'wpforms_' . str_replace( '-', '_', $addon_slug ); if ( ! function_exists( $addon_function ) ) { return false; } $basename = sprintf( 'wpforms-%1$s/wpforms-%1$s.php', $addon_slug ); return Requirements::get_instance()->is_validated( $basename ); } /** * Check addon requirements and activate addon or plugin. * * @since 1.8.4 * @since 1.9.2 Keep addons active even if they don't meet requirements. * * @param string $plugin Path to the plugin file relative to the plugins' directory. * * @return null|WP_Error Null on success, WP_Error on invalid file. */ function wpforms_activate_plugin( string $plugin ) { $activate = activate_plugin( $plugin ); if ( is_wp_error( $activate ) ) { return $activate; } $requirements = Requirements::get_instance(); if ( $requirements->is_validated( $plugin ) ) { return null; } return new WP_Error( 'wpforms_addon_incompatible', $requirements->get_notice( $plugin ) ); }
Name | Type | Size | Permission | Actions |
---|---|---|---|---|
access.php | File | 9.85 KB | 0644 |
|
checks.php | File | 14.4 KB | 0644 |
|
colors.php | File | 3.97 KB | 0644 |
|
data-presets.php | File | 19.03 KB | 0644 |
|
date-time.php | File | 3.2 KB | 0644 |
|
debug.php | File | 5.23 KB | 0644 |
|
education.php | File | 2.32 KB | 0644 |
|
escape-sanitize.php | File | 13.9 KB | 0644 |
|
filesystem-media.php | File | 6.58 KB | 0644 |
|
form-fields.php | File | 16.51 KB | 0644 |
|
forms.php | File | 12.81 KB | 0644 |
|
list.php | File | 6.88 KB | 0644 |
|
payments.php | File | 21.23 KB | 0644 |
|
plugins.php | File | 1.59 KB | 0644 |
|
privacy.php | File | 2.5 KB | 0644 |
|
providers.php | File | 1.49 KB | 0644 |
|
unused.php | File | 7.76 KB | 0644 |
|
utilities.php | File | 7.96 KB | 0644 |
|