'2.0.7',
'followers' => '2.1.6',
'forumwp' => '2.0.4',
'friends' => '2.1.4',
'frontend-posting' => '1.0.0',
'google-authenticator' => '1.0.0',
'groups' => '2.1.7',
'instagram' => '2.0.5',
'jobboardwp' => '1.0.0',
'mailchimp' => '2.2.0',
'messaging' => '2.2.5',
'mycred' => '2.1.6',
'notices' => '2.0.5',
'notifications' => '2.1.3',
'online' => '2.1.1',
'private-content' => '2.0.5',
'profile-completeness' => '2.1.2',
'profile-tabs' => '1.0.0',
'recaptcha' => '2.1.2',
'reviews' => '2.1.5',
'social-activity' => '2.2.0',
'social-login' => '2.2.0',
'terms-conditions' => '2.1.1',
'unsplash' => '2.0.2',
'user-bookmarks' => '2.0.2',
'user-locations' => '1.0.0',
'user-notes' => '1.0.0',
'user-photos' => '2.0.4',
'user-tags' => '2.1.0',
'verified-users' => '2.0.5',
'woocommerce' => '2.1.9',
/*????*/
'restrict-content' => '2.0',
/*alpha*/
'user-exporter' => '1.0.0',
/*in development*/
'filesharing' => '1.0.0',
'beaver-builder' => '2.0',
'user-events' => '1.0.0',
);
/**
* Get all active plugins
*/
public static function init() {
self::$active_plugins = (array) get_option( 'active_plugins', array() );
if ( is_multisite() )
self::$active_plugins = array_merge( self::$active_plugins, get_site_option( 'active_sitewide_plugins', array() ) );
}
/**
* @return mixed
*/
public function get_active_plugins() {
if ( ! self::$active_plugins ) self::init();
return self::$active_plugins;
}
/**
* Check if UltimateMember core plugin is active
*
* @return bool
*/
public static function ultimatemember_active_check() {
if ( ! self::$active_plugins ) self::init();
return in_array( 'ultimate-member/ultimate-member.php', self::$active_plugins ) || array_key_exists( 'ultimate-member/ultimate-member.php', self::$active_plugins );
}
/**
* Check if bbPress plugin is active
*
* @return bool
*/
public static function bbpress_active_check() {
if ( ! self::$active_plugins ) self::init();
return in_array( 'bbpress/bbpress.php', self::$active_plugins ) || array_key_exists( 'bbpress/bbpress.php', self::$active_plugins );
}
/**
* Check if ForumWP plugin is active
*
* @return bool
*/
public static function forumwp_active_check() {
if ( ! self::$active_plugins ) self::init();
return in_array( 'forumwp/forumwp.php', self::$active_plugins ) || array_key_exists( 'forumwp/forumwp.php', self::$active_plugins );
}
/**
* Check if JobBoardWP plugin is active
*
* @return bool
*/
public static function jobboardwp_active_check() {
if ( ! self::$active_plugins ) self::init();
return in_array( 'jobboardwp/jobboardwp.php', self::$active_plugins ) || array_key_exists( 'jobboardwp/jobboardwp.php', self::$active_plugins );
}
/**
* Check if myCRED plugin is active
*
* @return bool
*/
public static function mycred_active_check() {
if ( ! self::$active_plugins ) self::init();
return in_array( 'mycred/mycred.php', self::$active_plugins ) || array_key_exists( 'mycred/mycred.php', self::$active_plugins );
}
/**
* Check if Woocommerce plugin is active
*
* @return bool
*/
public static function woocommerce_active_check() {
if ( ! self::$active_plugins ) self::init();
return in_array( 'woocommerce/woocommerce.php', self::$active_plugins ) || array_key_exists( 'woocommerce/woocommerce.php', self::$active_plugins );
}
/**
* Compare UM core and extension versions
*
* @param string $um_required_ver
* @param string $ext_ver
* @param string $ext_key
* @param string $ext_title
* @return bool
*/
public function compare_versions( $um_required_ver, $ext_ver, $ext_key, $ext_title ) {
if ( version_compare( ultimatemember_version, $um_required_ver, '<' )
|| empty( $this->ext_required_version[$ext_key] )
|| version_compare( $this->ext_required_version[$ext_key], $ext_ver, '>' ) ) {
$message = '';
if ( version_compare( ultimatemember_version, $um_required_ver, '<' ) ) {
$message = sprintf( __( 'This version of "%s" requires the core %s plugin to be %s or higher.', 'ultimate-member' ), $ext_title, ultimatemember_plugin_name, $um_required_ver ) .
'
' .
sprintf( __( 'Please update %s to the latest version.', 'ultimate-member' ), ultimatemember_plugin_name );
} elseif ( empty( $this->ext_required_version[$ext_key] ) || version_compare( $this->ext_required_version[$ext_key], $ext_ver, '>' ) ) {
$message = sprintf( __( 'Sorry, but this version of %s does not work with extension "%s" %s version.', 'ultimate-member' ), ultimatemember_plugin_name, $ext_title, $ext_ver ) .
'
' .
sprintf( __( 'Please update extension "%s" to the latest version.', 'ultimate-member' ), $ext_title );
}
return $message;
} else {
//check correct folder name for extensions
if ( ! self::$active_plugins ) self::init();
if ( ! in_array( "um-{$ext_key}/um-{$ext_key}.php", self::$active_plugins ) && ! array_key_exists( "um-{$ext_key}/um-{$ext_key}.php", self::$active_plugins ) ) {
$message = sprintf( __( 'Please check "%s" %s extension\'s folder name.', 'ultimate-member' ), $ext_title, $ext_ver ) .
'
' .
sprintf( __( 'Correct folder name is "%s"', 'ultimate-member' ), "um-{$ext_key}" );
return $message;
}
}
return true;
}
/**
* @param string $extension_version Extension version
* @return mixed
*/
public static function php_version_check( $extension_version ) {
return version_compare( phpversion(), $extension_version, '>=' );
}
}
}
if ( ! function_exists( 'is_um_active' ) ) {
/**
* Check UltimateMember core is active
*
* @return bool active - true | inactive - false
*/
function is_um_active() {
return Dependencies::ultimatemember_active_check();
}
}