169 lines
3.5 KiB
PHP
169 lines
3.5 KiB
PHP
<?php
|
|
|
|
namespace Blocksy\DbVersioning;
|
|
|
|
class V2031 {
|
|
public function migrate() {
|
|
$this->migrate_share_box_title();
|
|
$this->migrate_share_box_title_products();
|
|
$this->migrate_post_types_extra_filters();
|
|
}
|
|
|
|
public function migrate_share_box_title() {
|
|
$prefixes = blocksy_manager()->screen->get_single_prefixes([
|
|
'has_bbpress' => true,
|
|
'has_buddy_press' => true
|
|
]);
|
|
|
|
foreach ($prefixes as $prefix) {
|
|
$has_share_box_title = get_theme_mod(
|
|
$prefix . '_has_share_box_title',
|
|
'no'
|
|
);
|
|
|
|
$share_box_title = get_theme_mod(
|
|
$prefix . '_share_box_title',
|
|
__('Share your love', 'blocksy')
|
|
);
|
|
|
|
if ($has_share_box_title === 'no') {
|
|
set_theme_mod($prefix . '_share_box_title', '');
|
|
}
|
|
}
|
|
}
|
|
|
|
public function migrate_share_box_title_products() {
|
|
$woo_single_layout = get_theme_mod(
|
|
'woo_single_layout',
|
|
[]
|
|
);
|
|
|
|
if (! empty($woo_single_layout)) {
|
|
$descriptor = $this->migrate_share_box_in_layout($woo_single_layout);
|
|
|
|
if ($descriptor['changed']) {
|
|
set_theme_mod('woo_single_layout', $descriptor['layout']);
|
|
}
|
|
}
|
|
|
|
$woo_single_split_layout = get_theme_mod(
|
|
'woo_single_split_layout',
|
|
[
|
|
'left' => [],
|
|
'right' => []
|
|
]
|
|
);
|
|
|
|
$split_changed = false;
|
|
|
|
if (! empty($woo_single_split_layout['left'])) {
|
|
$descriptor = $this->migrate_share_box_in_layout(
|
|
$woo_single_split_layout['left']
|
|
);
|
|
|
|
if ($descriptor['changed']) {
|
|
$split_changed = true;
|
|
$woo_single_split_layout['left'] = $descriptor['layout'];
|
|
}
|
|
}
|
|
|
|
if (! empty($woo_single_split_layout['right'])) {
|
|
$descriptor = $this->migrate_share_box_in_layout(
|
|
$woo_single_split_layout['right']
|
|
);
|
|
|
|
if ($descriptor['changed']) {
|
|
$split_changed = true;
|
|
$woo_single_split_layout['right'] = $descriptor['layout'];
|
|
}
|
|
}
|
|
|
|
if ($split_changed) {
|
|
set_theme_mod('woo_single_split_layout', $woo_single_split_layout);
|
|
}
|
|
}
|
|
|
|
public function migrate_share_box_in_layout($layout) {
|
|
$changed = false;
|
|
|
|
foreach ($layout as $index => $element) {
|
|
if ($element['id'] !== 'product_sharebox') {
|
|
continue;
|
|
}
|
|
|
|
$has_share_box_title = blocksy_akg(
|
|
'has_share_box_title',
|
|
$element,
|
|
'no'
|
|
);
|
|
|
|
$share_box_title = get_theme_mod(
|
|
'share_box_title',
|
|
$element,
|
|
__('Share your love', 'blocksy')
|
|
);
|
|
|
|
if ($has_share_box_title === 'no') {
|
|
$layout[$index]['share_box_title'] = '';
|
|
$changed = true;
|
|
}
|
|
}
|
|
|
|
return [
|
|
'layout' => $layout,
|
|
'changed' => $changed
|
|
];
|
|
}
|
|
|
|
public function migrate_post_types_extra_filters() {
|
|
$prefixes = blocksy_manager()->screen->get_archive_prefixes();
|
|
|
|
foreach ($prefixes as $prefix) {
|
|
$has_archive_filtering = get_theme_mod(
|
|
$prefix . '_has_archive_filtering',
|
|
'no'
|
|
);
|
|
|
|
if ($has_archive_filtering !== 'yes') {
|
|
continue;
|
|
}
|
|
|
|
$filter_font_color = get_theme_mod(
|
|
$prefix . '_filter_font_color',
|
|
'__empty__'
|
|
);
|
|
|
|
if ($filter_font_color === '__empty__') {
|
|
continue;
|
|
}
|
|
|
|
$filter_type = get_theme_mod(
|
|
$prefix . '_filter_type',
|
|
'__empty__'
|
|
);
|
|
|
|
if ($filter_type !== 'buttons') {
|
|
continue;
|
|
}
|
|
|
|
if (
|
|
isset($filter_font_color['default_2'])
|
|
||
|
|
isset($filter_font_color['hover_2'])
|
|
||
|
|
! isset($filter_font_color['default'])
|
|
||
|
|
! isset($filter_font_color['hover'])
|
|
) {
|
|
continue;
|
|
}
|
|
|
|
$filter_font_color['default_2'] = $filter_font_color['default'];
|
|
$filter_font_color['hover_2'] = $filter_font_color['hover'];
|
|
|
|
set_theme_mod($prefix . '_filter_font_color', $filter_font_color);
|
|
}
|
|
}
|
|
}
|
|
|