Valider 4517713c rédigé par eric@smellup.net's avatar eric@smellup.net
Parcourir les fichiers

On corrige le tri des paquets par version.

La version est normalisée en bdd (pad avec des 0 sur 3 caractères par nombre x,y ou z).
On applique un traitement systématique de (dé)normalisation sur la balise #VERSION de la table paquet et VMAX de la table plugin.
parent 42dca18c
Chargement en cours
Chargement en cours
Chargement en cours
Chargement en cours
+2 −0
Numéro de ligne d'origine Numéro de ligne de diff Ligne de diff
@@ -212,8 +212,10 @@ function svp_declarer_tables_interfaces($interface) {
	// Les traitements
	// - table spip_plugins
	$interface['table_des_traitements']['SLOGAN']['plugins'] = _TRAITEMENT_RACCOURCIS;	
	$interface['table_des_traitements']['VMAX']['plugins'] = 'denormaliser_version(%s)';
	// - table spip_paquets
	$interface['table_des_traitements']['DESCRIPTION']['paquets'] = _TRAITEMENT_RACCOURCIS;	
	$interface['table_des_traitements']['VERSION']['paquets'] = 'denormaliser_version(%s)';

	return $interface;
}
+22 −3
Numéro de ligne d'origine Numéro de ligne de diff Ligne de diff
@@ -67,9 +67,6 @@ $GLOBALS['licences_plugin'] = array(
);





function fusionner_intervalles($intervalle_a, $intervalle_b) {

	// On recupere les bornes de chaque intervalle
@@ -111,6 +108,7 @@ function fusionner_intervalles($intervalle_a, $intervalle_b) {
	return contruire_intervalle($bornes_fusionnees);
}


function extraire_bornes($intervalle, $initialiser=false) {
	static $borne_vide = array('valeur' => '', 'incluse' => false);
	static $borne_inf_init = array('valeur' => _SVP_VERSION_SPIP_MIN, 'incluse' => true);
@@ -306,4 +304,25 @@ function svp_lister_librairies() {
	return $libs;
}



/**
 * Retourner la chaine de la version x.y.z sous une forme normalisee
 * permettant le tri naturel.
 *
 * @return string
**/
function normaliser_version($version='') {

	$version_normalisee = '';
	if ($version) {
		$v = explode('.', $version);
		foreach($v as $_nombre) {
			$vn[] = str_pad($_nombre, 3, '0', STR_PAD_LEFT);
		}
		$version_normalisee = implode('.', $vn);
	}
	return $version_normalisee;
}

?>
+1 −1
Numéro de ligne d'origine Numéro de ligne de diff Ligne de diff
<paquet
	prefix="svp"
	categorie="maintenance"
	version="0.74.2"
	version="0.74.3"
	etat="test"
	compatibilite="[3.0.0-beta;3.0.*]"
	logo="svp-64.png"
+1 −1
Numéro de ligne d'origine Numéro de ligne de diff Ligne de diff
@@ -13,7 +13,7 @@ function plugins_preparer_sql_paquet($plugin)
	// On initialise les champs ne necessitant aucune transformation
	$champs['categorie'] = $plugin['categorie'] ? $plugin['categorie'] : '';
	$champs['etat'] = $plugin['etat'] ? $plugin['etat'] : '';
	$champs['version'] = $plugin['version'] ? $plugin['version'] : '';
	$champs['version'] = $plugin['version'] ? normaliser_version($plugin['version']) : '';
	$champs['version_base'] = $plugin['schema'] ? $plugin['schema'] : '';
	$champs['logo'] = $plugin['logo'] ? $plugin['logo'] : '';
	$champs['lien_doc'] = $plugin['documentation'] ? $plugin['documentation'] : '';
+1 −1
Numéro de ligne d'origine Numéro de ligne de diff Ligne de diff
@@ -13,7 +13,7 @@ function plugins_preparer_sql_plugin($plugin)
	// On initialise les champs ne necessitant aucune transformation
	$champs['categorie'] = $plugin['categorie'] ? $plugin['categorie'] : '';
	$champs['etat'] = $plugin['etat'] ? $plugin['etat'] : '';
	$champs['version'] = $plugin['version'] ? $plugin['version'] : '';
	$champs['version'] = $plugin['version'] ? normaliser_version($plugin['version']) : '';
	$champs['version_base'] = $plugin['schema'] ? $plugin['schema'] : '';

	// Renommage de certains champs
Chargement en cours