Diff: STRATO-apps/wordpress_03/app/wp-content/themes/blocksy/inc/integrations/simply-static.php

Keine Baseline-Datei – Diff nur gegen leer.
Zur Liste
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 +