<?php


/***********************************************************************************************
                           MODIFIER PALETTE DE COULEUR DIVI            
***********************************************************************************************/

/*------------------------ SYNCHRO PALETTE DIVI A PARTIR DE LA PALETTE GUTENBERG -----------------------------------*/

function eccp_gutenberg_color_palette( ) {
	
	// On récupère les paramètres de la palette de couleurs
	$settings  = get_option( 'eccp_multiple_setting' );
	
	$colors_gutenberg = $settings['eccp_settings_color_one'].'|'.$settings['eccp_settings_color_two'].'|'.
						$settings['eccp_settings_color_three'].'|'.$settings['eccp_settings_color_four'].'|'.
						$settings['eccp_settings_color_five'].'|'.$settings['eccp_settings_color_six'].'|'.
						$settings['eccp_settings_color_seven'].'|'.$settings['eccp_settings_color_eight'];
		
	return $colors_gutenberg;
	
}


function eccp_update_divi_color_palette() {
	
	// Dans la table wp_option avec option_name = et_divi,le champ option_value  
	// renvoi un tableau a une dimmension.
	// la palette de couleur DIVI composée de 8 couleurs est donnée pour 
	// l'index divi_color_palette du tableau qui renvoi une chaine de 63 caractères.
	//ex  ["divi_color_palette"]=> string(63) "#000000|#ffffff|#e02b20|#e09900|#6D908E|#7cda24|#e02b20|#e02b20"
	$theme_divi_option = get_option( 'et_divi', $default = false );
	
	// s'il y a des options pour le theme DIVI,alors DIVI est installé
	if ( $theme_divi_option ) {
		
		//var_dump($theme_divi_option);
		
		//on récupère les 8 premières couleurs de notre palette de couleurs Gutenberg
		$colors_gutenberg = eccp_gutenberg_color_palette();
		
		// si notre palette est définie
		if ( $colors_gutenberg ) {
			
			//var_dump($colors_gutenberg);
			
			// on met a jour la palette de couleurs DIVI avec celle de Gutenberg
			$theme_divi_option['divi_color_palette'] = $colors_gutenberg;
			
			// on met à jour les options du theme divi dans la table table wp_option 
			// avec la palette de couleurs Gutenberg 
			update_option( 'et_divi', $theme_divi_option, '', 'yes' );
			
		}
		
	}// fin si DIVI est installé
}

// si on a activé la synchronisation de la palette de couleurs & mode synchro Gutenberg vers Divi 
/*
if( $divi_settings['eccp_activate_synchronization_divi_color_palette_radio_field'] == 'yes'  &&  
    $divi_settings['eccp_choose_synchronization_radio_field'] == 'synchro-gutenberg-to-divi') {
	add_action( 'init', 'eccp_update_divi_color_palette' );
}
*/

$value_synchro_divi = isset( $divi_settings['eccp_activate_synchronization_divi_color_palette_radio_field'] ) ?  $divi_settings['eccp_activate_synchronization_divi_color_palette_radio_field'] : 'no';
$value_synchro_mode = isset( $divi_settings['eccp_choose_synchronization_radio_field'] ) ?  $divi_settings['eccp_choose_synchronization_radio_field'] : 'synchro-gutenberg-to-divi';
// si on a activé la synchronisation de la palette de couleurs & mode synchro Gutenberg vers Divi 
if( $value_synchro_divi == 'yes'  &&  $value_synchro_mode == 'synchro-gutenberg-to-divi') {
	add_action( 'init', 'eccp_update_divi_color_palette' );
}


/*------------------------ SYNCHRO PALETTE GUTENBERG A PARTIR DE LA PALETTE DIVI -----------------------------------*/


