diff -r 3d4e9c994f10 -r a86126ab1dd4 wp/wp-content/plugins/portfolio/bws_menu/bws_include.php --- a/wp/wp-content/plugins/portfolio/bws_menu/bws_include.php Tue Oct 22 16:11:46 2019 +0200 +++ b/wp/wp-content/plugins/portfolio/bws_menu/bws_include.php Tue Dec 15 13:49:49 2020 +0100 @@ -3,7 +3,7 @@ * Get latest version */ -if ( ! function_exists ( 'bws_include_init' ) ) { +if ( ! function_exists( 'bws_include_init' ) ) { function bws_include_init( $base, $bws_menu_source = 'plugins' ) { global $bstwbsftwppdtplgns_options, $bstwbsftwppdtplgns_added_menu, $bstwbsftwppdtplgns_active_plugins; if ( ! function_exists( 'get_plugin_data' ) ) @@ -20,7 +20,9 @@ } $bws_menu_info = get_plugin_data( $bws_menu_dir ); - $bws_menu_version = $bws_menu_info["Version"]; + + $is_pro_bws_menu = ( strpos( $bws_menu_info["Version"], 'pro' ) !== false ); + $bws_menu_version = str_replace( '-pro', '', $bws_menu_info["Version"] ); if ( ! isset( $bstwbsftwppdtplgns_options ) ) { if ( function_exists( 'is_multisite' ) && is_multisite() ) { @@ -43,7 +45,8 @@ update_option( 'bstwbsftwppdtplgns_options', $bstwbsftwppdtplgns_options ); require_once( dirname( __FILE__ ) . '/bws_menu.php' ); require_once( dirname( __FILE__ ) . '/bws_functions.php' ); - } else if ( ! isset( $bstwbsftwppdtplgns_options['bws_menu']['version'][ $base ] ) || $bstwbsftwppdtplgns_options['bws_menu']['version'][ $base ] < $bws_menu_version ) { + require_once( dirname( __FILE__ ) . '/class-bws-settings.php' ); + } else if ( ! $is_pro_bws_menu && ( ! isset( $bstwbsftwppdtplgns_options['bws_menu']['version'][ $base ] ) || $bstwbsftwppdtplgns_options['bws_menu']['version'][ $base ] != $bws_menu_version ) ) { $bstwbsftwppdtplgns_options['bws_menu']['version'][ $base ] = $bws_menu_version; if ( function_exists( 'is_multisite' ) && is_multisite() ) update_site_option( 'bstwbsftwppdtplgns_options', $bstwbsftwppdtplgns_options ); @@ -51,25 +54,64 @@ update_option( 'bstwbsftwppdtplgns_options', $bstwbsftwppdtplgns_options ); require_once( dirname( __FILE__ ) . '/bws_menu.php' ); require_once( dirname( __FILE__ ) . '/bws_functions.php' ); + require_once( dirname( __FILE__ ) . '/class-bws-settings.php' ); + } else if ( $is_pro_bws_menu && ( ! isset( $bstwbsftwppdtplgns_options['bws_menu']['version_pro'][ $base ] ) || $bstwbsftwppdtplgns_options['bws_menu']['version_pro'][ $base ] != $bws_menu_version ) ) { + $bstwbsftwppdtplgns_options['bws_menu']['version_pro'][ $base ] = $bws_menu_version; + + if ( isset( $bstwbsftwppdtplgns_options['bws_menu']['version'][ $base ] ) ) + unset( $bstwbsftwppdtplgns_options['bws_menu']['version'][ $base ] ); + + if ( function_exists( 'is_multisite' ) && is_multisite() ) + update_site_option( 'bstwbsftwppdtplgns_options', $bstwbsftwppdtplgns_options ); + else + update_option( 'bstwbsftwppdtplgns_options', $bstwbsftwppdtplgns_options ); + require_once( dirname( __FILE__ ) . '/bws_menu.php' ); + require_once( dirname( __FILE__ ) . '/bws_functions.php' ); + require_once( dirname( __FILE__ ) . '/class-bws-settings.php' ); } else if ( ! isset( $bstwbsftwppdtplgns_added_menu ) ) { $all_plugins = get_plugins(); $all_themes = wp_get_themes(); - foreach ( $bstwbsftwppdtplgns_options['bws_menu']['version'] as $key => $value ) { - if ( array_key_exists( $key, $all_plugins ) || array_key_exists( $key, $all_themes ) ) { - if ( $bws_menu_version < $value && ( is_plugin_active( $key ) || preg_match( '|' . $key . '$|', get_template_directory() ) ) ) { - if ( ! isset( $product_with_newer_menu ) ) - $product_with_newer_menu = $key; - elseif ( $bstwbsftwppdtplgns_options['bws_menu']['version'][ $product_with_newer_menu ] < $bstwbsftwppdtplgns_options['bws_menu']['version'][ $key ] ) - $product_with_newer_menu = $key; + if ( ! empty( $bstwbsftwppdtplgns_options['bws_menu']['version_pro'] ) ) { + foreach ( $bstwbsftwppdtplgns_options['bws_menu']['version_pro'] as $key => $value ) { + if ( array_key_exists( $key, $all_plugins ) || array_key_exists( $key, $all_themes ) ) { + if ( $bws_menu_version < $value && ( is_plugin_active( $key ) || preg_match( '|' . $key . '$|', get_template_directory() ) ) ) { + if ( ! isset( $product_with_newer_menu ) ) + $product_with_newer_menu = $key; + elseif ( $bstwbsftwppdtplgns_options['bws_menu']['version_pro'][ $product_with_newer_menu ] < $bstwbsftwppdtplgns_options['bws_menu']['version_pro'][ $key ] ) + $product_with_newer_menu = $key; + } + } else { + unset( $bstwbsftwppdtplgns_options['bws_menu']['version_pro'][ $key ] ); + if ( function_exists( 'is_multisite' ) && is_multisite() ) + update_site_option( 'bstwbsftwppdtplgns_options', $bstwbsftwppdtplgns_options ); + else + update_option( 'bstwbsftwppdtplgns_options', $bstwbsftwppdtplgns_options ); } + } + } + + if ( ! isset( $product_with_newer_menu ) ) { + if ( $is_pro_bws_menu ) { + $product_with_newer_menu = $base; } else { - unset( $bstwbsftwppdtplgns_options['bws_menu']['version'][ $key ] ); - if ( function_exists( 'is_multisite' ) && is_multisite() ) - update_site_option( 'bstwbsftwppdtplgns_options', $bstwbsftwppdtplgns_options ); - else - update_option( 'bstwbsftwppdtplgns_options', $bstwbsftwppdtplgns_options ); + foreach ( $bstwbsftwppdtplgns_options['bws_menu']['version'] as $key => $value ) { + if ( array_key_exists( $key, $all_plugins ) || array_key_exists( $key, $all_themes ) ) { + if ( $bws_menu_version < $value && ( is_plugin_active( $key ) || preg_match( '|' . $key . '$|', get_template_directory() ) ) ) { + if ( ! isset( $product_with_newer_menu ) ) + $product_with_newer_menu = $key; + elseif ( $bstwbsftwppdtplgns_options['bws_menu']['version'][ $product_with_newer_menu ] < $bstwbsftwppdtplgns_options['bws_menu']['version'][ $key ] ) + $product_with_newer_menu = $key; + } + } else { + unset( $bstwbsftwppdtplgns_options['bws_menu']['version'][ $key ] ); + if ( function_exists( 'is_multisite' ) && is_multisite() ) + update_site_option( 'bstwbsftwppdtplgns_options', $bstwbsftwppdtplgns_options ); + else + update_option( 'bstwbsftwppdtplgns_options', $bstwbsftwppdtplgns_options ); + } + } } } @@ -91,9 +133,11 @@ if ( file_exists( $bws_menu_new_dir . '/bws_menu/bws_functions.php' ) ) { require_once( $bws_menu_new_dir . '/bws_menu/bws_functions.php' ); require_once( $bws_menu_new_dir . '/bws_menu/bws_menu.php' ); + require_once( $bws_menu_new_dir . '/bws_menu/class-bws-settings.php' ); } else { require_once( dirname( __FILE__ ) . '/bws_menu.php' ); require_once( dirname( __FILE__ ) . '/bws_functions.php' ); + require_once( dirname( __FILE__ ) . '/class-bws-settings.php' ); } $bstwbsftwppdtplgns_added_menu = true;