Diff: STRATO-apps/wordpress_03/app/wp-content/themes/blocksy/inc/integrations/simply-static.php
Keine Baseline-Datei – Diff nur gegen leer.
1
-
1
+
<?php
2
+
3
+
add_action(
4
+
'ss_after_extract_and_replace_urls_in_html',
5
+
function ($html_content, $url_extractor) {
6
+
if ($html_content instanceof \DOMDocument) {
7
+
$html_content = $html_content->saveHTML();
8
+
}
9
+
10
+
$pattern = '/<script[^>]*id=[\'"]ct-scripts-js-extra[\'"][^>]*>(.*?)<\/script>/is';
11
+
12
+
$blocksy_scripts = [];
13
+
14
+
if (preg_match_all($pattern, $html_content, $matches)) {
15
+
foreach ($matches[0] as $match) {
16
+
$script_content = preg_replace('/<script[^>]*id=[\'"]ct-scripts-js-extra[\'"][^>]*>/', '', $match);
17
+
$script_content = preg_replace('/<\/script>/', '', $script_content);
18
+
19
+
$blocksy_scripts[] = $script_content;
20
+
}
21
+
}
22
+
23
+
foreach ($blocksy_scripts as $single_script) {
24
+
$content = $single_script;
25
+
26
+
$all_components = explode('};', $content);
27
+
28
+
$ct_localizations = str_replace(
29
+
'var ct_localizations = ', '',
30
+
array_shift($all_components)
31
+
) . '}';
32
+
33
+
$decoded = json_decode($ct_localizations, true);
34
+
35
+
$decoded['ajax_url'] = $url_extractor->add_to_extracted_urls(
36
+
$decoded['ajax_url']
37
+
);
38
+
39
+
$decoded['public_url'] = str_replace(
40
+
'index.html',
41
+
'',
42
+
$url_extractor->add_to_extracted_urls($decoded['public_url'])
43
+
);
44
+
45
+
$decoded['rest_url'] = $url_extractor->add_to_extracted_urls(
46
+
$decoded['rest_url']
47
+
);
48
+
49
+
$decoded['dynamic_styles']['lazy_load'] = $url_extractor->add_to_extracted_urls(
50
+
$decoded['dynamic_styles']['lazy_load']
51
+
);
52
+
53
+
$decoded['dynamic_styles']['search_lazy'] = $url_extractor->add_to_extracted_urls(
54
+
$decoded['dynamic_styles']['search_lazy']
55
+
);
56
+
57
+
foreach ($decoded['dynamic_js_chunks'] as $index => $single_chunk) {
58
+
$decoded['dynamic_js_chunks'][$index]['url'] = $url_extractor
59
+
->add_to_extracted_urls(
60
+
$decoded['dynamic_js_chunks'][$index]['url']
61
+
);
62
+
}
63
+
64
+
foreach ($decoded['dynamic_styles_selectors'] as $index => $single_chunk) {
65
+
$decoded['dynamic_styles_selectors'][$index]['url'] = $url_extractor
66
+
->add_to_extracted_urls(
67
+
$decoded['dynamic_styles_selectors'][$index]['url']
68
+
);
69
+
}
70
+
71
+
$decoded['dynamic_styles_selectors'][0]['url'] = $url_extractor
72
+
->add_to_extracted_urls(
73
+
$decoded['dynamic_styles_selectors'][0]['url']
74
+
);
75
+
76
+
$result = 'var ct_localizations = ' . json_encode($decoded, JSON_UNESCAPED_UNICODE) . ';' . implode(
77
+
'};',
78
+
$all_components
79
+
);
80
+
81
+
$single_script = $result;
82
+
}
83
+
},
84
+
10, 2
85
+
);
86
+
87
+
// old version
88
+
// add_action(
89
+
// 'ss_after_setup_task',
90
+
// function () {
91
+
// \Simply_Static\Setup_Task::add_additional_files_to_db(
92
+
// get_template_directory() . '/static/bundle'
93
+
// );
94
+
95
+
// if (defined('BLOCKSY_PATH')) {
96
+
// \Simply_Static\Setup_Task::add_additional_files_to_db(
97
+
// BLOCKSY_PATH . '/static/bundle'
98
+
// );
99
+
100
+
// \Simply_Static\Setup_Task::add_additional_files_to_db(
101
+
// BLOCKSY_PATH . '/framework/premium/static/bundle'
102
+
// );
103
+
// }
104
+
// }
105
+
// );
106
+
107
+
// new version
108
+
add_filter(
109
+
'ss_additional_files',
110
+
function ($additional_files) {
111
+
$additional_files[] = get_template_directory() . '/static/bundle';
112
+
113
+
if (defined('BLOCKSY_PATH')) {
114
+
$additional_files[] = BLOCKSY_PATH . '/static/bundle';
115
+
$additional_files[] = BLOCKSY_PATH . '/framework/premium/static/bundle';
116
+
}
117
+
118
+
return $additional_files;
119
+
}
120
+
);
121
+
122
+
123
+