PluginProbe
WPMobile.App / trunk
WPMobile.App vtrunk
wpappninja / wpappninja.php

wpappninja.php in WPMobile.App trunk, at wpappninja.php

270 lines 11.5 KB
No matching file
Up and down to move Enter to open Esc to close
Raw Download Zip
1 <?php
2 /*
3 Plugin Name: WPMobile.App
4 Plugin URI: https://wpmobile.app/
5 Description: Android and iOS mobile application. Easy setup, free test.
6 Version: 11.80
7 Author: Amauri
8 Author URI: https://wpmobile.app/
9 Licence: GPLv2
10 Text Domain: wpappninja
11 Domain Path: /languages/
12 */
13
14 defined( 'ABSPATH' ) or die( 'Cheatin\' uh?' );
15
16 // common
17 define( 'WPAPPNINJA_VERSION' , '11.80' );
18 define( 'WPAPPNINJA_VERSION_APP' , '100' );
19
20 if (defined('WPAPPNINJA_WHITE_LABEL')) {
21 define( 'WPAPPNINJA_SLUG' , WPAPPNINJA_WHITE_LABEL_SLUG );
22 define( 'WPAPPNINJA_NAME' , WPAPPNINJA_WHITE_LABEL );
23 } else {
24 define( 'WPAPPNINJA_SLUG' , 'wpappninja' );
25 define( 'WPAPPNINJA_NAME' , 'WPMobile.App' );
26 }
27
28 // url
29 define( 'WPAPPNINJA_SETTINGS_SLUG' , WPAPPNINJA_SLUG . '_settings' );
30 define( 'WPAPPNINJA_PUSH_SLUG' , WPAPPNINJA_SLUG . '_push' );
31 define( 'WPAPPNINJA_QRCODE_SLUG' , WPAPPNINJA_SLUG . '_qrcode' );
32 define( 'WPAPPNINJA_CERT_SLUG' , WPAPPNINJA_SLUG . '_cert' );
33 define( 'WPAPPNINJA_STATS_SLUG' , WPAPPNINJA_SLUG . '_stats' );
34 define( 'WPAPPNINJA_PUBLISH_SLUG' , WPAPPNINJA_SLUG . '_publish' );
35 define( 'WPAPPNINJA_PROMOTE_SLUG' , WPAPPNINJA_SLUG . '_promote' );
36 define( 'WPAPPNINJA_ADSERVER_SLUG' , WPAPPNINJA_SLUG . '_adserver' );
37 define( 'WPAPPNINJA_AUTO_SLUG' , WPAPPNINJA_SLUG . '_auto' );
38 define( 'WPAPPNINJA_HOME_SLUG' , WPAPPNINJA_SLUG . '_home' );
39 define( 'WPAPPNINJA_UPDATE_SLUG' , WPAPPNINJA_SLUG . '_update' );
40 define( 'WPAPPNINJA_PWA_SLUG' , WPAPPNINJA_SLUG . '_pwa' );
41 define( 'WPAPPNINJA_THEME_SLUG' , WPAPPNINJA_SLUG . '_theme' );
42 define( 'WPAPPNINJA_PREVIEW_SLUG' , WPAPPNINJA_SLUG . '_preview' );
43 define( 'WPAPPNINJA_WEB_MAIN' , 'https://wpmobile.app' );
44
45 // file path
46 define( 'WPAPPNINJA_FILE' , __FILE__ );
47 define( 'WPAPPNINJA_PATH' , realpath( plugin_dir_path( WPAPPNINJA_FILE ) ) . '/' );
48 define( 'WPAPPNINJA_ICONS_PATH' , realpath( WPAPPNINJA_PATH . 'assets/images/icons/' ) . '/' );
49 define( 'WPAPPNINJA_FLAGS_PATH' , realpath( WPAPPNINJA_PATH . 'assets/images/flags/' ) . '/' );
50 define( 'WPAPPNINJA_SVG_PATH' , realpath( WPAPPNINJA_PATH . 'assets/svg/' ) . '/' );
51 define( 'WPAPPNINJA_INC_PATH' , realpath( WPAPPNINJA_PATH . 'inc/' ) . '/' );
52 define( 'WPAPPNINJA_ADMIN_PATH' , realpath( WPAPPNINJA_INC_PATH . 'admin' ) . '/' );
53 define( 'WPAPPNINJA_ADMIN_UI_PATH' , realpath( WPAPPNINJA_ADMIN_PATH . 'ui' ) . '/' );
54 define( 'WPAPPNINJA_API_PATH' , realpath( WPAPPNINJA_INC_PATH . 'api' ) . '/' );
55 define( 'WPAPPNINJA_COMMON_PATH' , realpath( WPAPPNINJA_INC_PATH . 'common' ) . '/' );
56 define( 'WPAPPNINJA_DEBUG_PATH' , realpath( WPAPPNINJA_PATH . 'debug' ) . '/' );
57 define( 'WPAPPNINJA_FUNCTIONS_PATH' , realpath( WPAPPNINJA_INC_PATH . 'functions' ) . '/' );
58 define( 'WPAPPNINJA_3RDPARTY_PATH' , realpath( WPAPPNINJA_INC_PATH . '3rd-party' ) . '/' );
59 define( 'WPAPPNINJA_STATS_PATH' , realpath( WPAPPNINJA_INC_PATH . 'stats' ) . '/' );
60
61 // assets url
62 define( 'WPAPPNINJA_URL' , plugin_dir_url( WPAPPNINJA_FILE ) );
63 define( 'WPAPPNINJA_ASSETS_URL' , WPAPPNINJA_URL . 'assets/' );
64 define( 'WPAPPNINJA_SVG_URL' , WPAPPNINJA_URL . 'assets/svg/' );
65 define( 'WPAPPNINJA_ASSETS_3RD_URL' , WPAPPNINJA_ASSETS_URL . '3rd-party/' );
66 define( 'WPAPPNINJA_ASSETS_JS_URL' , WPAPPNINJA_ASSETS_URL . 'js/' );
67 define( 'WPAPPNINJA_ASSETS_CSS_URL' , WPAPPNINJA_ASSETS_URL . 'css/' );
68 define( 'WPAPPNINJA_ASSETS_IMG_URL' , WPAPPNINJA_ASSETS_URL . 'images/' );
69
70 /*
71 * Tell WP what to do when plugin is loaded
72 *
73 * @since 1.0
74 */
75 add_action( 'init', 'wpmobile_load_textdomain' );
76 function wpmobile_load_textdomain() {
77 load_plugin_textdomain( 'wpappninja', false, dirname( plugin_basename( __FILE__ ) ) . '/languages/' );
78 }
79
80
81 add_action( 'plugins_loaded', '_wpappninja_init' );
82 function _wpappninja_init() {
83
84 // Nothing to do if autosave
85 if ( defined( 'DOING_AUTOSAVE' ) ) {
86 return;
87 }
88
89 require( WPAPPNINJA_3RDPARTY_PATH . 'automatorwp/automatorwp.php' );
90 require( WPAPPNINJA_3RDPARTY_PATH . 'noappforweb.php' );
91 require( WPAPPNINJA_ADMIN_PATH . 'right.php' );
92 require( WPAPPNINJA_FUNCTIONS_PATH . 'detect_os.php' );
93 require( WPAPPNINJA_FUNCTIONS_PATH . 'options.php' );
94 require( WPAPPNINJA_FUNCTIONS_PATH . 'lang.php' );
95 require( WPAPPNINJA_3RDPARTY_PATH . 'wpml.php' );
96 require( WPAPPNINJA_3RDPARTY_PATH . 'wp-rocket.php' );
97 require( WPAPPNINJA_3RDPARTY_PATH . 'mobile.php' );
98 require( WPAPPNINJA_3RDPARTY_PATH . 'wpserveur.php' );
99 require( WPAPPNINJA_3RDPARTY_PATH . 'wptouch.php' );
100 require( WPAPPNINJA_3RDPARTY_PATH . 'autooptimize.php' );
101 require( WPAPPNINJA_3RDPARTY_PATH . 'wp-spam-shield.php' );
102 require( WPAPPNINJA_3RDPARTY_PATH . 'ait.php' );
103 require( WPAPPNINJA_3RDPARTY_PATH . 'hide-errors.php' );
104 require( WPAPPNINJA_3RDPARTY_PATH . 'select2.php' );
105 require( WPAPPNINJA_3RDPARTY_PATH . 'elementor.php' );
106 require( WPAPPNINJA_3RDPARTY_PATH . 'contact7.php' );
107 require( WPAPPNINJA_3RDPARTY_PATH . 'adsense.php' );
108 require( WPAPPNINJA_3RDPARTY_PATH . 'peepso.php' );
109
110 // if it's an api call, force the language
111 $get_pagename = isset($_GET['pagename']) ? sanitize_text_field($_GET['pagename']) : "";
112 if ( $get_pagename == 'wpappninja' ) {
113
114 define('DOING_WPAPPNINJA_API', true);
115 wpappninja_wpml_fix();
116 wpappninja_wprocket_fix();
117
118 // set http header 200 and avoid 404
119 add_filter( 'wp', 'wpappninja_set200', 0 );
120 function wpappninja_set200() {
121 global $wp_query;
122 status_header(200);
123 $wp_query->is_404 = false;
124 }
125
126 // default locale
127 add_filter( 'locale', 'wpappninja_api_localize' );
128 function wpappninja_api_localize( $locale ) {
129 return wpappninja_get_lang('long');
130 }
131 } else if (isset($_SERVER['HTTP_X_WPAPPNINJA'])) {
132 wpappninja_wprocket_fix();
133 }
134
135 // remove accents
136 add_filter('sanitize_file_name', 'remove_accents' );
137
138 if( isset( $_GET['wpapp_shortcode'] ) ) {
139 $_GET['wpapp_shortcode'] = sanitize_text_field( $_GET['wpapp_shortcode'] );
140 }
141
142 if (isset($_SERVER['HTTP_X_WPAPPNINJA'])) {
143
144 /*remove_filter('template_redirect', 'redirect_canonical');
145
146 if (isset($_SERVER['HTTP_HOST']) && isset($_SERVER['REQUEST_URI'])) {
147
148 $s = (isset($_SERVER['HTTPS']) ? 's' : '');
149 if (home_url( '', 'http' . $s ) . $_SERVER['REQUEST_URI'] != 'http' . $s . '://' . $_SERVER['HTTP_HOST'] . $_SERVER['REQUEST_URI']) {
150
151 $url = home_url( '', 'http' . $s ) . $_SERVER['REQUEST_URI'];
152 wp_redirect( $url, 301 );
153 exit();
154 }
155
156 }*/
157
158 // wprocket
159 wpappninja_wprocket_fix();
160
161
162 } else if (isset($_GET['WPAPPNINJA']) && $_GET['WPAPPNINJA'] == 'PREVENT_CACHE') {
163 if (isset($_SERVER['HTTP_HOST']) && isset($_SERVER['REQUEST_URI'])) {
164 $url = remove_query_arg('WPAPPNINJA', 'http' . (isset($_SERVER['HTTPS']) ? 's' : '') . '://' . $_SERVER['HTTP_HOST'] . $_SERVER['REQUEST_URI']);
165 wp_redirect( $url, 301 );
166 exit();
167 }
168 }
169
170 // load translations
171 require( WPAPPNINJA_FUNCTIONS_PATH . 'package.php' );
172 require( WPAPPNINJA_FUNCTIONS_PATH . 'healme.php' );
173 require( WPAPPNINJA_FUNCTIONS_PATH . 'check.php' );
174 require( WPAPPNINJA_FUNCTIONS_PATH . 'format.php' );
175 require( WPAPPNINJA_FUNCTIONS_PATH . 'colors.php' );
176 require( WPAPPNINJA_FUNCTIONS_PATH . 'seo.php' );
177 require( WPAPPNINJA_FUNCTIONS_PATH . 'image.php' );
178 require( WPAPPNINJA_FUNCTIONS_PATH . 'menu.php' );
179 require( WPAPPNINJA_FUNCTIONS_PATH . 'banner.php' );
180 require( WPAPPNINJA_FUNCTIONS_PATH . 'apple_reviewer.php' );
181 require( WPAPPNINJA_FUNCTIONS_PATH . 'sdk2019.php' );
182 require( WPAPPNINJA_FUNCTIONS_PATH . 'webview.php' );
183 require( WPAPPNINJA_FUNCTIONS_PATH . 'shortcodes.php' );
184 require( WPAPPNINJA_FUNCTIONS_PATH . 'appify.php' );
185 require( WPAPPNINJA_API_PATH . 'rewrite.php' );
186 require( WPAPPNINJA_API_PATH . 'push.php' );
187 require( WPAPPNINJA_API_PATH . 'json.php' );
188 require( WPAPPNINJA_API_PATH . 'read_enhanced.php' );
189 require( WPAPPNINJA_API_PATH . 'ads.php' );
190 require( WPAPPNINJA_API_PATH . 'theme.php' );
191 require( WPAPPNINJA_COMMON_PATH . 'admin-bar.php' );
192 require( WPAPPNINJA_COMMON_PATH . 'cron.php' );
193 require( WPAPPNINJA_COMMON_PATH . 'enqueue.php' );
194 require( WPAPPNINJA_COMMON_PATH . 'cache.php' );
195 require( WPAPPNINJA_COMMON_PATH . 'deeplinking.php' );
196 require( WPAPPNINJA_COMMON_PATH . 'premium.php' );
197 require( WPAPPNINJA_STATS_PATH . 'boot.php' );
198 require( WPAPPNINJA_DEBUG_PATH . 'diff.php' );
199
200 // if we want to dismiss something
201 if (isset($_GET['wpappninja_dismiss_update'])) {
202 wpappninja_dismiss_update();
203 }
204
205 if ( is_admin() ) {
206 require( WPAPPNINJA_ADMIN_PATH . 'upgrader.php' );
207 require( WPAPPNINJA_ADMIN_PATH . 'options.php' );
208 require( WPAPPNINJA_ADMIN_PATH . 'metabox.php' );
209 require( WPAPPNINJA_ADMIN_PATH . 'menu.php' );
210 require( WPAPPNINJA_ADMIN_PATH . 'plugins.php' );
211 require( WPAPPNINJA_ADMIN_PATH . 'enqueue.php' );
212 require( WPAPPNINJA_ADMIN_PATH . 'talkus.php' );
213 require( WPAPPNINJA_ADMIN_PATH . 'sdkupdate.php' );
214 require( WPAPPNINJA_ADMIN_PATH . 'import.php' );
215 require( WPAPPNINJA_ADMIN_UI_PATH . 'options.php' );
216 require( WPAPPNINJA_ADMIN_UI_PATH . 'push.php' );
217 require( WPAPPNINJA_ADMIN_UI_PATH . 'cert.php' );
218 require( WPAPPNINJA_ADMIN_UI_PATH . 'stats.php' );
219 require( WPAPPNINJA_ADMIN_UI_PATH . 'publish.php' );
220 require( WPAPPNINJA_ADMIN_UI_PATH . 'promote.php' );
221 require( WPAPPNINJA_ADMIN_UI_PATH . 'adserver.php' );
222 require( WPAPPNINJA_ADMIN_UI_PATH . 'qrcode.php' );
223 require( WPAPPNINJA_ADMIN_UI_PATH . 'auto.php' );
224 require( WPAPPNINJA_ADMIN_UI_PATH . 'home.php' );
225 require( WPAPPNINJA_ADMIN_UI_PATH . 'update.php' );
226 require( WPAPPNINJA_ADMIN_UI_PATH . 'theme.php' );
227 require( WPAPPNINJA_ADMIN_UI_PATH . 'pwa.php' );
228 require( WPAPPNINJA_ADMIN_UI_PATH . 'preview.php' );
229 require( WPAPPNINJA_STATS_PATH . 'render.php' );
230 require( WPAPPNINJA_STATS_PATH . 'display.php' );
231 }
232
233 if (is_wpappninja() && get_wpappninja_option('trad') == 'manual') {
234 add_filter( 'locale', 'wpappninja_theme_localize' );
235 function wpappninja_theme_localize( $locale ) {
236 return wpappninja_get_lang('long');
237 }
238 }
239
240 if (is_wpappninja()) {
241 $wpappninja_popup = "";
242 }
243
244 /**
245 * Fires when WPMobile.App is correctly loaded
246 *
247 * @since 1.0
248 */
249 do_action( 'wpappninja_loaded' );
250
251 if (isset($_POST['wpappnewdashboard'])) {
252
253 $options = get_option( WPAPPNINJA_SLUG );
254
255 if ($_POST['newdashboard'] == 'on') {
256 $options['nomoreqrcode'] = '1';
257 } else {
258 $options['nomoreqrcode'] = '0';
259 }
260
261 update_option( WPAPPNINJA_SLUG, $options );
262 }
263 }
264
265 // antispam
266 require( WPAPPNINJA_3RDPARTY_PATH . 'antispam.php' );
267 require( WPAPPNINJA_3RDPARTY_PATH . 'wpmobilepack.php' );
268 require( WPAPPNINJA_3RDPARTY_PATH . 'secupress.php' );
269 require( WPAPPNINJA_3RDPARTY_PATH . 'ampforwp.php' );
270