PluginProbe
Responsive Menu – Create Mobile-Friendly Menu / trunk
Responsive Menu – Create Mobile-Friendly Menu vtrunk
4.7.3 3.1.5 3.1.6 3.1.7 3.1.8 3.1.9 4.0.0 4.0.1 4.0.2 4.0.3 4.0.4 4.1.0 4.1.1 4.1.10 4.1.11 4.1.12 4.1.2 4.1.3 4.1.4 4.1.5 4.1.6 4.1.7 4.1.8 4.1.9 4.2.0 All 90 releases
responsive-menu / responsive-menu.php

responsive-menu.php in Responsive Menu – Create Mobile-Friendly Menu trunk, at responsive-menu.php

201 lines 5.3 KB
No matching file
Up and down to move Enter to open Esc to close
Raw Download Zip
1 <?php
2
3 /*
4 Plugin Name: Responsive Menu
5 Plugin URI: https://expresstech.io
6 Description: Highly Customisable Responsive Menu Plugin for WordPress
7 Version: 4.7.3
8 Author: ExpressTech
9 Text Domain: responsive-menu
10 Author URI: https://responsive.menu
11 License: GPL2
12 Tags: responsive, menu, responsive menu, mega menu, max mega menu, max menu
13 */
14
15 /**
16 * Constant as plugin version.
17 */
18 if ( ! defined( 'RMP_PLUGIN_VERSION' ) ) {
19 define( 'RMP_PLUGIN_VERSION', '4.7.3' );
20 }
21
22 define( 'RESPONSIVE_MENU_URL', plugin_dir_url( __FILE__ ) );
23
24 /**
25 * Minimum PHP version. The bundled scssphp library uses nullable type
26 * declarations (`?Type $arg = null`), which are a parse error before PHP 7.1.
27 * Keep this in sync with `Requires PHP` in readme.txt.
28 */
29 if ( ! defined( 'RMP_MINIMUM_PHP_VERSION' ) ) {
30 define( 'RMP_MINIMUM_PHP_VERSION', '7.1' );
31 }
32
33 add_action( 'admin_init', 'check_responsive_menu_php_version' );
34 function check_responsive_menu_php_version() {
35 if ( version_compare( PHP_VERSION, RMP_MINIMUM_PHP_VERSION, '<' ) ) :
36 add_action( 'admin_notices', 'responsive_menu_deactivation_text' );
37 deactivate_plugins( plugin_basename( __FILE__ ) );
38 endif;
39 }
40
41 function responsive_menu_deactivation_text() {
42 echo '<div class="' . esc_attr( 'error' ) . '"><p>' . sprintf(
43 'Responsive Menu requires PHP %1$s or higher to function and has therefore been automatically disabled.
44 You are still on %2$s.%3$sPlease speak to your web host about upgrading your PHP version.',
45 esc_html( RMP_MINIMUM_PHP_VERSION ),
46 PHP_VERSION,
47 '<br /><br />'
48 ) . '</p></div>';
49 }
50
51 if ( version_compare( PHP_VERSION, RMP_MINIMUM_PHP_VERSION, '<' ) ) {
52 return;
53 }
54
55 // If this file called directly then abort.
56 if ( ! defined( 'WPINC' ) ) {
57 die;
58 }
59
60 /**
61 * Constant as plugin file.
62 */
63 if ( ! defined( 'RMP_PLUGIN_FILE' ) ) {
64 define( 'RMP_PLUGIN_FILE', plugin_dir_path( __FILE__ ) . 'responsive-menu.php' );
65 }
66
67 /**
68 * Constant as dir of plugin.
69 */
70 if ( ! defined( 'RMP_PLUGIN_DIR_NAME' ) ) {
71 define( 'RMP_PLUGIN_DIR_NAME', untrailingslashit( dirname( plugin_basename( __FILE__ ) ) ) );
72 }
73
74 /**
75 * Constant as plugin path.
76 */
77 if ( ! defined( 'RMP_PLUGIN_PATH' ) ) {
78 define( 'RMP_PLUGIN_PATH', untrailingslashit( plugin_dir_path( __FILE__ ) ) );
79 }
80
81 /**
82 * Constant as plugin URL.
83 */
84 if ( ! defined( 'RMP_PLUGIN_URL' ) ) {
85 define( 'RMP_PLUGIN_URL', untrailingslashit( plugin_dir_url( __FILE__ ) ) );
86 }
87
88 /**
89 * Constant as URI of assets build.
90 */
91 if ( ! defined( 'RMP_PLUGIN_BUILD_URI' ) ) {
92 define( 'RMP_PLUGIN_BUILD_URI', untrailingslashit( plugin_dir_url( __FILE__ ) ) . '/assets/build' );
93 }
94
95 /**
96 * Constant as dir of assets build.
97 */
98 if ( ! defined( 'RMP_PLUGIN_BUILD_DIR' ) ) {
99 define( 'RMP_PLUGIN_BUILD_DIR', untrailingslashit( plugin_dir_path( __FILE__ ) ) . '/assets/build' );
100 }
101
102 /**
103 * Constant as path of template file.
104 */
105 if ( ! defined( 'RMP_PLUGIN_TEMPLATE_PATH' ) ) {
106 define( 'RMP_PLUGIN_TEMPLATE_PATH', untrailingslashit( plugin_dir_path( __FILE__ ) ) . '/templates/' );
107 }
108
109 if ( ! defined( 'RMP_PLUGIN_PATH_V4' ) ) {
110 define( 'RMP_PLUGIN_PATH_V4', RMP_PLUGIN_PATH . '/v4.0.0' );
111 }
112
113 if ( ! defined( 'RMP_PLUGIN_URL_V4' ) ) {
114 define( 'RMP_PLUGIN_URL_V4', RMP_PLUGIN_URL . '/v4.0.0' );
115 }
116
117 /** Include the required files only*/
118 require_once RMP_PLUGIN_PATH_V4 . '/inc/helpers/autoloader.php';
119 require_once RMP_PLUGIN_PATH_V4 . '/inc/helpers/custom-functions.php';
120 require_once RMP_PLUGIN_PATH_V4 . '/inc/helpers/default-options.php';
121 require_once RMP_PLUGIN_PATH_V4 . '/libs/scssphp/vendor/autoload.php';
122 require_once RMP_PLUGIN_PATH_V4 . '/templates/rmp-roadmap.php';
123
124 /**
125 * To load plugin manifest class.
126 *
127 * @return void
128 */
129 function responsive_menu_features_plugin_loader() {
130 \RMP\Features\Inc\Plugin::get_instance();
131 }
132
133 responsive_menu_features_plugin_loader();
134
135 // Active and de-active plugin hook.
136 register_activation_hook( __FILE__, 'responsive_menu_plugin_activation' );
137 register_deactivation_hook( __FILE__, 'responsive_menu_plugin_deactivation' );
138
139 /**
140 * Activation of plugin.
141 *
142 * @return void
143 */
144 function responsive_menu_plugin_activation() {
145 $plugin = 'responsive-menu-pro/responsive-menu-pro.php';
146
147 // Check if responsive menu (paid version) is activate then deactivate it.
148 if ( is_plugin_active( $plugin ) ) {
149 deactivate_plugins( $plugin );
150 set_transient( 'og-admin-notice-activation-pro', true, 5 );
151 }
152
153 // Keep the plugin's uploads directory from serving anything executable.
154 \RMP\Features\Inc\Theme_Manager::get_instance()->protect_upload_dir();
155
156 flush_rewrite_rules();
157 }
158
159 /**
160 * Deactivation of plugin.
161 *
162 * @return void
163 */
164 function responsive_menu_plugin_deactivation() {
165 flush_rewrite_rules();
166 }
167
168 /**
169 * Function to include the menu themes templates.
170 *
171 * @since 4.0.5
172 *
173 * @return void
174 */
175 function rm_includes_menu_theme_template() {
176 $theme_manager = \RMP\Features\Inc\Theme_Manager::get_instance();
177
178 // Check class theme manager has this method or not.
179 if ( ! method_exists( $theme_manager, 'get_menu_active_themes' ) ) {
180 return;
181 }
182
183 $active_themes = $theme_manager->get_menu_active_themes();
184 if ( empty( $active_themes ) ) {
185 return;
186 }
187
188 // Include the file from each theme which has php template.
189 foreach ( $active_themes as $key => $theme_name ) {
190 $theme_index = $theme_manager->get_theme_index_file( $theme_name );
191
192 if ( file_exists( $theme_index ) ) {
193 require_once $theme_index;
194 }
195 }
196 }
197
198 rm_includes_menu_theme_template();
199
200 require_once 'review-banner-class.php';
201