/bws_menu/bws_include.php

  1. <?php 
  2. /** 
  3. * Get latest version 
  4. */ 
  5.  
  6. if ( ! function_exists ( 'bws_include_init' ) ) { 
  7. function bws_include_init( $base, $bws_menu_source = 'plugins' ) { 
  8. global $bstwbsftwppdtplgns_options, $bstwbsftwppdtplgns_added_menu; 
  9. if ( ! function_exists( 'get_plugin_data' ) ) 
  10. require_once( ABSPATH . 'wp-admin/includes/plugin.php' ); 
  11.  
  12. $wp_content_dir = defined( 'WP_CONTENT_DIR' ) ? WP_CONTENT_DIR : ABSPATH . 'wp-content'; 
  13. $wp_plugins_dir = defined( 'WP_PLUGIN_DIR' ) ? WP_PLUGIN_DIR : $wp_content_dir . '/plugins'; 
  14.  
  15. if ( $bws_menu_source == 'plugins' ) { 
  16. $bws_menu_dir = $wp_plugins_dir . '/' . dirname( $base ) . '/bws_menu/bws_menu.php'; 
  17. } else { 
  18. $bws_menu_dir = $wp_content_dir . '/themes/' . $base . '/inc/bws_menu/bws_menu.php'; 
  19.  
  20. $bws_menu_info = get_plugin_data( $bws_menu_dir ); 
  21. $bws_menu_version = $bws_menu_info["Version"]; 
  22.  
  23. if ( ! isset( $bstwbsftwppdtplgns_options ) ) { 
  24. if ( function_exists( 'is_multisite' ) && is_multisite() ) { 
  25. if ( ! get_site_option( 'bstwbsftwppdtplgns_options' ) ) 
  26. add_site_option( 'bstwbsftwppdtplgns_options', array() ); 
  27. $bstwbsftwppdtplgns_options = get_site_option( 'bstwbsftwppdtplgns_options' ); 
  28. } else { 
  29. if ( ! get_option( 'bstwbsftwppdtplgns_options' ) ) 
  30. add_option( 'bstwbsftwppdtplgns_options', array() ); 
  31. $bstwbsftwppdtplgns_options = get_option( 'bstwbsftwppdtplgns_options' ); 
  32.  
  33. if ( isset( $bstwbsftwppdtplgns_options['bws_menu_version'] ) ) { 
  34. $bstwbsftwppdtplgns_options['bws_menu']['version'][ $base ] = $bws_menu_version; 
  35. unset( $bstwbsftwppdtplgns_options['bws_menu_version'] ); 
  36. if ( function_exists( 'is_multisite' ) && is_multisite() ) 
  37. update_site_option( 'bstwbsftwppdtplgns_options', $bstwbsftwppdtplgns_options ); 
  38. else 
  39. update_option( 'bstwbsftwppdtplgns_options', $bstwbsftwppdtplgns_options ); 
  40. require_once( dirname( __FILE__ ) . '/bws_menu.php' ); 
  41. require_once( dirname( __FILE__ ) . '/bws_functions.php' ); 
  42. } else if ( ! isset( $bstwbsftwppdtplgns_options['bws_menu']['version'][ $base ] ) || $bstwbsftwppdtplgns_options['bws_menu']['version'][ $base ] < $bws_menu_version ) { 
  43. $bstwbsftwppdtplgns_options['bws_menu']['version'][ $base ] = $bws_menu_version; 
  44. if ( function_exists( 'is_multisite' ) && is_multisite() ) 
  45. update_site_option( 'bstwbsftwppdtplgns_options', $bstwbsftwppdtplgns_options ); 
  46. else 
  47. update_option( 'bstwbsftwppdtplgns_options', $bstwbsftwppdtplgns_options ); 
  48. require_once( dirname( __FILE__ ) . '/bws_menu.php' ); 
  49. require_once( dirname( __FILE__ ) . '/bws_functions.php' ); 
  50. } else if ( ! isset( $bstwbsftwppdtplgns_added_menu ) ) { 
  51.  
  52. $all_plugins = get_plugins(); 
  53. $all_themes = wp_get_themes(); 
  54.  
  55. foreach ( $bstwbsftwppdtplgns_options['bws_menu']['version'] as $key => $value ) { 
  56. if ( array_key_exists( $key, $all_plugins ) || array_key_exists( $key, $all_themes ) ) { 
  57. if ( $bws_menu_version < $value && ( is_plugin_active( $key ) || preg_match( '|' . $key . '$|', get_template_directory() ) ) ) { 
  58. if ( ! isset( $product_with_newer_menu ) ) 
  59. $product_with_newer_menu = $key; 
  60. elseif ( $bstwbsftwppdtplgns_options['bws_menu']['version'][ $product_with_newer_menu ] < $bstwbsftwppdtplgns_options['bws_menu']['version'][ $key ] ) 
  61. $product_with_newer_menu = $key; 
  62. } else { 
  63. unset( $bstwbsftwppdtplgns_options['bws_menu']['version'][ $key ] ); 
  64. if ( function_exists( 'is_multisite' ) && is_multisite() ) 
  65. update_site_option( 'bstwbsftwppdtplgns_options', $bstwbsftwppdtplgns_options ); 
  66. else 
  67. update_option( 'bstwbsftwppdtplgns_options', $bstwbsftwppdtplgns_options ); 
  68.  
  69. if ( ! isset( $product_with_newer_menu ) ) 
  70. $product_with_newer_menu = $base; 
  71.  
  72. $folder_with_newer_menu = explode( '/', $product_with_newer_menu ); 
  73.  
  74. if ( array_key_exists( $product_with_newer_menu, $all_plugins ) ) { 
  75. $bws_menu_source = 'plugins'; 
  76. $bws_menu_new_dir = $wp_plugins_dir . '/' . $folder_with_newer_menu[0]; 
  77. } else if ( array_key_exists( $product_with_newer_menu, $all_themes ) ) { 
  78. $bws_menu_source = 'themes'; 
  79. $bws_menu_new_dir = $wp_content_dir . '/themes/' . $folder_with_newer_menu[0] . '/inc'; 
  80. } else { 
  81. $bws_menu_new_dir = ''; 
  82.  
  83. if ( file_exists( $bws_menu_new_dir . '/bws_menu/bws_functions.php' ) ) { 
  84. require_once( $bws_menu_new_dir . '/bws_menu/bws_functions.php' ); 
  85. require_once( $bws_menu_new_dir . '/bws_menu/bws_menu.php' ); 
  86. } else { 
  87. require_once( dirname( __FILE__ ) . '/bws_menu.php' ); 
  88. require_once( dirname( __FILE__ ) . '/bws_functions.php' ); 
  89.  
  90. $bstwbsftwppdtplgns_added_menu = true; 
.