initial
This commit is contained in:
@@ -0,0 +1,115 @@
|
||||
<?php
|
||||
/**
|
||||
* Handles legacy attributes that have changed.
|
||||
*
|
||||
* @package GenerateBlocks
|
||||
*/
|
||||
|
||||
if ( ! defined( 'ABSPATH' ) ) {
|
||||
exit; // Exit if accessed directly.
|
||||
}
|
||||
|
||||
/**
|
||||
* Provides a method to define old attributes and serve old settings based on them.
|
||||
*/
|
||||
class GenerateBlocks_Legacy_Attributes {
|
||||
/**
|
||||
* Get our old defaults that have changed.
|
||||
*
|
||||
* @param string $version The version to get defaults from.
|
||||
*/
|
||||
public static function get_defaults( $version ) {
|
||||
if ( '1.4.0' === $version ) {
|
||||
return apply_filters(
|
||||
'generateblocks_defaults',
|
||||
array(
|
||||
'gridContainer' => array(
|
||||
'horizontalGap' => 30,
|
||||
),
|
||||
'container' => array(
|
||||
'paddingTop' => '40',
|
||||
'paddingRight' => '40',
|
||||
'paddingBottom' => '40',
|
||||
'paddingLeft' => '40',
|
||||
'width' => 50,
|
||||
'widthMobile' => 100,
|
||||
'gradientDirection' => 90,
|
||||
'gradientColorOne' => '#ffffff',
|
||||
'gradientColorOneOpacity' => 0.1,
|
||||
'gradientColorTwo' => '#000000',
|
||||
'gradientColorTwoOpacity' => 0.3,
|
||||
),
|
||||
'button' => array(
|
||||
'gradientDirection' => 90,
|
||||
'gradientColorOne' => '#ffffff',
|
||||
'gradientColorOneOpacity' => 0.1,
|
||||
'gradientColorTwo' => '#000000',
|
||||
'gradientColorTwoOpacity' => 0.3,
|
||||
),
|
||||
)
|
||||
);
|
||||
}
|
||||
}
|
||||
|
||||
/**
|
||||
* Update our settings based on old defaults.
|
||||
*
|
||||
* @param string $version The version to target.
|
||||
* @param string $block The name of the block we're targeting.
|
||||
* @param array $settings The current settings.
|
||||
* @param array $atts The block attributes.
|
||||
*/
|
||||
public static function get_settings( $version, $block, $settings, $atts ) {
|
||||
$legacy_defaults = self::get_defaults( $version );
|
||||
|
||||
if ( empty( $legacy_defaults ) ) {
|
||||
return $settings;
|
||||
}
|
||||
|
||||
if ( '1.4.0' === $version ) {
|
||||
if ( 'grid' === $block ) {
|
||||
$legacy_settings = wp_parse_args(
|
||||
$atts,
|
||||
$legacy_defaults['gridContainer']
|
||||
);
|
||||
|
||||
$settings['horizontalGap'] = $legacy_settings['horizontalGap'];
|
||||
}
|
||||
|
||||
if ( 'container' === $block ) {
|
||||
$legacy_settings = wp_parse_args(
|
||||
$atts,
|
||||
$legacy_defaults['container']
|
||||
);
|
||||
|
||||
$settings['paddingTop'] = $legacy_settings['paddingTop'];
|
||||
$settings['paddingRight'] = $legacy_settings['paddingRight'];
|
||||
$settings['paddingBottom'] = $legacy_settings['paddingBottom'];
|
||||
$settings['paddingLeft'] = $legacy_settings['paddingLeft'];
|
||||
$settings['width'] = $legacy_settings['width'];
|
||||
$settings['widthMobile'] = $legacy_settings['widthMobile'];
|
||||
|
||||
$settings['gradientDirection'] = $legacy_settings['gradientDirection'];
|
||||
$settings['gradientColorOne'] = $legacy_settings['gradientColorOne'];
|
||||
$settings['gradientColorOneOpacity'] = $legacy_settings['gradientColorOneOpacity'];
|
||||
$settings['gradientColorTwo'] = $legacy_settings['gradientColorTwo'];
|
||||
$settings['gradientColorTwoOpacity'] = $legacy_settings['gradientColorTwoOpacity'];
|
||||
}
|
||||
|
||||
if ( 'button' === $block ) {
|
||||
$button_legacy_settings = wp_parse_args(
|
||||
$atts,
|
||||
$legacy_defaults['button']
|
||||
);
|
||||
|
||||
$settings['gradientColorOne'] = $button_legacy_settings['gradientColorOne'];
|
||||
$settings['gradientColorOneOpacity'] = $button_legacy_settings['gradientColorOneOpacity'];
|
||||
$settings['gradientColorTwo'] = $button_legacy_settings['gradientColorTwo'];
|
||||
$settings['gradientColorTwoOpacity'] = $button_legacy_settings['gradientColorTwoOpacity'];
|
||||
$settings['gradientDirection'] = $button_legacy_settings['gradientDirection'];
|
||||
}
|
||||
}
|
||||
|
||||
return $settings;
|
||||
}
|
||||
}
|
||||
Reference in New Issue
Block a user