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

/**
 * Fonction d'installation
 *
 * @param unknown_type $nom_meta_base_version
 * @param unknown_type $version_cible
 */
function cibloc_upgrade(
	$nom_meta_base_version,
	$version_cible
) {
	$current_version = '0.0';

	if ((!isset($GLOBALS['meta'][$nom_meta_base_version]))
			|| (($current_version = $GLOBALS['meta'][$nom_meta_base_version]) != $version_cible)) {
		$maj = false;
		if (version_compare($current_version, '2.0', '<')) {
			include_spip('base/cibloc_tables');
			include_spip('base/create');
			include_spip('base/abstract_sql');
			creer_base();
			$maj = true;
		} elseif (version_compare($current_version, '2.0.1', '<')) {
			sql_alter('TABLE spip_cibloc_objets CHANGE id id varchar(50) NOT NULL');
		}

		effacer_meta($nom_meta_base_version);
		ecrire_meta($nom_meta_base_version, $current_version = $version_cible, 'non');
		spip_log('cibloc : installation version ' . $version_cible);
		if ($maj) {
			cibloc_purge();
		}
	}
}

/**
 * Fonction de desinstallation
 *
 * @param unknown_type $nom_meta_base_version
 */
function cibloc_vider_tables(
	$nom_meta_base_version
) {
	cibloc_purge();
	effacer_meta($nom_meta_base_version);
}

/**
 * Fonction de purge
 */
function cibloc_purge() {
	include_spip('inc/cibloc_commun');
	include_spip('inc/filtres');

	cibloc_purger_cache_css();

	cibloc_purger_definition_cache();

	cibloc_purger_cache_js();
}

function cibloc_supprimer_un_fichier_du_cache($contexte, $page) {
	$return = true;

	$nom_cache = generer_nom_fichier_cache($contexte, $page);
	$d = substr($nom_cache, 0, 2);
	$u = substr($nom_cache, 2, 2);
	$return = supprimer_fichier(_DIR_CACHE . "$d/$u.cache");

	return $return;
}
