<?php

/**
 * Plugin CIBLOC
 * @copyright 2018 MTECT
 * @author Christophe IMBERTI (cf. CPI art L121-1)
 * @license GNU/GPLv3
 */

if (!defined(
	'_ECRIRE_INC_VERSION'
)) {
	return;
}

include_spip('inc/cibloc_commun');
include_spip('inc/cibloc_choix_couleur');

function formulaires_cibloc_config_icones_couleur_charger_dist() {

	if (!autoriser('configurer', 'configuration')) {
		return false;
	}

	// valeurs actuelles
	$valeurs = cibloc_tableau_des_couleurs_des_icones();

	return $valeurs;
}

function formulaires_cibloc_config_icones_couleur_verifier_dist() {
	$erreurs = [];

	// tableau des couleurs
	$tableau_nom_des_couleurs = cibloc_tableau_nom_des_couleurs();

	$valeurs_actuelles = cibloc_tableau_des_couleurs_des_icones();

	foreach ($valeurs_actuelles as $cle => $valeur) {
		if (_request($cle) != 'transparent' and !in_array(_request($cle), $tableau_nom_des_couleurs)) {
			$erreurs[$cle] = _T('cibloc:valeur_incorrecte');
		}
	}

	return $erreurs;
}

function formulaires_cibloc_config_icones_couleur_traiter_dist() {
	$res = [];
	$valeurs_futures = [];
	$valeurs_actuelles = cibloc_tableau_des_couleurs_des_icones();
	$ok = false;

	foreach ($valeurs_actuelles as $cle => $valeur) {
		if ($valeur_saisie = _request($cle)) {
			if (cibloc_commun_verifier_nom_couleur($valeur_saisie)) {
				if ($valeur_saisie != $valeurs_actuelles[$cle]) {
					$valeurs_actuelles[$cle] = $valeur_saisie;
					$ok = true;
				}
			}
		}
	}

	if ($ok) {
		$nom = 'icones_couleur';
		$valeurs_futures['valeur'] = serialize($valeurs_actuelles);

		$row = sql_fetsel('*', 'spip_cibloc_config', "nom='" . $nom . "'");
		if ($row) {
			sql_updateq('spip_cibloc_config', $valeurs_futures, "nom='" . $nom . "'");
		} else {
			$valeurs_futures['nom'] = $nom;
			sql_insertq('spip_cibloc_config', $valeurs_futures);
		}

		cibloc_purger_cache_css();
		//                cibloc_purger_definition_cache();
		//                cibloc_purger_cache_js();
	}

	$res['message_ok'] = '';
	$res['redirect'] = generer_url_ecrire('configurer_cibloc');

	return $res;
}
