<?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');

function formulaires_cibloc_config_icones_liste_charger_dist() {

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

	$valeurs = [];

	// valeurs actuelles
	$nom_champ = 'icones_liste';
	$valeurs[$nom_champ] = cibloc_liste_des_icones_sur_une_colonne();

	return $valeurs;
}

function formulaires_cibloc_config_icones_liste_verifier_dist() {
	$erreurs = [];

	$nom_champ = 'icones_liste';
	$request_nom_champ = _request($nom_champ);
	if (!empty($request_nom_champ)) {
		$safe = str_replace(["'", '"', CHR(10), CHR(13), ' '], '', $request_nom_champ);
		$safe = trim($safe);
		if (substr($safe, -1) == ',') {
			$safe = substr($safe, 0, -1);
		}
		if (!ctype_alnum(str_replace(['-', ','], '', $safe))) {
			$erreurs[$nom_champ] = _T('cibloc:listeicones_incorrect');
		}
		if (strtolower($safe) != $safe) {
			$erreurs[$nom_champ] = _T('cibloc:listeicones_incorrect');
		}
	}
	return $erreurs;
}

function formulaires_cibloc_config_icones_liste_traiter_dist() {
	$res = [];
	$valeurs_futures = [];
	$valeur_actuelle = cibloc_liste_des_icones_sur_une_colonne();
	$ok = false;

	$nom_champ = 'icones_liste';
	if ($valeur_saisie = _request($nom_champ)) {
		if ($valeur_saisie != $valeur_actuelle) {
			// verifier
			$safe = str_replace(["'", '"', CHR(10), CHR(13), ' '], '', $valeur_saisie);
			$safe = trim($safe);
			if (substr($safe, -1) == ',') {
				$safe = substr($safe, 0, -1);
			}
			if (ctype_alnum(str_replace(['-', ','], '', $safe))) {
				// convertir en tableau puis serialize
				$valeurs_futures['valeur'] = serialize(explode(',', $safe));
				$ok = true;
			}
		}
	}

	if ($ok) {
		$nom = 'icones_liste';
		$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_definition_cache();
		cibloc_purger_cache_js();
	}

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

	return $res;
}
