64 lines
1.4 KiB
PHP
64 lines
1.4 KiB
PHP
|
|
<?php
|
||
|
|
|
||
|
|
namespace Blocksy\DbVersioning;
|
||
|
|
|
||
|
|
class V210 {
|
||
|
|
public function migrate() {
|
||
|
|
$this->migrate_background_to_color([
|
||
|
|
'background_id' => 'compare_modal_background',
|
||
|
|
'default_color' => 'var(--theme-palette-color-8)'
|
||
|
|
]);
|
||
|
|
|
||
|
|
$this->migrate_background_to_color([
|
||
|
|
'background_id' => 'compare_modal_backdrop',
|
||
|
|
'default_color' => 'rgba(18, 21, 25, 0.8)'
|
||
|
|
]);
|
||
|
|
|
||
|
|
$this->migrate_background_to_color([
|
||
|
|
'background_id' => 'product_compare_bar_background',
|
||
|
|
'default_color' => \Blocksy_Css_Injector::get_skip_rule_keyword('DEFAULT')
|
||
|
|
]);
|
||
|
|
}
|
||
|
|
|
||
|
|
private function migrate_background_to_color($args = []) {
|
||
|
|
$args = wp_parse_args($args, [
|
||
|
|
'background_id' => null,
|
||
|
|
'color_id' => null,
|
||
|
|
'default_color' => '#000000'
|
||
|
|
]);
|
||
|
|
|
||
|
|
// Same ID by default.
|
||
|
|
if (! $args['color_id']) {
|
||
|
|
$args['color_id'] = $args['background_id'];
|
||
|
|
}
|
||
|
|
|
||
|
|
$background = get_theme_mod($args['background_id'], '__empty__');
|
||
|
|
|
||
|
|
if (
|
||
|
|
$background === '__empty__'
|
||
|
|
||
|
||
|
|
! isset($background['backgroundColor'])
|
||
|
|
) {
|
||
|
|
return;
|
||
|
|
}
|
||
|
|
|
||
|
|
blocksy_print($background);
|
||
|
|
|
||
|
|
$next_color = $args['default_color'];
|
||
|
|
|
||
|
|
if (
|
||
|
|
! empty($background['backgroundColor'])
|
||
|
|
&&
|
||
|
|
! empty($background['backgroundColor']['default'])
|
||
|
|
&&
|
||
|
|
! empty($background['backgroundColor']['default']['color'])
|
||
|
|
) {
|
||
|
|
$next_color = $background['backgroundColor']['default']['color'];
|
||
|
|
}
|
||
|
|
|
||
|
|
set_theme_mod($args['color_id'], [
|
||
|
|
'default' => ['color' => $next_color]
|
||
|
|
]);
|
||
|
|
}
|
||
|
|
}
|