PluginProbe
Page Builder: Pagelayer – Drag and Drop website builder / 2.2.0
Page Builder: Pagelayer – Drag and Drop website builder v2.2.0
2.2.1 2.2.0 2.1.9 2.1.8 2.1.7 2.1.6 2.1.5 2.1.4 2.1.3 trunk 0.9.0 0.9.1 0.9.2 0.9.3 0.9.4 0.9.5 0.9.6 0.9.7 0.9.8 0.9.9 1.0.0 1.0.2 1.0.3 1.0.4 1.0.5 All 129 releases
← All changes | main/class.php +149 -2 1.0.22.2.0 View file →
@@ -23,10 +23,33 @@
23 23 if(!defined('PAGELAYER_VERSION')) {
24 24 exit('Hacking Attempt !');
25 25 }
26 26
27 -// PageLayer Class
27 +// Pagelayer Class
28 +#[AllowDynamicProperties]
28 29 class PageLayer{
30 +
31 + var $BRAND_TEXT;
32 + var $LOGO;
33 + var $action;
34 + var $license;
35 + var $allowed_mime_type;
36 + var $template_call_sidebar;
37 + var $shortcode_loaded;
38 + var $anim_in_options;
39 + var $anim_out_options;
40 + var $slider_arrow_styles;
41 + var $slider_pager_styles;
42 + var $slider_options;
43 + var $templates;
44 + var $template_header;
45 + var $template_post;
46 + var $template_editor;
47 + var $template_footer;
48 + var $template_popup_ids;
49 + var $load_live_errors;
50 + var $rendering_template_id;
51 + var $dont_make_editable;
29 52
30 53 // All Settings
31 54 var $settings = array();
32 55
@@ -48,9 +71,13 @@
48 71 // The Lang Strings
49 72 var $l = array();
50 73
51 74 // Runtime fonts
75 + var $fonts = array();
52 76 var $runtime_fonts = array();
77 + var $fonts_sent = array();
78 + var $system_fonts = array();
79 + var $typo_props = array();
53 80
54 81 // Array of all the template paths
55 82 var $all_template_paths = array();
56 83
@@ -56,19 +83,139 @@
56 83
57 84 // Tabs visible in the left panel
58 85 var $tabs = ['settings', 'options'];
59 86
87 + // Tabs visible in the left panel
88 + var $screens = ['desktop' => '', 'tablet' => 'tablet', 'mobile' => 'mobile'];
89 +
60 90 // Icons set
61 91 var $icons = ['font-awesome5'];
62 92
63 93 // For exporting templates
64 94 var $media_to_export = array();
95 +
96 + // For global widget
97 + var $global_widgets = array();
98 +
99 + // For global section
100 + var $global_sections = array();
101 +
102 + // For saved sections
103 + var $saved_sections = array();
104 +
105 + // For saved default params
106 + var $default_params = array();
65 107
108 + // Youtube API
109 + var $append_yt_api = false;
110 +
111 + var $css = array();
112 + var $css_settings = array();
113 +
114 + // Customizer options
115 + var $customizer_mods = array();
116 + var $customizer_params = array();
117 +
118 + var $data_attr = array();
119 + var $sc_audio_enqueued = 0;
120 +
121 + var $support = 'http://pagelayer.deskuss.com';
122 +
123 + // Global colors and typographies
124 + var $global_colors = array();
125 + var $global_fonts = array();
126 +
127 + // Explicit property declarations to prevent PHP 8.2 dynamic property deprecation warnings
128 + var $font_style;
129 + var $text_transform;
130 + var $font_weight;
131 + var $text_decoration_line;
132 + var $text_decoration_style;
133 + var $customizer_styles_options;
134 + var $e;
135 + var $export_menus;
136 + var $export_mode;
137 + var $font_settings;
138 + var $from_header_to_footer;
139 + var $import_links;
140 + var $import_map;
141 + var $import_media;
142 + var $imported;
143 + var $imported_ids;
144 + var $imported_menus;
145 + var $imported_menus_preg;
146 + var $imported_menus_slug;
147 + var $ip_method;
148 + var $localScript;
149 + var $template_conf;
150 + var $template_sidebar;
151 +
66 152 function __construct() {
67 153
68 154 // Load the langs
69 155 $this->l = @file_get_contents(PAGELAYER_DIR.'/languages/en.json');
70 156 $this->l = @json_decode($this->l, true);
71 -
157 +
158 + // Load the langs hook
159 + $this->l = apply_filters('pagelayer_load_languages', $this->l);
160 +
161 + // Add after plugins_loaded
162 + add_action('plugins_loaded', [ $this, 'load_extra_languages' ], 11);
163 +
164 + // Array of font options
165 + $this->css_settings = ['body' => ['name' => 'Body', 'key' => 'pagelayer_body_typography'],
166 + 'header' => ['name' => 'Site Header', 'sel' => '> header'],
167 + 'main' => ['name' => 'Site Main', 'sel' => '.site-main'],
168 + 'footer' => ['name' => 'Site Footer', 'sel' => '> footer'],
169 + 'entry-header' => ['name' => 'Content Header', 'sel' => '.entry-header'],
170 + 'entry-content' => ['name' => 'Content', 'sel' => '.entry-content'],
171 + 'entry-footer' => ['name' => 'Content Footer', 'sel' => '.entry-footer'],
172 + 'p' => ['name' => 'Paragraph'],
173 + 'aside' => ['name' => 'Sidebar'],
174 + 'a' => ['name' => 'Link'],
175 + 'a-hover' => ['name' => 'Link Hover', 'sel' => 'a:hover'],
176 + 'h1' => ['name' => 'H1', 'key' => 'pagelayer_h1_typography'],
177 + 'h2' => ['name' => 'H2', 'key' => 'pagelayer_h2_typography'],
178 + 'h3' => ['name' => 'H3', 'key' => 'pagelayer_h3_typography'],
179 + 'h4' => ['name' => 'H4', 'key' => 'pagelayer_h4_typography'],
180 + 'h5' => ['name' => 'H5', 'key' => 'pagelayer_h5_typography'],
181 + 'h6' => ['name' => 'H6', 'key' => 'pagelayer_h6_typography'],
182 + 'b' => ['name' => 'Bold', 'sel' => 'strong, body.pagelayer-body b'],
183 + 'i' => ['name' => 'Italics', 'sel' => 'em, body.pagelayer-body i:not(.fa, .fas, .far, .fab)'],
184 + ];
185 +
186 + $this->system_fonts = ['Arial', 'Arial Black', 'Courier', 'Georgia', 'Helvetica', 'impact', 'Tahoma', 'Times New Roman', 'Trebuchet MS', 'Verdana'];
187 + $this->customizer_mods = get_option('pagelayer_customizer_mods', []);
188 + $this->support = (defined('SITEPAD') ? 'http://sitepad.deskuss.com' : $this->support);
189 + $this->typo_props = ['font-family', 'font-size', 'font-style', 'font-weight', 'font-variant', 'text-decoration-line', 'text-decoration-style', 'line-height', 'text-transform', 'letter-spacing', 'word-spacing'];
190 +
191 + }
192 +
193 + function default_font_styles( $args = array()){
194 +
195 + $default_font_styles = [
196 + 'font-family' => 'Open Sans',
197 + 'font-size' => '',
198 + 'font-style' => '',
199 + 'font-variant' => '',
200 + 'font-weight' => '',
201 + 'letter-spacing' => '',
202 + 'line-height' => '',
203 + 'text-decoration-line' => '',
204 + 'text-decoration-style' => '',
205 + 'text-transform' => '',
206 + 'word-spacing' => ''
207 + ];
208 +
209 + return array_merge($default_font_styles, $args);
210 + }
211 +
212 + function load_extra_languages(){
213 +
214 + if(defined('SITEPAD')){
215 + $this->l['email_desc'] = 'To change the email, visit your '.BRAND_SM.' Dashboard -> Settings -> Editor Settings';
216 + $this->l['CMA_desc'] = 'To change text, visit your '.BRAND_SM.' Dashboard -> Settings -> Editor Settings';
217 + }
218 +
72 219 }
73 220
74 221 }