PluginProbe
JCH Optimize / trunk
JCH Optimize vtrunk
6.0.2 6.0.1 trunk 1.0.1 1.0.2 1.1.0 1.1.1 1.1.2 1.1.3 1.1.4 1.2.0 1.2.1 2.0.0 2.0.1 2.0.2 2.0.3 2.0.4 2.0.5 2.0.6 2.0.7 2.0.8 2.1.0 2.10.0 2.2.0 2.2.1 All 58 releases
jch-optimize / lib / src / Settings.php

Settings.php in JCH Optimize trunk, at lib/src/Settings.php

366 lines 15.9 KB
No matching file
Up and down to move Enter to open Esc to close
Raw Download Zip
1 <?php
2
3 declare(strict_types=1);
4
5 namespace JchOptimize\Core;
6
7 final class Settings
8 {
9 public const CACHE_RANDOM_KEY = 'cache_random_key';
10 public const DEBUG = 'debug';
11 public const DISABLE_LOGGED_IN_USERS = 'disable_logged_in_users';
12 public const ELEMENTS_ABOVE_FOLD_HOME = 'elements_above_fold_home';
13 public const ELEMENTS_ABOVE_FOLD = 'elements_above_fold';
14 public const ELEMENTS_ABOVE_FOLD_PER_PAGE = 'elements_above_fold_per_page';
15 public const ELEMENTS_ABOVE_FOLD_MARKER = 'elements_above_fold_marker';
16 public const MENUEXCLUDEDURL = 'menuexcludedurl';
17 public const MENUEXCLUDED = 'menuexcluded';
18 public const CACHE_STORAGE_ADAPTER = 'pro_cache_storage_adapter';
19 public const MEMCACHED_SERVER_HOST = 'memcached_server_host';
20 public const MEMCACHED_SERVER_PORT = 'memcached_server_port';
21 public const REDIS_SERVER_HOST = 'redis_server_host';
22 public const REDIS_SERVER_PORT = 'redis_server_port';
23 public const REDIS_SERVER_PASSWORD = 'redis_server_password';
24 public const REDIS_SERVER_DATABASE = 'redis_server_database';
25 public const CACHE_LIFETIME = 'cache_lifetime';
26 public const DELETE_EXPIRY = 'delete_expiry';
27 public const RECACHE_BASE_URL = 'recache_base_url';
28 public const RECACHE_CRAWL_LIMIT = 'recache_crawl_limit';
29 public const RECACHE_CONCURRENCY = 'recache_concurrency';
30 public const RECACHE_MAX_DEPTH = 'recache_max_depth';
31 public const COMBINE_FILES_ENABLE = 'combine_files_enable';
32 public const COMBINE_FILES = 'combine_files';
33 public const SMART_COMBINE = 'smart_combine';
34 public const HTML_MINIFY_LEVEL = 'html_minify_level';
35 public const HTACCESS = 'htaccess';
36 public const GZIP = 'gzip';
37 public const HTML_MINIFY = 'html_minify';
38 public const INCLUDE_ALL_EXTENSIONS = 'includeAllExtensions';
39 public const PHP_AND_EXTERNAL = 'phpAndExternal';
40 public const CSS = 'css';
41 public const CSS_MINIFY = 'css_minify';
42 public const REPLACE_IMPORTS = 'replaceImports';
43 public const INLINE_STYLE = 'inlineStyle';
44 public const EXCLUDE_CSS = 'excludeCss';
45 public const EXCLUDE_CSS_COMPONENTS = 'excludeCssComponents';
46 public const EXCLUDE_STYLES = 'excludeStyles';
47 public const EXCLUDE_ALL_STYLES = 'excludeAllStyles';
48 public const REMOVE_CSS = 'remove_css';
49 public const OPTIMIZE_CSS_DELIVERY_ENABLE = 'optimizeCssDelivery_enable';
50 public const REDUCE_UNUSED_CSS = 'pro_reduce_unused_css';
51 public const DYNAMIC_SELECTORS = 'pro_dynamic_selectors';
52 public const DYNAMIC_CSS_SELECTORS = 'dynamic_css_selectors';
53 public const CRITICAL_CSS_CONFIGURE_HELPER = 'critical_css_configure_helper';
54 public const CUSTOM_CSS_ENABLE = 'custom_css_enable';
55 public const CUSTOM_CSS = 'custom_css';
56 public const MOBILE_CSS = 'mobile_css';
57 public const DESKTOP_CSS = 'desktop_css';
58 public const JAVASCRIPT = 'javascript';
59 public const JS_MINIFY = 'js_minify';
60 public const INLINE_SCRIPTS = 'inlineScripts';
61 public const BOTTOM_JS = 'bottom_js';
62 public const LOAD_ASYNCHRONOUS = 'loadAsynchronous';
63 public const EXCLUDE_JS_PEO = 'excludeJs_peo';
64 public const EXCLUDE_JS_COMPONENTS_PEO = 'excludeJsComponents_peo';
65 public const EXCLUDE_SCRIPTS_PEO = 'excludeScripts_peo';
66 public const EXCLUDE_ALL_SCRIPTS = 'excludeAllScripts';
67 public const REMOVE_JS = 'remove_js';
68 public const REDUCE_UNUSED_JS_ENABLE = 'pro_reduce_unused_js_enable';
69 public const CRITICAL_JS = 'pro_criticalJs';
70 public const CRITICAL_SCRIPTS = 'pro_criticalScripts';
71 public const CRITICAL_MODULES = 'pro_criticalModules';
72 public const CRITICAL_MODULES_SCRIPTS = 'pro_criticalModulesScripts';
73 public const PRELOAD_CRITICAL_JS = 'preload_criticalJs';
74 public const CRITICAL_JS_CONFIGURE_HELPER = 'critical_js_configure_helper';
75 public const PAGE_CACHE_LIFETIME = 'page_cache_lifetime';
76 public const PAGE_CACHE_BROWSER_CACHING = 'page_cache_browser_caching';
77 public const CACHE_PLATFORM = 'pro_cache_platform';
78 public const PAGE_CACHE_EXCLUDE_FORM_USERS = 'page_cache_exclude_form_users';
79 public const CACHE_EXCLUDE = 'cache_exclude';
80 public const CACHE_EXCLUDE_MENU = 'cache_exclude_menu';
81 public const CACHE_EXCLUDE_COMPONENT = 'cache_exclude_component';
82 public const PAGE_CACHE_IGNORE_QUERY_VALUES = 'page_cache_ignore_query_values';
83 public const CAPTURE_CACHE_ENABLE = 'pro_capture_cache_enable';
84 public const CF_ENABLE = 'cf_enable';
85 public const CF_API_TOKEN = 'cf_api_token';
86 public const CF_ZONE_ID = 'cf_zone_id';
87 public const CF_MODE_SWITCHER_INTEGRATION = 'cf_mode_switcher_integration';
88 public const PAGE_CACHE_INTEGRATION = 'pro_page_cache_integration';
89 public const PAGE_CACHE_INTEGRATION_ENABLE = 'pro_page_cache_integration_enable';
90 public const IMG_ATTRIBUTES_ENABLE = 'img_attributes_enable';
91 public const CSG_ENABLE = 'csg_enable';
92 public const CSG_DIRECTION = 'csg_direction';
93 public const CSG_WRAP_IMAGES = 'csg_wrap_images';
94 public const CSG_EXCLUDE_IMAGES = 'csg_exclude_images';
95 public const CSG_INCLUDE_IMAGES = 'csg_include_images';
96 public const LAZYLOAD_ENABLE = 'lazyload_enable';
97 public const LAZYLOAD_IFRAME = 'pro_lazyload_iframe';
98 public const USE_YOUTUBE_FACADE = 'use_youtube_facade';
99 public const LAZYLOAD_AUDIOVIDEO = 'pro_lazyload_audiovideo';
100 public const LAZYLOAD_BGIMAGES = 'pro_lazyload_bgimages';
101 public const EXCLUDE_LAZY_LOAD = 'excludeLazyLoad';
102 public const EXCLUDE_LAZY_LOAD_FOLDERS = 'pro_excludeLazyLoadFolders';
103 public const EXCLUDE_LAZY_LOAD_CLASS = 'pro_excludeLazyLoadClass';
104 public const INCLUDE_LAZY_LOAD = 'includeLazyLoad';
105 public const INCLUDE_LAZY_LOAD_FOLDERS = 'includeLazyLoadFolders';
106 public const INCLUDE_LAZY_LOAD_CLASS = 'includeLazyLoadClass';
107 public const HTTP2_PUSH_ENABLE = 'http2_push_enable';
108 public const HTTP2_FILE_TYPES = 'pro_http2_file_types';
109 public const HTTP2_PRELOAD_MODULES = 'pro_http2_preload_modules';
110 public const HTTP2_INCLUDE = 'pro_http2_include';
111 public const HTTP2_EXCLUDE = 'pro_http2_exclude';
112 public const LCP_IMAGES_ENABLE = 'pro_lcp_images_enable';
113 public const LCP_IMAGES = 'pro_lcp_images';
114 public const LCP_IDENTIFIERS = 'pro_lcp_identifiers';
115 public const LCP_IMAGES_MOBILE = 'lcp_images_mobile';
116 public const LCP_IMAGES_DESKTOP = 'lcp_images_desktop';
117 public const OPTIMIZE_FONTS_ENABLE = 'pro_optimizeFonts_enable';
118 public const FORCE_SWAP_POLICY = 'pro_force_swap_policy';
119 public const OPTIMIZE_FONT_FILES = 'pro_optimize_font_files';
120 public const PRECONNECT_DOMAINS_ENABLE = 'pro_preconnect_domains_enable';
121 public const PRECONNECT_DOMAINS = 'pro_preconnect_domains';
122 public const DNS_PREFETCH_DOMAINS = 'dns_prefetch_domains';
123 public const COOKIELESSDOMAIN_ENABLE = 'cookielessdomain_enable';
124 public const CDN_SCHEME = 'cdn_scheme';
125 public const COOKIELESSDOMAIN = 'cookielessdomain';
126 public const STATICFILES = 'staticfiles';
127 public const CUSTOMCDNEXTENSIONS = 'pro_customcdnextensions';
128 public const COOKIELESSDOMAIN_2 = 'pro_cookielessdomain_2';
129 public const STATICFILES_2 = 'pro_staticfiles_2';
130 public const COOKIELESSDOMAIN_3 = 'pro_cookielessdomain_3';
131 public const STATICFILES_3 = 'pro_staticfiles_3';
132 public const IGNORE_OPTIMIZED = 'ignore_optimized';
133 public const NEXT_GEN_IMAGES = 'pro_next_gen_images';
134 public const GEN_AVIF_IMAGES = 'gen_avif_images';
135 public const LOAD_AVIF_WEBP_IMAGES = 'load_avif_webp_images';
136 public const LOAD_WEBP_IMAGES = 'pro_load_webp_images';
137 public const LOAD_AVIF_IMAGES = 'load_avif_images';
138 public const UNSUPPORTED_BROWSERS_POLICY = 'unsupported_browsers_policy';
139 public const GEN_RESPONSIVE_IMAGES = 'pro_gen_responsive_images';
140 public const LOAD_RESPONSIVE_IMAGES = 'pro_load_responsive_images';
141 public const RESPONSIVE_IMAGE_WIDTHS = 'responsive_image_widths';
142 public const REPLACE_SRCSET_RESPONSIVE = 'replace_srcset_responsive';
143 public const CROPGRAVITY = 'cropgravity';
144 public const LOSSY = 'lossy';
145 public const SAVE_METADATA = 'save_metadata';
146 public const QUALITY = 'quality';
147 public const API_CONCURRENCY = 'pro_api_concurrency';
148 public const API_NUM_FILES = 'pro_api_num_files';
149 public const API_MAX_SIZE = 'pro_api_max_size';
150 public const API_CONNECTION_TIMEOUT = 'api_connection_timeout';
151 public const API_BASE_URL = 'pro_api_base_url';
152 public const API_CRAWL_LIMIT = 'pro_api_crawl_limit';
153 public const API_RESIZE_MODE = 'pro_api_resize_mode';
154 public const RECURSIVE = 'recursive';
155 public const REDUCE_DOM = 'pro_reduce_dom';
156 public const HTML_SECTIONS = 'pro_html_sections';
157 public const REDUCE_DOM_IDENTIFIERS = 'reduce_dom_identifiers';
158 public const REDUCE_DOM_EXCLUDE_IDENTIFIERS = 'reduce_dom_exclude_identifiers';
159 public const REDUCE_DOM_ABOVE_FOLD_IDENTIFIERS = 'reduce_dom_above_fold_identifiers';
160
161 public const DEFAULTS = [
162 self::CACHE_RANDOM_KEY => '',
163 self::DEBUG => '0',
164 self::DISABLE_LOGGED_IN_USERS => '1',
165 self::ELEMENTS_ABOVE_FOLD_HOME => '',
166 self::ELEMENTS_ABOVE_FOLD => '300',
167 self::ELEMENTS_ABOVE_FOLD_PER_PAGE => [],
168 self::ELEMENTS_ABOVE_FOLD_MARKER => '0',
169 self::MENUEXCLUDEDURL => [],
170 self::MENUEXCLUDED => [],
171 self::CACHE_STORAGE_ADAPTER => 'filesystem',
172 self::MEMCACHED_SERVER_HOST => '127.0.0.1',
173 self::MEMCACHED_SERVER_PORT => '11211',
174 self::REDIS_SERVER_HOST => '127.0.0.1',
175 self::REDIS_SERVER_PORT => '6379',
176 self::REDIS_SERVER_PASSWORD => '',
177 self::REDIS_SERVER_DATABASE => '0',
178 self::CACHE_LIFETIME => '900',
179 self::DELETE_EXPIRY => '1',
180 self::RECACHE_BASE_URL => '',
181 self::RECACHE_CRAWL_LIMIT => '100',
182 self::RECACHE_CONCURRENCY => '10',
183 self::RECACHE_MAX_DEPTH => '3',
184 self::COMBINE_FILES_ENABLE => '1',
185 self::COMBINE_FILES => '0',
186 self::SMART_COMBINE => '0',
187 self::HTML_MINIFY_LEVEL => '0',
188 self::HTACCESS => '2',
189 self::GZIP => '0',
190 self::HTML_MINIFY => '0',
191 self::INCLUDE_ALL_EXTENSIONS => '0',
192 self::PHP_AND_EXTERNAL => '0',
193 self::CSS => '1',
194 self::CSS_MINIFY => '0',
195 self::REPLACE_IMPORTS => '0',
196 self::INLINE_STYLE => '0',
197 self::EXCLUDE_CSS => [],
198 self::EXCLUDE_CSS_COMPONENTS => [],
199 self::EXCLUDE_STYLES => [],
200 self::EXCLUDE_ALL_STYLES => '0',
201 self::REMOVE_CSS => [],
202 self::OPTIMIZE_CSS_DELIVERY_ENABLE => '0',
203 self::REDUCE_UNUSED_CSS => '0',
204 self::DYNAMIC_SELECTORS => [],
205 self::DYNAMIC_CSS_SELECTORS => [],
206 self::CRITICAL_CSS_CONFIGURE_HELPER => '0',
207 self::CUSTOM_CSS_ENABLE => '0',
208 self::CUSTOM_CSS => '',
209 self::MOBILE_CSS => '',
210 self::DESKTOP_CSS => '',
211 self::JAVASCRIPT => '1',
212 self::JS_MINIFY => '0',
213 self::INLINE_SCRIPTS => '0',
214 self::BOTTOM_JS => '0',
215 self::LOAD_ASYNCHRONOUS => '0',
216 self::EXCLUDE_JS_PEO => [],
217 self::EXCLUDE_JS_COMPONENTS_PEO => [],
218 self::EXCLUDE_SCRIPTS_PEO => [],
219 self::EXCLUDE_ALL_SCRIPTS => '0',
220 self::REMOVE_JS => [],
221 self::REDUCE_UNUSED_JS_ENABLE => '0',
222 self::CRITICAL_JS => [],
223 self::CRITICAL_SCRIPTS => [],
224 self::CRITICAL_MODULES => [],
225 self::CRITICAL_MODULES_SCRIPTS => [],
226 self::PRELOAD_CRITICAL_JS => '0',
227 self::CRITICAL_JS_CONFIGURE_HELPER => '',
228 self::PAGE_CACHE_LIFETIME => '900',
229 self::PAGE_CACHE_BROWSER_CACHING => '0',
230 self::CACHE_PLATFORM => '0',
231 self::PAGE_CACHE_EXCLUDE_FORM_USERS => '1',
232 self::CACHE_EXCLUDE => [],
233 self::CACHE_EXCLUDE_MENU => [],
234 self::CACHE_EXCLUDE_COMPONENT => [
235 0 => 'com_ajax',
236 ],
237 self::PAGE_CACHE_IGNORE_QUERY_VALUES => [],
238 self::CAPTURE_CACHE_ENABLE => '0',
239 self::CF_ENABLE => '0',
240 self::CF_API_TOKEN => '',
241 self::CF_ZONE_ID => '',
242 self::CF_MODE_SWITCHER_INTEGRATION => '1',
243 self::PAGE_CACHE_INTEGRATION => 'jchpagecache',
244 self::PAGE_CACHE_INTEGRATION_ENABLE => '1',
245 self::IMG_ATTRIBUTES_ENABLE => '0',
246 self::CSG_ENABLE => '0',
247 self::CSG_DIRECTION => 'vertical',
248 self::CSG_WRAP_IMAGES => '0',
249 self::CSG_EXCLUDE_IMAGES => [],
250 self::CSG_INCLUDE_IMAGES => [],
251 self::LAZYLOAD_ENABLE => '0',
252 self::LAZYLOAD_IFRAME => '0',
253 self::USE_YOUTUBE_FACADE => '0',
254 self::LAZYLOAD_AUDIOVIDEO => '0',
255 self::LAZYLOAD_BGIMAGES => '0',
256 self::EXCLUDE_LAZY_LOAD => [],
257 self::EXCLUDE_LAZY_LOAD_FOLDERS => [],
258 self::EXCLUDE_LAZY_LOAD_CLASS => [],
259 self::INCLUDE_LAZY_LOAD => [],
260 self::INCLUDE_LAZY_LOAD_FOLDERS => [],
261 self::INCLUDE_LAZY_LOAD_CLASS => [],
262 self::HTTP2_PUSH_ENABLE => '0',
263 self::HTTP2_FILE_TYPES => [
264 0 => 'style',
265 1 => 'script',
266 2 => 'font',
267 3 => 'image',
268 ],
269 self::HTTP2_PRELOAD_MODULES => '1',
270 self::HTTP2_INCLUDE => [],
271 self::HTTP2_EXCLUDE => [],
272 self::LCP_IMAGES_ENABLE => '0',
273 self::LCP_IMAGES => [],
274 self::LCP_IDENTIFIERS => [],
275 self::LCP_IMAGES_MOBILE => [],
276 self::LCP_IMAGES_DESKTOP => [],
277 self::OPTIMIZE_FONTS_ENABLE => '0',
278 self::FORCE_SWAP_POLICY => '1',
279 self::OPTIMIZE_FONT_FILES => [],
280 self::PRECONNECT_DOMAINS_ENABLE => '0',
281 self::PRECONNECT_DOMAINS => [],
282 self::DNS_PREFETCH_DOMAINS => [],
283 self::COOKIELESSDOMAIN_ENABLE => '0',
284 self::CDN_SCHEME => '0',
285 self::COOKIELESSDOMAIN => '',
286 self::STATICFILES => [
287 0 => 'css',
288 1 => 'js',
289 2 => 'jpe?g',
290 3 => 'gif',
291 4 => 'png',
292 5 => 'ico',
293 6 => 'bmp',
294 7 => 'pdf',
295 8 => 'webp',
296 9 => 'svg',
297 ],
298 self::CUSTOMCDNEXTENSIONS => [],
299 self::COOKIELESSDOMAIN_2 => '',
300 self::STATICFILES_2 => [
301 0 => 'css',
302 1 => 'js',
303 2 => 'jpe?g',
304 3 => 'gif',
305 4 => 'png',
306 5 => 'ico',
307 6 => 'bmp',
308 7 => 'pdf',
309 8 => 'webp',
310 9 => 'svg',
311 ],
312 self::COOKIELESSDOMAIN_3 => '',
313 self::STATICFILES_3 => [
314 0 => 'css',
315 1 => 'js',
316 2 => 'jpe?g',
317 3 => 'gif',
318 4 => 'png',
319 5 => 'ico',
320 6 => 'bmp',
321 7 => 'pdf',
322 8 => 'webp',
323 9 => 'svg',
324 ],
325 self::IGNORE_OPTIMIZED => '1',
326 self::NEXT_GEN_IMAGES => '1',
327 self::GEN_AVIF_IMAGES => '1',
328 self::LOAD_AVIF_WEBP_IMAGES => '0',
329 self::LOAD_WEBP_IMAGES => '1',
330 self::LOAD_AVIF_IMAGES => '1',
331 self::UNSUPPORTED_BROWSERS_POLICY => '0',
332 self::GEN_RESPONSIVE_IMAGES => '1',
333 self::LOAD_RESPONSIVE_IMAGES => '0',
334 self::RESPONSIVE_IMAGE_WIDTHS => [
335 'mobile' => '480',
336 'tablet' => '768',
337 ],
338 self::REPLACE_SRCSET_RESPONSIVE => '0',
339 self::CROPGRAVITY => [],
340 self::LOSSY => '1',
341 self::SAVE_METADATA => '0',
342 self::QUALITY => '85',
343 self::API_CONCURRENCY => '5',
344 self::API_NUM_FILES => '',
345 self::API_MAX_SIZE => '2M',
346 self::API_CONNECTION_TIMEOUT => '30',
347 self::API_BASE_URL => '',
348 self::API_CRAWL_LIMIT => '15',
349 self::API_RESIZE_MODE => 'manual',
350 self::RECURSIVE => '1',
351 self::REDUCE_DOM => '0',
352 self::HTML_SECTIONS => [
353 0 => 'header',
354 1 => 'nav',
355 2 => 'main',
356 3 => 'article',
357 4 => 'section',
358 5 => 'aside',
359 6 => 'footer',
360 ],
361 self::REDUCE_DOM_IDENTIFIERS => [],
362 self::REDUCE_DOM_EXCLUDE_IDENTIFIERS => [],
363 self::REDUCE_DOM_ABOVE_FOLD_IDENTIFIERS => [],
364 ];
365 }
366