PluginProbe
WebTotem Security / 2.1.2
WebTotem Security v2.1.2
3.0.1 3.0.0 trunk 1.0 1.1 1.2 1.3 1.3.1 1.3.2 1.3.3 2.0 2.1 2.1.1 2.1.2 2.1.3 2.1.4 2.1.5 2.1.6 2.1.7 2.1.8 2.1.9 2.2.1 2.2.2 2.2.3 2.2.4 All 109 releases
wt-security / wt-security.php

wt-security.php in WebTotem Security 2.1.2, at wt-security.php

126 lines 4.8 KB
No matching file
Up and down to move Enter to open Esc to close
Raw Download Zip
1 <?php defined('ABSPATH') or die("Protected By WT!");
2
3 /*
4 Plugin Name: WT Security
5 Description: WT is a SaaS which provides powerful tools for securing and monitoring your website in one place in easy and flexible way.
6 Author: WT Security
7 Version: 2.1.2
8 */
9
10 define("WTSEC_PAGE_TITLE", 'Dashboard');
11 define("WTSEC_MENU_TITLE", 'WT Security');
12 define("WTSEC_PLUGIN_PATH", plugin_dir_path(__FILE__));
13 define("WTSEC_PLUGIN_NAME", 'wt-security');
14 define("WTSEC_PLUGIN_PREFIX", 'wtsec_');
15 define("WTSEC_PAGE_PREFIX", WTSEC_PLUGIN_NAME . '-');
16 define("WTSEC_FILE_URL", "https://api.wtotem.com/agent");
17 define("WTSEC_ROOT", WP_PLUGIN_DIR . '/');
18 define("WTSEC_MODULES_DIR", WTSEC_PLUGIN_PATH . 'uploads/');
19 if (is_dir(WTSEC_MODULES_DIR) && is_writable(WTSEC_MODULES_DIR)) {
20 define("WTSEC_INSTALLATION_DIR", WTSEC_MODULES_DIR);
21 define("WTOTEMSEC_INSTALLATION_DIR", WTSEC_MODULES_DIR);
22 } else {
23 define("WTSEC_INSTALLATION_DIR", wp_upload_dir()['basedir'] . '/');
24 define("WTOTEMSEC_INSTALLATION_DIR", wp_upload_dir()['basedir'] . '/');
25 }
26 define("WTSEC_PLUGIN_URL", plugins_url("", __FILE__));
27 define("WTSEC_SITE_URL", str_replace(['http://', 'https://', 'www.', '//', '://'], '', get_site_url()));
28
29 define("WTSEC_PLUGIN_INFORMATION_VERSION", "2.1");
30
31 add_action('admin_init', 'wtsec_admin_init');
32 add_action('wp_loaded', 'wtsec_init');
33
34 function wtsec_init()
35 {
36 require_once WTSEC_PLUGIN_PATH . 'library/App.php';
37 require_once WTSEC_PLUGIN_PATH . 'library/Request.php';
38 if (!is_admin() && in_array(WTSEC_LIBRARY_App::getOption('waf_status'), ["start", "uninstalled"])) {
39 if ($waf = WTSEC_LIBRARY_App::getOption(("waf_installed_file"))) {
40 $path_to_waf = WTSEC_INSTALLATION_DIR . '/' . $waf;
41 if (is_file($path_to_waf) && is_readable($path_to_waf)) {
42 include $path_to_waf;
43 }
44 }
45 }
46 if (is_admin()) {
47 require_once WTSEC_PLUGIN_PATH . 'library/WT.php';
48 require_once WTSEC_PLUGIN_PATH . 'library/Localization.php';
49 require_once WTSEC_PLUGIN_PATH . 'library/Idn.php';
50 require_once WTSEC_PLUGIN_PATH . 'library/Session.php';
51 require_once WTSEC_PLUGIN_PATH . 'routes.php';
52 require_once WTSEC_PLUGIN_PATH . 'services.php';
53 function wtsec_request()
54 {
55 return new WTSEC_LIBRARY_Request();
56 }
57 function wtsec_app()
58 {
59 return new WTSEC_LIBRARY_App();
60 }
61 function wtsec_filesystem_init($form_url, $method, $context, $fields = null)
62 {
63 global $wp_filesystem;
64 if (!$creds = request_filesystem_credentials($form_url, $method, false, $context, $fields)) {
65 return false;
66 }
67 if (!WP_Filesystem($creds)) {
68 request_filesystem_credentials($form_url, $method, true, $context);
69 return false;
70 }
71 return true;
72 }
73 function wtsec_locale($lmsg, $args = [])
74 {
75 return WTSEC_LIBRARY_Localization::lmsg($lmsg, $args);
76 }
77 function wtsec_getImagePath($image)
78 {
79 return plugins_url('/htdocs/images/' . $image, __FILE__);
80 }
81 function wtsec_SIS($arr, $key, $form = null)
82 {
83 $key = explode(".", $key);
84 foreach ($key as $_key) {
85 if (!isset($arr[$_key])) {
86 $arr = "";
87 break;
88 }
89 $arr = $arr[$_key];
90 }
91 return !empty($form) ? str_replace("$" . $key, $arr, $form) : $arr;
92 }
93 }
94 }
95
96 function wtsec_admin_init()
97 {
98 if (is_admin() && stripos(wtsec_request()->page, WTSEC_PLUGIN_NAME) !== false) {
99 wp_register_style("css", plugins_url('/htdocs/css/src.c37ba8ac.css', __FILE__));
100 wp_enqueue_style('css');
101 wp_enqueue_script('chart', plugins_url('/htdocs/js/Chart.min.js', __FILE__), [], false, true);
102 wp_enqueue_script('chart');
103 wp_enqueue_script('app', plugins_url('/htdocs/js/src.e31bb0bc.js', __FILE__), [], false, true);
104 wp_enqueue_script('app');
105 $page = wtsec_request()->page;
106 if ($page === wtsec_getRoute("login")) {
107 if (WTSEC_LIBRARY_App::authorized()) {
108 wp_safe_redirect(wtsec_getUrl('dashboard'));
109 }
110 } elseif ($page === wtsec_getRoute("logout")) {
111 WTSEC_LIBRARY_App::logout();
112 if (!WTSEC_LIBRARY_App::authorized()) {
113 wp_safe_redirect(wtsec_getUrl('login'));
114 }
115 } elseif ($page === wtsec_getRoute("activate")) {
116 if (WTSEC_LIBRARY_App::authorized()) {
117 wp_safe_redirect(wtsec_getUrl('sites'));
118 }
119 } else {
120 if (!WTSEC_LIBRARY_App::authorized()) {
121 wp_safe_redirect(wtsec_getUrl('login'));
122 }
123 }
124 }
125 }
126