function eccp_update_gutenberg_color_palette() {
	
	// Dans la table wp_option avec option_name = et_divi,le champ option_value  
	// renvoi un tableau a une dimmension.
	// la palette de couleur DIVI composée de 8 couleurs est donnée pour 
	// l'index divi_color_palette du tableau qui renvoi une chaine de 63 caractères.
	//ex  ["divi_color_palette"]=> string(63) "#000000|#ffffff|#e02b20|#e09900|#6D908E|#7cda24|#e02b20|#e02b20"
	$theme_divi_option = get_option( 'et_divi', $default = false );
	
	// s'il y a des options pour le theme DIVI,alors DIVI est installé
	if ( $theme_divi_option ) {
		
		$colors_divi = explode("|", $theme_divi_option['divi_color_palette']);
		
		// si notre palette est définie
		if ( $colors_divi ) {
			
			//var_dump($colors_divi);
			
			// On récupère les paramètres de la palette ce couleurs
			$settings  = get_option( 'eccp_multiple_setting' );
			
			//var_dump($settings);
		
			/*---- on affecte les options de réglages de la palette de couleurs Gutenberg
			 eccp_rgba_to_hex($rgba) 
			 si la couleur passé en paramètre est une valeur hexadécimale
			 on n'effectue pas la conversion RGBA --> Hexadécimal
			 on retourne un tableau
			 $color_hex['hex'] ==> la valeur hexadécimale passé en paramètre
			 $color_hex['opacity'] = '100'
			 sinon on effectue la conversion d'une couleur RGBA en hexadécimal 
			 et on retourne un tableau:
			 $color_hex['hex'] ==> la valeur RGBA de la couleur converti en hexadécimal 
			 $color_hex['opacity'] ==> la valeur de l'opacité * 100
			  -----*/
			
			// Couleur N°1
			$colors_hex = eccp_rgba_to_hex($colors_divi[0]);	
			$settings['eccp_settings_color_one_text_field'] = $colors_hex['hex'];
			$settings['eccp_settings_opacity_color_one_text_field'] = $colors_hex['opacity'];
			
			// Couleur N°2
			$colors_hex = eccp_rgba_to_hex($colors_divi[1]);	
			$settings['eccp_settings_color_two_text_field'] = $colors_hex['hex'];
			$settings['eccp_settings_opacity_color_two_text_field'] = $colors_hex['opacity'];
			
			// Couleur N°3
			$colors_hex = eccp_rgba_to_hex($colors_divi[2]);	
			$settings['eccp_settings_color_three_text_field'] = $colors_hex['hex'];
			$settings['eccp_settings_opacity_color_three_text_field'] = $colors_hex['opacity'];
			
			// Couleur N°4
			$colors_hex = eccp_rgba_to_hex($colors_divi[3]);	
			$settings['eccp_settings_color_four_text_field'] = $colors_hex['hex'];
			$settings['eccp_settings_opacity_color_four_text_field'] = $colors_hex['opacity'];
			
			// Couleur N°5
			$colors_hex = eccp_rgba_to_hex($colors_divi[4]);	
			$settings['eccp_settings_color_five_text_field'] = $colors_hex['hex'];
			$settings['eccp_settings_opacity_color_five_text_field'] = $colors_hex['opacity'];
			
			// Couleur N°6
			$colors_hex = eccp_rgba_to_hex($colors_divi[5]);	
			$settings['eccp_settings_color_six_text_field'] = $colors_hex['hex'];
			$settings['eccp_settings_opacity_color_six_text_field'] = $colors_hex['opacity'];
			
			// Couleur N°7
			$colors_hex = eccp_rgba_to_hex($colors_divi[6]);	
			$settings['eccp_settings_color_seven_text_field'] = $colors_hex['hex'];
			$settings['eccp_settings_opacity_color_seven_text_field'] = $colors_hex['opacity'];
			
			// Couleur N°8
			$colors_hex = eccp_rgba_to_hex($colors_divi[7]);	
			$settings['eccp_settings_color_eight_text_field'] = $colors_hex['hex'];
			$settings['eccp_settings_opacity_color_eight_text_field'] = $colors_hex['opacity'];
			
			// on met à jour la palette Gutenberg avec les couleurs de la palette DIVI
		    update_option( 'eccp_multiple_setting', $settings, '', 'yes' );
			
		}
		
	}// fin si DIVI est installé
}


// si on a activé la synchronisation de la palette de couleurs & mode synchro Gutenberg vers Divi 
/*
if( $divi_settings['eccp_activate_synchronization_divi_color_palette_radio_field'] == 'yes'  &&  
    $divi_settings['eccp_choose_synchronization_radio_field'] == 'synchro-divi-to-gutenberg') {
	add_action( 'init', 'eccp_update_divi_color_palette' );
}
*/


$value_synchro_divi = isset( $divi_settings['eccp_activate_synchronization_divi_color_palette_radio_field'] ) ?  $divi_settings['eccp_activate_synchronization_divi_color_palette_radio_field'] : 'no';
$value_synchro_mode = isset( $divi_settings['eccp_choose_synchronization_radio_field'] ) ?  $divi_settings['eccp_choose_synchronization_radio_field'] : 'synchro-gutenberg-to-divi';
// si on a activé la synchronisation de la palette de couleurs & mode synchro Divi vers Gutenberg 
if( $value_synchro_divi  == 'yes'  &&  $value_synchro_mode == 'synchro-divi-to-gutenberg') {
	add_action( 'init', 'eccp_update_gutenberg_color_palette' );
}
