Diff: STRATO-apps/wordpress_03/app/wp-content/themes/blocksy/inc/classes/db-versioning/v2-0-87.php

Keine Baseline-Datei – Diff nur gegen leer.
Zur Liste
1 -
1 + <?php
2 +
3 + namespace Blocksy\DbVersioning;
4 +
5 + class V2087 {
6 + public function migrate() {
7 + $this->enable_extensions();
8 + }
9 +
10 + public function enable_extensions() {
11 + if (
12 + ! function_exists('wc_get_attribute_taxonomies')
13 + ||
14 + ! class_exists('\Blocksy\Plugin')
15 + ||
16 + ! in_array(
17 + 'woocommerce-extra',
18 + get_option('blocksy_active_extensions', [])
19 + )
20 + ) {
21 + return;
22 + }
23 +
24 + if (! class_exists('\Blocksy\Extensions\WoocommerceExtra\Storage')) {
25 + return;
26 + }
27 +
28 + $storage = new \Blocksy\Extensions\WoocommerceExtra\Storage();
29 + $settings = $storage->get_settings();
30 +
31 + if (
32 + ! isset($settings['features']['added-to-cart-popup'])
33 + ||
34 + ! $settings['features']['added-to-cart-popup']
35 + ) {
36 + return;
37 + }
38 +
39 + if (
40 + get_theme_mod(
41 + 'cart_popup_suggested_products',
42 + '__empty__'
43 + ) !== '__empty__'
44 + ||
45 + get_theme_mod('added_to_cart_popup_suggested_products', 'yes') === 'no'
46 + ) {
47 + return;
48 + }
49 +
50 + $settings = update_option(
51 + 'blocksy_ext_woocommerce_extra_settings',
52 + array_merge(
53 + $settings,
54 + [
55 + 'features' => array_merge(
56 + $settings['features'],
57 + [
58 + 'suggested-products' => true
59 + ]
60 + )
61 + ]
62 + )
63 + );
64 +
65 + remove_theme_mod('added_to_cart_popup_suggested_products');
66 +
67 + set_theme_mod('checkout_suggested_products', 'no');
68 + set_theme_mod('mini_cart_suggested_products', 'no');
69 +
70 + $migrate_options = [
71 + 'suggested_products_visibility',
72 + 'suggested_products_title_font',
73 + 'suggested_products_title_color',
74 + 'suggested_products_price_font',
75 + 'suggested_products_price_color',
76 + ];
77 +
78 + $theme_mods = [
79 + 'suggested_products_source' => 'added_to_cart_popup_products_source',
80 + 'suggested_products_columns' => 'added_to_cart_popup_products_columns',
81 + 'suggested_products_number_of_items' => 'added_to_cart_popup_products_number_of_items',
82 + 'suggested_products_type' => 'added_to_cart_popup_products_type',
83 + 'suggested_products_autoplay_speed' => 'added_to_cart_popup_products_autoplay_speed',
84 + ];
85 +
86 + $all_options = array_merge($theme_mods, array_combine($migrate_options, $migrate_options));
87 +
88 + foreach ($all_options as $key => $mod) {
89 + $value = get_theme_mod($mod, '__empty__');
90 +
91 + if ($value !== '__empty__') {
92 + remove_theme_mod($mod);
93 +
94 + $new_key = "cart_popup_$key";
95 + set_theme_mod($new_key, $value);
96 + }
97 + }
98 +
99 + blocksy_manager()->db->wipe_cache();
100 + }
101 + }
102 +