| Server IP : 8.134.250.228 / Your IP : 216.73.217.39 Web Server : Apache System : Linux iZ7xv33p9e9ivk7yhmj7ibZ 5.10.134-18.al8.x86_64 #1 SMP Fri Dec 13 16:56:53 CST 2024 x86_64 User : www ( 1000) PHP Version : 8.0.26 Disable Function : passthru,exec,system,putenv,chroot,chgrp,chown,shell_exec,popen,proc_open,pcntl_exec,ini_alter,ini_restore,dl,openlog,syslog,readlink,symlink,popepassthru,pcntl_alarm,pcntl_fork,pcntl_waitpid,pcntl_wait,pcntl_wifexited,pcntl_wifstopped,pcntl_wifsignaled,pcntl_wifcontinued,pcntl_wexitstatus,pcntl_wtermsig,pcntl_wstopsig,pcntl_signal,pcntl_signal_dispatch,pcntl_get_last_error,pcntl_strerror,pcntl_sigprocmask,pcntl_sigwaitinfo,pcntl_sigtimedwait,pcntl_exec,pcntl_getpriority,pcntl_setpriority,imap_open,apache_setenv MySQL : OFF | cURL : ON | WGET : OFF | Perl : OFF | Python : OFF | Sudo : OFF | Pkexec : OFF Directory : /www/wwwroot/www.gobluemade.com/wp-content/plugins/wpforms-lite/includes/functions/ |
Upload File : |
<?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 {
$basename = sprintf( 'wpforms-%1$s/wpforms-%1$s.php', $addon_slug );
if ( is_multisite() ) {
$active_plugins = (array) get_option( 'active_plugins', [] );
if ( in_array( $basename, $active_plugins, true ) ) {
return true;
}
}
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 ) );
}
/**
* Compares two "PHP-standardized" version number strings.
*
* Removes any "-RCn", "-beta" from version numbers first.
*
* @since 1.9.4
*
* @param string $version1 Version number.
* @param string $version2 Version number.
* @param string $operator Comparison operator.
*
* @return bool
*/
function wpforms_version_compare( $version1, $version2, $operator ): bool {
// If the version is not a string, return false.
if ( ! is_string( $version1 ) || ! is_string( $version2 ) ) {
return false;
}
// Strip dash and anything after it.
$clean_version_number = function ( $version ) {
return preg_replace( '/-.+/', '', $version );
};
return version_compare(
$clean_version_number( $version1 ),
$clean_version_number( $version2 ),
$operator
);
}