Valider 3adab5fe rédigé par Eric Lupinacci's avatar Eric Lupinacci
Parcourir les fichiers

Suppression de deux lignes redondantes dans plugin.php.

On normalise le slogan de la façon suivant :
- si il existe on l'utilise
- si il existe pas on extrait la premiere *phrase* de la description.
parent cffb3de3
Chargement en cours
Chargement en cours
Chargement en cours
Chargement en cours
+1 −3
Numéro de ligne d'origine Numéro de ligne de diff Ligne de diff
@@ -94,8 +94,7 @@ function liste_plugin_valides($liste_plug, $force = false)

	// creer une premiere liste non ordonnee mais qui ne retient
	// que les plugins valides, et dans leur derniere version en cas de doublon
	$get_infos = charger_fonction('get_infos','plugins');
	$infos['_DIR_RESTREINT'][''] = $get_infos('./',$force,_DIR_RESTREINT,'core.xml');
	$infos['_DIR_RESTREINT'][''] = $get_infos('./',$force,_DIR_RESTREINT,'plugin.xml');
	$infos['_DIR_RESTREINT']['SPIP']['version'] = $GLOBALS['spip_version_branche'];
	$infos['_DIR_RESTREINT']['SPIP']['path'] = array();
	$liste_non_classee = array('SPIP'=>array(
@@ -113,7 +112,6 @@ function liste_plugin_valides($liste_plug, $force = false)
		$procure['etat'] = '?';
		$procure['dir_type'] = '_DIR_RESTREINT';
		$procure['dir'] = '';
		$procure['etat'] = '?';
		$liste_non_classee[strtoupper($procure['id'])] = $procure;
	}
	
+36 −1
Numéro de ligne d'origine Numéro de ligne de diff Ligne de diff
@@ -38,10 +38,16 @@ function plugins_infos_plugin($desc, $plug='', $dir_plugins=_DIR_PLUGINS) {
		$ret['version_base'] = trim(spip_xml_aplatit($arbre['version_base']));
	if (isset($arbre['etat']))
		$ret['etat'] = trim(spip_xml_aplatit($arbre['etat']));

	$ret['description'] = $ret['slogan'] = "";
	if (isset($arbre['slogan']))
		$ret['slogan'] = spip_xml_aplatit($arbre['slogan']);
	if (isset($arbre['description'])){
		$ret['slogan'] = $ret['description'] = spip_xml_aplatit($arbre['description']);
		$ret['description'] = spip_xml_aplatit($arbre['description']);
		if (!$ret['slogan'])
			$ret['slogan'] = info_plugin_normalise_slogan($ret['description']);
	}

	if (isset($arbre['lien']))
		$ret['lien'] = join(' ',$arbre['lien']);
	if (isset($arbre['options']))
@@ -125,4 +131,33 @@ function info_plugin_normalise_utilise($utilise) {
	return $res;
}



function info_plugin_normalise_slogan($description) {
	include_spip('inc/texte');

	// On extrait les traductions de l'eventuel multi
	// Si le nom n'est pas un multi alors le tableau renvoye est de la forme '' => 'nom'
	$descriptions = extraire_trads(str_replace(array('<multi>', '</multi>'), array(), $description, $nbr_replace));
	$multi = ($nbr_replace > 0) ? true : false;

	// On boucle sur chaque multi ou sur la chaine elle-meme en extrayant le slogan
	// dans les differentes langues
	$slogan = '';
	foreach ($descriptions as $_lang => $_descr) {
		$_descr = trim($_descr);
		if (!$_lang)
			$_lang = 'fr';
		$nbr_matches = preg_match(',^(.+)[.!?\r\n\f],Um', $_descr, $matches);
		$slogan .= (($multi) ? '[' . $_lang . ']' : '') . 
					(($nbr_matches > 0) ? trim($matches[1]) : couper($_descr, 150, ''));
	}

	if ($slogan)
		// On renvoie un nouveau slogan multi ou pas
		$slogan = (($multi) ? '<multi>' : '') . $slogan . (($multi) ? '</multi>' : '');

	return $slogan;
}

?>