PluginProbe
Microthemer Lite – Visual Editor to Customize CSS / trunk
Microthemer Lite – Visual Editor to Customize CSS vtrunk
trunk 5.0.0.2
microthemer / src / PluginTrait.php

PluginTrait.php in Microthemer Lite – Visual Editor to Customize CSS trunk, at src/PluginTrait.php

118 lines 3.1 KB
No matching file
Up and down to move Enter to open Esc to close
Raw Download Zip
1 <?php
2
3 /*
4 * Common properties and methods for Admin and AssetAuth classes
5 */
6
7 namespace Microthemer;
8
9 trait PluginTrait {
10
11 var $version = '7.5.3.9';
12 var $db_chg_in_ver = '7.5.2.8';
13 var $minimum_wordpress = '5.6';
14 var $preferencesName = 'preferences_themer_loader';
15 var $autoloadPreferencesName = 'microthemer_autoload_preferences';
16 var $microthemeruipage = 'tvr-microthemer.php';
17 var $microthemespage = 'tvr-manage-micro-themes.php';
18 var $managesinglepage = 'tvr-manage-single.php';
19 var $preferencespage = 'tvr-microthemer-preferences.php';
20 var $detachedpreviewpage = 'tvr-microthemer-preview-wrap.php';
21 var $docspage = 'tvr-docs.php';
22 var $fontspage = 'tvr-fonts.php';
23 //var $preferences = array(); PHP warning when AssetLoad runs
24 var $current_user_id = -1;
25 var $wp_ajax_url = '';
26
27 // Previously dynamic properties
28 // @var strings dir/url paths
29 var $thistmpdir;
30 var $debug_dir;
31 var $home_url;
32 var $wp_admin_url;
33 var $wp_blog_admin_url;
34 var $country_codes;
35 var $nth_formulas;
36 var $fav_css_filters;
37 var $css_filters;
38 var $min_and_max_mqs;
39 var $container_queries;
40 var $default_dev_preferences;
41 var $subscription_defaults;
42 var $subscription_check_defaults;
43 var $browser_events;
44 var $browser_event_keys;
45 var $system_fonts;
46 var $enq_js_structure;
47 var $mq_structure;
48 var $menu;
49
50 var $wp_content_url = '';
51 var $wp_content_dir = '';
52 var $wp_plugin_url = '';
53 var $wp_plugin_dir = '';
54 var $thispluginurl = '';
55 var $thisplugindir = '';
56 var $multisite_blog_id = false;
57 var $micro_root_dir = '';
58 var $micro_root_url = '';
59 var $site_url = '';
60 var $content;
61
62 function loadTextDomain(){
63 // phpcs:ignore PluginCheck.CodeAnalysis.DiscouragedFunctions.load_plugin_textdomainFound -- Required for premium/non-directory builds; redundant but harmless on wp.org (auto-loads via Domain Path since 4.6).
64 load_plugin_textdomain(
65 'microthemer',
66 false,
67 dirname( dirname( plugin_basename( __FILE__ ) ) ) . '/languages/'
68 );
69 }
70
71 // get/set cookie
72 function pluginCookie($key, $value = false, $expiration = 0){ // 0 = expire when browser closes
73
74 if ($value) {
75 $this->deleteCookie($key);
76 return setcookie($key, $value, $expiration, '/', COOKIE_DOMAIN);
77 }
78
79 return isset($_COOKIE[$key]) ? sanitize_text_field(wp_unslash($_COOKIE[$key])) : false;
80 }
81
82 // delete cookie
83 /*function deleteCookie($key){
84 unset($_COOKIE[$key]);
85 }*/
86
87 function deleteCookie($key, $expires = 0, $path = '/', $domain = COOKIE_DOMAIN){
88
89 setcookie($key, "", $expires, $path, $domain);
90
91 unset($_COOKIE[$key]);
92 }
93
94
95 function setAdminAjaxUrl(){
96 $this->wp_ajax_url = $this->wp_blog_admin_url . 'admin-ajax.php' . '?action=mtui&mcth_simple_ajax=1&page='.$this->microthemeruipage . '&_wpnonce='.wp_create_nonce('mcth_simple_ajax');
97 }
98
99 function jsonResponse($data, $clean = true){
100
101 if ($clean){
102 // Clean all levels of output buffering - this fixes issues like <p> wrapped around JSON
103 while (ob_get_level()) {
104 ob_end_clean();
105 }
106 }
107
108 header('Content-type: application/json');
109
110 http_response_code(200);
111
112 echo wp_json_encode($data);
113 exit;
114 }
115
116
117
118 }