Valider 74cf723d rédigé par patfr@ifrance.com's avatar patfr@ifrance.com
Parcourir les fichiers

[new]mise en configuration de la barre typographique (plugin Porte-Plume)....

[new]mise en configuration de la barre typographique (plugin Porte-Plume). Pour chaque outil l'utilisant, des paramètres sont créés pour chaque barre typo (par défaut : edition et forum). L'utilisateur peut désormais choisir dans quelles barres typos les boutons d'un outil sont insérés.

+ nouvel argument pour les variables du Couteau Suisse : 'label'
+ allègement des chaînes de langue
parent fe8d117e
Chargement en cours
Chargement en cours
Chargement en cours
Chargement en cours
+6 −1
Numéro de ligne d'origine Numéro de ligne de diff Ligne de diff
@@ -140,6 +140,7 @@ add_variable( array(
	'format' => _format_CHAINE,
	'radio' => array('basiques' => 'icone_interface_simple', 'avancees' => 'icone_interface_complet'),
	'defaut' => '"avancees"',
	'label' => '@_CS_CHOIX@',
	'code' => "\$_GET['set_options']=\$GLOBALS['set_options']=%s;",
));
add_outil( array(
@@ -179,6 +180,7 @@ add_variables( array(
		'perso' => 'couteauprive:tri_perso' ),
	'radio/ligne' => 1,
	'defaut' => "'date DESC'", //"'0+titre,titre'",
	'label' => '@_CS_CHOIX@',
	'code:%s!="perso"' => "define('_TRI_ARTICLES_RUBRIQUE', %s);\n",
), array(
	'nom' => 'tri_perso',
@@ -215,6 +217,7 @@ add_variable( array(
	'format' => _format_NOMBRE,
	'radio' => array(-1 => 'couteauprive:js_jamais', 0 => 'couteauprive:js_defaut', 1 => 'couteauprive:js_toujours'),
	'defaut' => 0,
	'label' => '@_CS_CHOIX@',
	// si la variable est non nulle, on code...
	'code:%s' => "\$GLOBALS['filtrer_javascript']=%s;",
));
@@ -333,6 +336,7 @@ add_variable( array(
	'format' => _format_CHAINE,
	'radio' => array('defaut' => 'couteauprive:par_defaut', '_SUIVI_FORUMS_REPONSES' => 'couteauprive:sf_amont', '_SUIVI_FORUM_THREAD' => 'couteauprive:sf_tous'),
	'defaut' => '"defaut"',
	'label' => '@_CS_CHOIX@',
	// si la variable est differente de 'defaut' alors on codera le define
	'code:%s!=="defaut"' => "define(%s, true);",
));
@@ -520,6 +524,7 @@ add_variables( array(
	'radio' => array(1 => 'couteauprive:statuts_tous', 0 => 'couteauprive:statuts_spip'),
	'radio/ligne' => 1,
	'defaut' => 0,
	'label' => '@_CS_CHOIX@',
//	'code:!%s' => "@define('AUTEURS_DEFAUT', join(\$temp_auteurs,','));",
	'code:!%s' => "if(_request('exec')=='auteurs' && !_request('statut')) \$_GET['statut'] = join(\$temp_auteurs,',');",
	'code:%s' => "if(_request('exec')=='auteurs' && !_request('statut')) \$_GET['statut'] = '!foo';",
@@ -709,7 +714,7 @@ add_variable( array( // variable utilisee par 'pipelinecode:insert_head'
	'nom' => 'puceSPIP',
	'check' => 'couteauprive:puceSPIP',
	'defaut' => 0,
	'format' => _format_NOMBRE,
	'label' => '@_CS_CHOIX@',
));
add_outil( array(
	'id' => 'pucesli',
+12 −0
Numéro de ligne d'origine Numéro de ligne de diff Ligne de diff
@@ -219,4 +219,16 @@ function cs_ecrire_config($regexpr, $replace, $ajout_sinon='') {
if(defined('_LOG_CS')) cs_log(" -- fichier $fo absent ".($ok?'mais cree avec l\'inclusion':' et impossible a creer'));
}

// liste des barres typo disponibles
function cs_pp_liste_barres($outil=false) {
	global $metas_vars;
	include_spip('inc/barre_outils');
	if (!$sets = barre_outils_liste()) return array();
	if($outil) foreach($sets as $f=>$b) {
		$v = 'pp_'.$b.'_'.$outil;
		if(!isset($metas_vars[$v]) || !$metas_vars[$v]) unset($sets[$f]);
	}
	return $sets;
}

?>
 No newline at end of file
+1 −0
Numéro de ligne d'origine Numéro de ligne de diff Ligne de diff
@@ -132,6 +132,7 @@ function parse_variable_xml(&$arbre) {
		if(isset($temp['par_ligne'])) $var['radio/ligne'] = $temp['par_ligne'][0];
		foreach($temp['item'] as $a) $var['radio'][$a['valeur'][0]] = $a['label'][0];
	}
	if(isset($arbre['label'])) $var['label'] = $arbre['label'][0];
	if(isset($arbre['defaut_php'])) $var['defaut'] = $arbre['defaut_php'][0];
	if(isset($arbre['code'])) foreach($arbre['code'] as $a) {
		$temp = isset($a['condition_php'])?'code:'.$a['condition_php'][0]:'code';
+27 −4
Numéro de ligne d'origine Numéro de ligne de diff Ligne de diff
@@ -99,7 +99,7 @@ function description_outil_input1_callback($matches) {
function description_outil_input2_callback($matches) {
	global $cs_input_variable;
	$cs_input_variable[] = $matches[3];
	return '<fieldset><legend>'._T('couteauprive:label:'.$matches[3]).'</legend><div>'.$matches[1].'</div></fieldset>';
	return "<fieldset><legend><:label:$matches[3]:></legend><div>$matches[1]</div></fieldset>";
}

function description_outil_liens_callback($matches) {
@@ -108,6 +108,11 @@ function description_outil_liens_callback($matches) {
		."\" id=\"href_$matches[1]\" onclick=\"javascript:return cs_href_click(this);\">$nom</a>";
}

function description_outil_label_callback($matches) { 
	global $cs_variables; 
	return isset($cs_variables[$matches[1]]['label'])?$cs_variables[$matches[1]]['label']:_T('couteauprive:label:'.$matches[1]);
}

function cs_input_variable_callback($matches) {
	$a = " valeur_{$matches[1]}_";
	$tmp = str_replace('/',$a, $matches[3]);
@@ -123,6 +128,22 @@ function inc_description_outil_dist($outil_, $url_self, $modif=false) {
//cs_log("inc_description_outil_dist() - Parse la description de '$outil_'");
	// la description de base est a priori dans le fichier de langue
	$descrip = isset($outil['description'])?$outil['description']:_T('couteauprive:'.$outil['id'].':description');
	// ajout des variables liees a la barre typo
	if(defined('_DIR_PLUGIN_PORTE_PLUME') 
	 && strpos(serialize($outil),':porte_plume_barre_pre_charger"')!==false
	 && count($barres = cs_pp_liste_barres())) {
		$descrip .= "\n\n@puce@ "._T('couteauprive:barres_typo_intro');
		$i=0;
		foreach($barres as $f=>$b) {
			$descrip .= ($i?'[[->':'[[')."%pp_{$b}_$outil[id]%]]";
			add_variables( array(
				'nom' => "pp_{$b}_$outil[id]",
				'check' => ($b=='edition' || $b=='forum')?'couteauprive:barres_typo_'.$b:$f,
				'defaut' => 1, // par defaut les boutons seront toujours inseres
				'label' => $i++?NULL:'@_CS_CHOIX@',
			));
		}
	}
	// reconstitution d'une description eventuellement morcelee
	// exemple : <:mon_outil:3:> est remplace par _T('couteauprive:mon_outil:description3')
	$descrip = preg_replace_callback(',<:([a-zA-Z_][a-zA-Z0-9_-]*):([0-9]*):>,', 
@@ -188,9 +209,11 @@ function inc_description_outil_dist($outil_, $url_self, $modif=false) {
			"\n<input type='hidden' value='$variables' name='variables' /><input type='hidden' value='$outil_' name='outil' />"	. $res);
	}
//cs_log(" FIN : inc_description_outil_dist({$outil['id']}) - {$outil['nb_variables']} variables(s) trouvee(s)");
	// remplacement des labels en doublon
	$res = preg_replace_callback(',<:label:([a-zA-Z_][a-zA-Z0-9_-]*):>,', 
		create_function('$matches','return _T("couteauprive:label:$matches[1]");'), $res);
	// remplacement en deux passes des labels en doublon
	if(strpos($res,'<:label:')!==false) 
		$res = preg_replace_callback(',<:label:([a-zA-Z_][a-zA-Z0-9_-]*):>,', 'description_outil_label_callback', $res);
	if(strpos($res,'<:label:')!==false) 
		$res = preg_replace_callback(',<:label:([a-zA-Z_][a-zA-Z0-9_-]*):>,', 'description_outil_label_callback', $res);
	// remplacement des blocs avec style. ex : <q2>bla bla</q2>
	$res = preg_replace(',</q(\d)>,','</div>', preg_replace(',<q(\d)>,','<div class="q$1">', $res));
	// remplacement des inputs successifs sans label : [[%var1%]][[->%var2%]] ou [[%var1%]][[-->%var2%]]
+505 −523
Numéro de ligne d'origine Numéro de ligne de diff Ligne de diff
@@ -6,6 +6,9 @@ if (!defined("_ECRIRE_INC_VERSION")) return;
$GLOBALS[$GLOBALS['idx_lang']] = array(

	// 2
	'barres_typo_intro' => 'Le plugin &laquo;Porte-Plume&raquo; a &eacute;t&eacute; d&eacute;tect&eacute;. Veuillez choisir ici les barres typographiques o&ugrave; certains boutons seront ins&eacute;r&eacute;s.',
	'barres_typo_edition' => 'Edtition des contenus',
	'barres_typo_forum' => 'Messages de Forum',
	'2pts_non' => '&nbsp;:&nbsp;non',
	'2pts_oui' => '&nbsp;:&nbsp;oui',

@@ -350,7 +353,6 @@ Attention, cet outil a besoin pour fonctionner du plugin {jQuery} : {Round Corne
	'label:admin_travaux' => 'Fermer le site public pour :',
	'label:arret_optimisation' => 'Emp&ecirc;cher SPIP de vider la corbeille automatiquement&nbsp;:',
	'label:auteur_forum_nom' => 'Le visiteur doit sp&eacute;cifier :',
	'label:auteurs_tout_voir' => '@_CS_CHOIX@',
	'label:auto_sommaire' => 'Cr&eacute;ation syst&eacute;matique du sommaire :',
	'label:balise_decoupe' => 'Activer la balise #CS_DECOUPE :',
	'label:balise_sommaire' => 'Activer la balise #CS_SOMMAIRE :',
@@ -361,9 +363,7 @@ Attention, cet outil a besoin pour fonctionner du plugin {jQuery} : {Round Corne
	'label:copie_Smax' => 'Espace maximal r&eacute;serv&eacute; aux copies locales :',
	'label:couleurs_fonds' => 'Permettre les fonds :',
	'label:cs_rss' => 'Activer :',
	'label:debut_urls_libres' => '<:label:debut_urls_propres:>',
	'label:debut_urls_propres' => 'D&eacute;but des URLs :',
	'label:debut_urls_propres2' => '<:label:debut_urls_propres:>',
	'label:decoration_styles' => 'Vos balises de style personnalis&eacute; :',
	'label:derniere_modif_invalide' => 'Recalculer juste apr&egrave;s une modification :',
	'label:distant_off' => 'D&eacute;sactiver :',
@@ -390,8 +390,6 @@ Attention, cet outil a besoin pour fonctionner du plugin {jQuery} : {Round Corne
	'label:log_couteau_suisse' => 'Activer :',
	'label:logo_Hmax' => 'Taille maximale des logos :',
	'label:marqueurs_urls_propres' => 'Ajouter les marqueurs dissociant les objets (SPIP>=2.0) :<br/>(ex. : &laquo;&nbsp;-&nbsp;&raquo; pour -Ma-rubrique-, &laquo;&nbsp;@&nbsp;&raquo; pour @Mon-site@) ',
	'label:marqueurs_urls_propres2' => '<:label:marqueurs_urls_propres:>',
	'label:marqueurs_urls_propres_qs' => '<:label:marqueurs_urls_propres:>',
	'label:max_auteurs_page' => 'Auteurs par page :',
	'label:message_travaux' => 'Votre message de maintenance :',
	'label:moderation_admin' => 'Valider automatiquement les messages des : ',
@@ -400,7 +398,6 @@ Attention, cet outil a besoin pour fonctionner du plugin {jQuery} : {Round Corne
	'label:paragrapher' => 'Toujours paragrapher :',
	'label:prive_travaux' => 'Accessibilit&eacute; de l\'espace priv&eacute; pour :',
	'label:puce' => 'Puce publique &laquo;<html>-</html>&raquo; :',
	'label:puceSPIP' => '@_CS_CHOIX@',
	'label:quota_cache' => 'Valeur du quota :',
	'label:racc_g1' => 'Entr&eacute;e et sortie de la mise en &laquo;<html>{{gras}}</html>&raquo; :',
	'label:racc_h1' => 'Entr&eacute;e et sortie d\'un &laquo;<html>{{{intertitre}}}</html>&raquo; :',
@@ -408,41 +405,26 @@ Attention, cet outil a besoin pour fonctionner du plugin {jQuery} : {Round Corne
	'label:racc_i1' => 'Entr&eacute;e et sortie de la mise en &laquo;<html>{italique}</html>&raquo; :',
	'label:radio_desactive_cache3' => 'Utilisation du cache :',
	'label:radio_desactive_cache4' => 'Utilisation du cache :',
	'label:radio_filtrer_javascript3' => '@_CS_CHOIX@',
	'label:radio_set_options4' => '@_CS_CHOIX@',
	'label:radio_suivi_forums3' => '@_CS_CHOIX@',
	'label:radio_target_blank3' => 'Nouvelle fen&ecirc;tre pour les liens externes :',
	'label:radio_type_urls3' => 'Format des URLs :',
	'label:scrollTo' => 'Installer les plugins {jQuery} suivants :',
	'label:separateur_urls_page' => 'Caract&egrave;re de s&eacute;paration \'type-id\'<br/>(ex. : ?article-123) :',
	'label:set_couleurs' => 'Set &agrave; utiliser :',
	'label:spam_mots' => 'S&eacute;quences interdites :',
	'label:spip_ecran' => '@_CS_CHOIX@',
	'label:spip_options_on' => 'Inclure :',
	'label:spip_script' => 'Script d\'appel :',
	'label:style_h' => 'Votre style :',
	'label:style_p' => 'Votre style :',
	'label:suite_introduction' => 'Points de suite :',
	'label:terminaison_urls_arbo' => '<:label:terminaison_urls_page:>',
	'label:terminaison_urls_libres' => '<:label:terminaison_urls_page:>',
	'label:terminaison_urls_page' => 'Terminaison des URLs (ex : &laquo;&nbsp;.html&nbsp;&raquo;) :',
	'label:terminaison_urls_propres' => '<:label:terminaison_urls_page:>',
	'label:terminaison_urls_propres_qs' => '<:label:terminaison_urls_page:>',
	'label:titre_travaux' => 'Titre du message :',
	'label:titres_etendus' => 'Activer l\'utilisation &eacute;tendue des balises #TITRE_XXX&nbsp;:',
	'label:tri_articles' => '@_CS_CHOIX@',
	'label:tri_groupes' => '@_CS_CHOIX@',
	'label:url_arbo_minuscules' => 'Conserver la casse des titres dans les URLs :',
	'label:url_arbo_sep_id' => 'Caract&egrave;re de s&eacute;paration \'titre-id\' en cas de doublon :<br/>(ne pas utiliser \'/\')',
	'label:url_glossaire_externe2' => 'Lien vers le glossaire externe :',
	'label:url_max_arbo' => '<:label:url_max_propres:>',
	'label:url_max_libres' => '<:label:url_max_propres:>',
	'label:url_max_propres' => 'Longueur maximale des URLs (caract&egrave;res) :',
	'label:url_max_propres2' => '<:label:url_max_propres:>',
	'label:url_max_propres_qs' => '<:label:url_max_propres:>',
	'label:urls_arbo_sans_type' => 'Afficher le type d\'objet SPIP dans les URLs :',
	'label:urls_avec_id' => 'Un id syst&eacute;matique, mais...',
	'label:urls_minuscules' => '@_CS_CHOIX@',
	'label:webmestres' => 'Liste des webmestres du site :',
	'liens_en_clair:description' => 'Met &agrave; votre disposition le filtre : \'liens_en_clair\'. Votre texte contient probablement des liens hypertexte qui ne sont pas visibles lors d\'une impression. Ce filtre ajoute entre crochets la destination de chaque lien cliquable (liens externes ou mails). Attention : en mode impression (parametre \'cs=print\' ou \'page=print\' dans l\'url de la page), cette fonctionnalit&eacute; est appliqu&eacute;e automatiquement.',
	'liens_en_clair:nom' => 'Liens en clair',
@@ -578,7 +560,7 @@ Afin de conserver l\'acc&egrave;s &agrave; la puce image originale de SPIP (le p
	'simpl_interface:description' => 'D&eacute;sactive le menu de changement rapide de statut d\'un article au survol de sa puce color&eacute;e. Cela est utile si vous cherchez &agrave; obtenir une interface priv&eacute;e la plus d&eacute;pouill&eacute;e possible afin d\'optimiser les performances client.',
	'simpl_interface:nom' => 'All&egrave;gement de l\'interface priv&eacute;e',
	'smileys:aide' => 'Smileys : @liste@',
	'smileys:description' => 'Ins&egrave;re des smileys dans tous les textes o&ugrave; appara&icirc;t un raccourci du genre <acronym>:-)</acronym>. Id&eacute;al pour les  forums.
	'smileys:description' => 'Ins&egrave;re des smileys dans tous les textes o&ugrave; appara&icirc;t un raccourci du genre <code>:-)</code>. Id&eacute;al pour les  forums.
_ Une balise est disponible pour afficher un tableau de smileys dans vos squelettes : #SMILEYS.
_ Dessins : [Sylvain Michel->http://www.guaph.net/]',
	'smileys:nom' => 'Smileys',
Chargement en cours