示例#1
0
/**
 * Pour mise à jour de PSIP-Listes
 *
 * @return string
 */
function spiplistes_upgrade () {

	$spiplistes_name = _SPIPLISTES_PREFIX;
	$spiplistes_current_version =  spiplistes_current_version_get(_SPIPLISTES_PREFIX);
	$spiplistes_real_version = spiplistes_real_version_get(_SPIPLISTES_PREFIX);
	$spiplistes_current_version_base = spiplistes_current_version_base_get(_SPIPLISTES_PREFIX);
	$spiplistes_real_version_base = spiplistes_real_version_base_get(_SPIPLISTES_PREFIX);

	spiplistes_log("VERSIONS MOD DETECTED [$spiplistes_current_version::$spiplistes_real_version][$spiplistes_current_version_base::$spiplistes_real_version_base]");

	if(!$spiplistes_current_version) {
	// SPIP-Listes n'a jamais ete installe ? 
		include_spip('base/spiplistes_init');
		$spiplistes_current_version_base = spiplistes_base_creer();
	}

	if($spiplistes_current_version_base < $spiplistes_real_version_base) {
	// upgrade de la base ?
		$spiplistes_current_version_base = spiplistes_upgrade_base(
			$spiplistes_name
			, $spiplistes_current_version
			, $spiplistes_current_version_base
			, $spiplistes_real_version_base
			);
	}
	
	if($spiplistes_current_version < $spiplistes_real_version) {

		spiplistes_log("UPGRADING $spiplistes_name $spiplistes_current_version TO $spiplistes_real_version");

		if($spiplistes_current_version < 1.9982) {
			// Ne modifie pas le schema. Ajoute juste une legende sur les tables
			sql_alter("TABLE spip_listes COMMENT ".sql_quote("Listes de diffusion"));
			sql_alter("TABLE spip_courriers COMMENT ".sql_quote("Panier des courriers (casiers)"));
			sql_alter("TABLE spip_auteurs_courriers COMMENT ".sql_quote("Queue des envois de courriers"));
			sql_alter("TABLE spip_auteurs_listes COMMENT ".sql_quote("Listes de abonnements aux listes"));
			sql_alter("TABLE spip_auteurs_mod_listes COMMENT ".sql_quote("Moderateurs des listes de diffusion"));
			sql_alter("TABLE spip_auteurs_elargis COMMENT ".sql_quote("Preferences des auteurs/abonnes (formats recept.)"));
			$spiplistes_current_version = 1.9923;
		}

/* ... */


	// Ajouter au dessus de cette ligne les patches si besoin pour nouvelle version de SPIP-Listes
	// qui ne concerne pas la base (changement de nom de script, de patron, etc.)

	// fin des ajouts de patches
		ecrire_meta('spiplistes_version', $spiplistes_real_version);
		spiplistes_ecrire_metas();
	}
	
	return($spiplistes_current_version);
}
/**
 * Petite signature du plugin
 *
 * Signature affichée en bas de formualire en espace privé.
 * @param $prefix string prefix du plugin
 * @param $html bool si true, renvoyer le resultat au format html
 * @param $verifier_svn si true
 * @return string petite signature de plugin (version plugin, version base, version jquery)
 */
function spiplistes_html_signature ($prefix, $html = true, $verifier_svn = false) {
	
	$info = spiplistes_plugin_get_infos(spiplistes_get_meta_dir($prefix));
	$nom = typo($info['nom']);
	$version = typo($info['version']);
	//$base_version = typo($info['version_base']); // cache ?
	$base_version = spiplistes_current_version_base_get($prefix);
	$svnrevision = spiplistes_current_svnrevision_get($prefix, $verifier_svn);
	$revision = "";
	
	if($html) {
		$version = (($version) ? " <span style='color:gray;'>".$version : "")
			. (($svnrevision) ? "-".$svnrevision : "")
			. "</span>"
			;
		$base_version = (($base_version) ? " <span style='color:#66c;'>&lt;".$base_version."&gt;</span>" : "");
	}
	$result = ''
		. $nom
		. ' ' . $version
		. ' ' . $base_version
		;
	if($html) {
		$result = "<p class='verdana1 spip_xx-small' style='font-weight:bold;'>$result\n"
		. "<script type='text/javascript'>\n"
		. "//<![CDATA[\n"
		. "document.write(' <span style=\'color:green\'>jQuery ' + jQuery.fn.jquery + '</span>')"
		. "//]]>\n"
		. "</script>\n"
		. "<noscript>\n"
		. "<span style='color:red'>" . _T('spiplistes:jquery_inactif') . "</span>"
		. "</noscript>\n"
		. "</p>\n";
	}
	return($result);
} // end spiplistes_html_signature()