PluginProbe
PDF & Print by BestWebSoft – WordPress Posts and Pages PDF Generator Plugin / trunk
PDF & Print by BestWebSoft – WordPress Posts and Pages PDF Generator Plugin vtrunk
trunk 1.5 1.6 1.7 1.7.1 1.7.2 1.7.3 1.7.4 1.7.5 1.7.6 1.7.7 1.7.8 1.7.9 1.8.0 1.8.1 1.8.2 1.8.3 1.8.4 1.8.5 1.8.6 1.8.7 1.8.8 1.8.9 1.9.0 1.9.1 All 71 releases
pdf-print / bws_menu / bws_include.php

bws_include.php in PDF & Print by BestWebSoft – WordPress Posts and Pages PDF Generator Plugin trunk, at bws_menu/bws_include.php

165 lines 7.4 KB
No matching file
Up and down to move Enter to open Esc to close
Raw Download Zip
1 <?php
2 if ( ! defined( 'ABSPATH' ) ) {
3 exit;
4 }
5
6 if ( ! function_exists( 'bws_include_init' ) ) {
7 /**
8 * Get latest version
9 *
10 * @param string $base Base name for plugin.
11 * @param string $bws_menu_source BWS product.
12 */
13 function bws_include_init( $base, $bws_menu_source = 'plugins' ) {
14 global $bstwbsftwppdtplgns_options, $bstwbsftwppdtplgns_added_menu, $bstwbsftwppdtplgns_active_plugins;
15 if ( ! function_exists( 'get_plugin_data' ) ) {
16 require_once ABSPATH . 'wp-admin/includes/plugin.php';
17 }
18
19 $wp_content_dir = defined( 'WP_CONTENT_DIR' ) ? WP_CONTENT_DIR : ABSPATH . 'wp-content';
20 $wp_plugins_dir = defined( 'WP_PLUGIN_DIR' ) ? WP_PLUGIN_DIR : $wp_content_dir . '/plugins';
21
22 if ( 'plugins' === $bws_menu_source ) {
23 $bws_menu_dir = $wp_plugins_dir . '/' . dirname( $base ) . '/bws_menu/bws_menu.php';
24 $bstwbsftwppdtplgns_active_plugins[ $base ] = get_plugin_data( $wp_plugins_dir . '/' . $base );
25 } else {
26 $bws_menu_dir = $wp_content_dir . '/themes/' . $base . '/inc/bws_menu/bws_menu.php';
27 }
28
29 $bws_menu_info = get_plugin_data( $bws_menu_dir );
30
31 $is_pro_bws_menu = ( strpos( $bws_menu_info['Version'], 'pro' ) !== false );
32 $bws_menu_version = str_replace( '-pro', '', $bws_menu_info['Version'] );
33
34 if ( ! isset( $bstwbsftwppdtplgns_options ) ) {
35 if ( function_exists( 'is_multisite' ) && is_multisite() ) {
36 if ( ! get_site_option( 'bstwbsftwppdtplgns_options' ) ) {
37 add_site_option( 'bstwbsftwppdtplgns_options', array() );
38 }
39 $bstwbsftwppdtplgns_options = get_site_option( 'bstwbsftwppdtplgns_options' );
40 } else {
41 if ( ! get_option( 'bstwbsftwppdtplgns_options' ) ) {
42 add_option( 'bstwbsftwppdtplgns_options', array() );
43 }
44 $bstwbsftwppdtplgns_options = get_option( 'bstwbsftwppdtplgns_options' );
45 }
46 }
47
48 if ( isset( $bstwbsftwppdtplgns_options['bws_menu_version'] ) ) {
49 $bstwbsftwppdtplgns_options['bws_menu']['version'][ $base ] = $bws_menu_version;
50 unset( $bstwbsftwppdtplgns_options['bws_menu_version'] );
51 if ( function_exists( 'is_multisite' ) && is_multisite() ) {
52 update_site_option( 'bstwbsftwppdtplgns_options', $bstwbsftwppdtplgns_options );
53 } else {
54 update_option( 'bstwbsftwppdtplgns_options', $bstwbsftwppdtplgns_options );
55 }
56 require_once dirname( __FILE__ ) . '/bws_menu.php';
57 require_once dirname( __FILE__ ) . '/bws_functions.php';
58 require_once dirname( __FILE__ ) . '/class-bws-settings.php';
59 } elseif ( ! $is_pro_bws_menu && ( ! isset( $bstwbsftwppdtplgns_options['bws_menu']['version'][ $base ] ) || $bstwbsftwppdtplgns_options['bws_menu']['version'][ $base ] !== $bws_menu_version ) ) {
60 $bstwbsftwppdtplgns_options['bws_menu']['version'][ $base ] = $bws_menu_version;
61 if ( function_exists( 'is_multisite' ) && is_multisite() ) {
62 update_site_option( 'bstwbsftwppdtplgns_options', $bstwbsftwppdtplgns_options );
63 } else {
64 update_option( 'bstwbsftwppdtplgns_options', $bstwbsftwppdtplgns_options );
65 }
66 require_once dirname( __FILE__ ) . '/bws_menu.php';
67 require_once dirname( __FILE__ ) . '/bws_functions.php';
68 require_once dirname( __FILE__ ) . '/class-bws-settings.php';
69 } elseif ( $is_pro_bws_menu && ( ! isset( $bstwbsftwppdtplgns_options['bws_menu']['version_pro'][ $base ] ) || $bstwbsftwppdtplgns_options['bws_menu']['version_pro'][ $base ] !== $bws_menu_version ) ) {
70 $bstwbsftwppdtplgns_options['bws_menu']['version_pro'][ $base ] = $bws_menu_version;
71
72 if ( isset( $bstwbsftwppdtplgns_options['bws_menu']['version'][ $base ] ) ) {
73 unset( $bstwbsftwppdtplgns_options['bws_menu']['version'][ $base ] );
74 }
75
76 if ( function_exists( 'is_multisite' ) && is_multisite() ) {
77 update_site_option( 'bstwbsftwppdtplgns_options', $bstwbsftwppdtplgns_options );
78 } else {
79 update_option( 'bstwbsftwppdtplgns_options', $bstwbsftwppdtplgns_options );
80 }
81 require_once dirname( __FILE__ ) . '/bws_menu.php';
82 require_once dirname( __FILE__ ) . '/bws_functions.php';
83 require_once dirname( __FILE__ ) . '/class-bws-settings.php';
84 } elseif ( ! isset( $bstwbsftwppdtplgns_added_menu ) ) {
85
86 $all_plugins = get_plugins();
87 $all_themes = wp_get_themes();
88
89 if ( ! empty( $bstwbsftwppdtplgns_options['bws_menu']['version_pro'] ) ) {
90 foreach ( $bstwbsftwppdtplgns_options['bws_menu']['version_pro'] as $key => $value ) {
91 if ( array_key_exists( $key, $all_plugins ) || array_key_exists( $key, $all_themes ) ) {
92 if ( $bws_menu_version <= $value && ( is_plugin_active( $key ) || preg_match( '|' . $key . '$|', get_template_directory() ) ) ) {
93 if ( ! isset( $product_with_newer_menu ) ) {
94 $product_with_newer_menu = $key;
95 } elseif ( $bstwbsftwppdtplgns_options['bws_menu']['version_pro'][ $product_with_newer_menu ] <= $bstwbsftwppdtplgns_options['bws_menu']['version_pro'][ $key ] ) {
96 $product_with_newer_menu = $key;
97 }
98 }
99 } else {
100 unset( $bstwbsftwppdtplgns_options['bws_menu']['version_pro'][ $key ] );
101 if ( function_exists( 'is_multisite' ) && is_multisite() ) {
102 update_site_option( 'bstwbsftwppdtplgns_options', $bstwbsftwppdtplgns_options );
103 } else {
104 update_option( 'bstwbsftwppdtplgns_options', $bstwbsftwppdtplgns_options );
105 }
106 }
107 }
108 }
109
110 if ( ! isset( $product_with_newer_menu ) ) {
111 if ( $is_pro_bws_menu ) {
112 $product_with_newer_menu = $base;
113 } else {
114 foreach ( $bstwbsftwppdtplgns_options['bws_menu']['version'] as $key => $value ) {
115 if ( array_key_exists( $key, $all_plugins ) || array_key_exists( $key, $all_themes ) ) {
116 if ( $bws_menu_version <= $value && ( is_plugin_active( $key ) || preg_match( '|' . $key . '$|', get_template_directory() ) ) ) {
117 if ( ! isset( $product_with_newer_menu ) ) {
118 $product_with_newer_menu = $key;
119 } elseif ( $bstwbsftwppdtplgns_options['bws_menu']['version'][ $product_with_newer_menu ] <= $bstwbsftwppdtplgns_options['bws_menu']['version'][ $key ] ) {
120 $product_with_newer_menu = $key;
121 }
122 }
123 } else {
124 unset( $bstwbsftwppdtplgns_options['bws_menu']['version'][ $key ] );
125 if ( function_exists( 'is_multisite' ) && is_multisite() ) {
126 update_site_option( 'bstwbsftwppdtplgns_options', $bstwbsftwppdtplgns_options );
127 } else {
128 update_option( 'bstwbsftwppdtplgns_options', $bstwbsftwppdtplgns_options );
129 }
130 }
131 }
132 }
133 }
134
135 if ( ! isset( $product_with_newer_menu ) ) {
136 $product_with_newer_menu = $base;
137 }
138
139 $folder_with_newer_menu = explode( '/', $product_with_newer_menu );
140
141 if ( array_key_exists( $product_with_newer_menu, $all_plugins ) ) {
142 $bws_menu_source = 'plugins';
143 $bws_menu_new_dir = $wp_plugins_dir . '/' . $folder_with_newer_menu[0];
144 } elseif ( array_key_exists( $product_with_newer_menu, $all_themes ) ) {
145 $bws_menu_source = 'themes';
146 $bws_menu_new_dir = $wp_content_dir . '/themes/' . $folder_with_newer_menu[0] . '/inc';
147 } else {
148 $bws_menu_new_dir = '';
149 }
150
151 if ( file_exists( $bws_menu_new_dir . '/bws_menu/bws_functions.php' ) ) {
152 require_once $bws_menu_new_dir . '/bws_menu/bws_functions.php';
153 require_once $bws_menu_new_dir . '/bws_menu/bws_menu.php';
154 require_once $bws_menu_new_dir . '/bws_menu/class-bws-settings.php';
155 } else {
156 require_once dirname( __FILE__ ) . '/bws_menu.php';
157 require_once dirname( __FILE__ ) . '/bws_functions.php';
158 require_once dirname( __FILE__ ) . '/class-bws-settings.php';
159 }
160
161 $bstwbsftwppdtplgns_added_menu = true;
162 }
163 }
164 }
165