Valider c5ba2dc6 rédigé par esj's avatar esj
Parcourir les fichiers

Un argument optionnel supplémentaire pour les fonctions de traduction _T et...

Un argument optionnel supplémentaire pour les fonctions de traduction _T et _L: le style CSS des arguments à insérer dans la chaîne. Cela permet de retirer des balises HTML en dur dans les fichiers de langues, donc de pouvoir faire varier leur présentation. 

Application au débusqueur, qui accepte à présent que son premier argument soit autre chose qu'une chaîne (fournie par un appel à _T), savoir un tableau considéré comme les deux premiers arguments de _T, que le débusqueur peut ainsi appeler avec un style identique pour tous ses messages.
parent 7d84d256
Chargement en cours
Chargement en cours
Chargement en cours
Chargement en cours
+6 −4
Numéro de ligne d'origine Numéro de ligne de diff Ligne de diff
@@ -422,7 +422,7 @@ function test_plugin_actif($plugin){
// Traduction des textes de SPIP
//
// http://doc.spip.org/@_T
function _T($texte, $args=array()) {
function _T($texte, $args=array(), $style='') {

	static $traduire=false ;

@@ -438,17 +438,19 @@ function _T($texte, $args=array()) {
			 (($n = strpos($texte,':')) === false ? $texte :
				substr($texte, $n+1)));

	return _L($text, $args, true);
	return _L($text, $args, $style);

}

// Remplacer les variables @....@ par leur valeur dans une chaine de langue.
// Aussi appelee quand une chaine n'est pas encore dans les fichiers de langue
// http://doc.spip.org/@_L
function _L($text, $args=array(), $nostyle=false) {
function _L($text, $args=array(), $style=NULL) {

	if (is_array($args)) {
		foreach ($args as $name => $value) {
			if ($style)
				$value = "<span style='$style'>$value</span>";
			$text = str_replace ("@$name@", $value, $text, $n);
			if ($n) unset($args[$name]);
		}
@@ -457,7 +459,7 @@ function _L($text, $args=array(), $nostyle=false) {
		spip_log("$text:  variables inutilisées " . join(', ', $args));
	}

	if ($GLOBALS['test_i18n'] And (!$nostyle OR $args))
	if ($GLOBALS['test_i18n'] And ($nostyle===NULL OR $args))
		return "<span style='color:red;'>$text</span>";
	else
		return $text;
+5 −5
Numéro de ligne d'origine Numéro de ligne de diff Ligne de diff
@@ -744,7 +744,7 @@ et vous reconnecter au site.

// Z
'zbug_balise_b_aval' => '&nbsp;: balise B en aval',
'zbug_balise_inexistante' => 'erreur @from@: la balise #@balise@ n\'existe pas',
'zbug_balise_inexistante' => 'erreur @from@: la balise @balise@ n\'existe pas',
'zbug_balise_sans_argument' => 'Argument manquant dans la balise @balise@',
'zbug_boucle' => 'boucle',
'zbug_boucle_recursive_undef' => 'Boucle r&eacute;cursive non d&eacute;finie&nbsp;: @nom@',
@@ -756,12 +756,12 @@ et vous reconnecter au site.
'zbug_distant_interdit' => 'Externe interdit', # Contexte : une base de donn&eacute;es "externe", pas g&eacute;r&eacute;e par SPIP, mais que SPIP 1.8 sait utiliser dans ses boucles -- seul probl&egrave;mes certaines manipulations sont interdites sur ces bases-l&agrave;.
'zbug_doublon_table_sans_cle_primaire' => 'Doublons sur une table sans clef primaire atomique',
'zbug_doublon_table_sans_index' => 'Doublons sur une table sans index',
'zbug_erreur_boucle_double' => 'Double d&eacute;finition de la boucle <b>@id@<b>',
'zbug_erreur_boucle_fermant' => 'Boucle <b>@id@</b> non ferm&eacute;e',
'zbug_erreur_boucle_syntaxe' => 'Syntaxe de la boucle <b>@id@</b> incorrecte',
'zbug_erreur_boucle_double' => 'Double d&eacute;finition de la boucle @id@',
'zbug_erreur_boucle_fermant' => 'Boucle @id@ non ferm&eacute;e',
'zbug_erreur_boucle_syntaxe' => 'Syntaxe de la boucle @id@ incorrecte',
'zbug_erreur_compilation' => 'Erreur de compilation',
'zbug_erreur_execution_page' => 'Erreur d\'ex&eacute;cution',
'zbug_erreur_filtre' => 'Filtre &laquo; <b>@filtre@</b> &raquo; non d&eacute;fini',
'zbug_erreur_filtre' => 'Filtre @filtre@ non d&eacute;fini',
'zbug_erreur_meme_parent' => 'Le crit&egrave;re {meme_parent} ne s\'applique qu\'aux boucles (FORUMS) ou (RUBRIQUES)',
'zbug_erreur_squelette' => 'Erreur(s) dans le squelette',
'zbug_hors_compilation' => 'Hors Compilation',
+12 −12
Numéro de ligne d'origine Numéro de ligne de diff Ligne de diff
@@ -197,7 +197,7 @@ function balise_RECHERCHE_dist($p) {
function balise_COMPTEUR_BOUCLE_dist($p) {
	$b = $p->nom_boucle ? $p->nom_boucle : $p->descr['id_mere'];
	if ($b === '') {
		$msg = _T('zbug_champ_hors_boucle',
		$msg = array('zbug_champ_hors_boucle',
				array('champ' => '#COMPTEUR_BOUCLE')
			  );
		erreur_squelette($msg, $p);
@@ -213,7 +213,7 @@ function balise_COMPTEUR_BOUCLE_dist($p) {
function balise_TOTAL_BOUCLE_dist($p) {
	$b = $p->nom_boucle ? $p->nom_boucle : $p->descr['id_mere'];
	if ($b === '' || !isset($p->boucles[$b])) {
		$msg = _T('zbug_champ_hors_boucle',
		$msg = array('zbug_champ_hors_boucle',
				array('champ' => "#$b" . 'TOTAL_BOUCLE')
			  );
		erreur_squelette($msg, $p);
@@ -277,7 +277,7 @@ function calculer_balise_expose($p, $on, $off)
	$connect = sql_quote($p->boucles[$b]->sql_serveur);

	if (!$key) {
		$msg = _T('zbug_champ_hors_boucle', array('champ' => '#EXPOSER'));
		$msg = array('zbug_champ_hors_boucle', array('champ' => '#EXPOSER'));
		erreur_squelette($msg, $p);
	}

@@ -491,7 +491,7 @@ function balise_PAGINATION_dist($p, $liste='true') {

	// s'il n'y a pas de nom de boucle, on ne peut pas paginer
	if ($b === '') {
		$msg = _T('zbug_champ_hors_boucle',
		$msg = array('zbug_champ_hors_boucle',
				array('champ' => '#PAGINATION')
			  );
		erreur_squelette($msg, $p);
@@ -502,7 +502,7 @@ function balise_PAGINATION_dist($p, $liste='true') {
	// dans un boucle recursive ou qu'on a oublie le critere {pagination}
	if (!$p->boucles[$b]->total_parties) {
		if (!$p->boucles[$b]->table_optionnelle) {
			$msg = _T('zbug_pagination_sans_critere',
			$msg = array('zbug_pagination_sans_critere',
					array('champ' => '#PAGINATION')
				  );
			erreur_squelette($msg, $p);
@@ -553,7 +553,7 @@ function balise_ANCRE_PAGINATION_dist($p) {
function balise_GRAND_TOTAL_dist($p) {
	$b = $p->nom_boucle ? $p->nom_boucle : $p->descr['id_mere'];
	if ($b === '' || !isset($p->boucles[$b])) {
		$msg =	_T('zbug_champ_hors_boucle',
		$msg = array('zbug_champ_hors_boucle',
				array('champ' => "#$b" . 'TOTAL_BOUCLE')
			   );
		erreur_squelette($msg, $p);
@@ -585,7 +585,7 @@ function balise_SELF_dist($p) {
function balise_CHEMIN_dist($p) {
	$arg = interprete_argument_balise(1,$p);
	if (!$arg) {
		$msg =  _T('zbug_balise_sans_argument',	array('balise' => ' CHEMIN'));
		$msg = array('zbug_balise_sans_argument',	array('balise' => ' CHEMIN'));
		erreur_squelette($msg, $p);
	} else 
	  $p->code = 'find_in_path(' . $arg .')';
@@ -597,7 +597,7 @@ function balise_CHEMIN_dist($p) {
function balise_CHEMIN_IMAGE_dist($p) {
	$arg = interprete_argument_balise(1,$p);
	if (!$arg) {
		$msg = _T('zbug_balise_sans_argument', array('balise' => ' CHEMIN_IMAGE'));
		$msg = array('zbug_balise_sans_argument', array('balise' => ' CHEMIN_IMAGE'));
		erreur_squelette($msg, $p);
	} else $p->code = 'chemin_image(' . $arg .')';

@@ -727,7 +727,7 @@ function balise_EVAL_dist($p) {
		else
			$p->code = "eval('return '.$php.';')";
	} else {
		$msg = _T('zbug_balise_sans_argument', array('balise' => ' EVAL'));
		$msg = array('zbug_balise_sans_argument', array('balise' => ' EVAL'));
		erreur_squelette($msg, $p);
	}

@@ -927,7 +927,7 @@ function balise_INCLURE_dist($p) {
		$p->code = "recuperer_fond('', $_l, $_options)";

	} elseif (!isset($_contexte[1])) {
			$msg = _T('zbug_balise_sans_argument', array('balise' => ' INCLURE'));
			$msg = array('zbug_balise_sans_argument', array('balise' => ' INCLURE'));
			erreur_squelette($msg, $p);
	} else 		$p->code = '(($c = find_in_path(' . $_contexte[1] . ')) ? spip_file_get_contents($c) : "")';

@@ -942,7 +942,7 @@ function balise_MODELE_dist($p) {
	$_contexte = argumenter_inclure($p->param, true, $p, $p->boucles, $p->id_boucle, false);

	if (!isset($_contexte[1])) {
		$msg = _T('zbug_balise_sans_argument', array('balise' => ' MODELE'));
		$msg = array('zbug_balise_sans_argument', array('balise' => ' MODELE'));
		erreur_squelette($msg, $p);
	} else {
		$nom = $_contexte[1];
@@ -1126,7 +1126,7 @@ function balise_FOREACH_dist($p) {
	}
	//On a pas trouve la balise correspondant au tableau a traiter
	else {
		$msg = _T('zbug_balise_inexistante',array('from'=>'#FOREACH','balise'=>$_tableau));
		$msg = array('zbug_balise_inexistante',array('from'=>'#FOREACH','balise'=>$_tableau));
		erreur_squelette($msg, $p);
	}
	return $p;
+2 −2
Numéro de ligne d'origine Numéro de ligne de diff Ligne de diff
@@ -888,7 +888,7 @@ function compiler_squelette($squelette, $boucles, $nom, $descr, $sourcefile, $co
				// ne pas renvoyer d'erreur si la table est optionnelle
				// declare par ? avant ) dans <BOUCLE_A(table ?)>
				if (!$boucles[$id]->table_optionnelle) {
					$msg = _T('zbug_table_inconnue',
					$msg = array('zbug_table_inconnue',
							array('table' => $x));
					erreur_squelette($msg, $boucles[$id]);
				}
@@ -903,7 +903,7 @@ function compiler_squelette($squelette, $boucles, $nom, $descr, $sourcefile, $co
			$boucles[$id]->descr = &$descr;
			$rec = &$boucles[$boucle->param[0]];
			if (!$rec) {
				$msg = _T('zbug_boucle_recursive_undef',
				$msg = array('zbug_boucle_recursive_undef',
					array('nom' => $boucle->param[0]));
				return erreur_squelette($msg, $boucle);
			} else {
+12 −12
Numéro de ligne d'origine Numéro de ligne de diff Ligne de diff
@@ -28,7 +28,7 @@ function critere_racine_dist($idb, &$boucles, $crit) {
		'id_parent';

	if ($not)
		return array(_T('zbug_critere_inconnu', array('critere' => $not . $crit->op)));
		return (array('zbug_critere_inconnu', array('critere' => $not . $crit->op)));

	$boucle->where[]= array("'='", "'$boucle->id_table." . "$id_parent'", 0);
}
@@ -42,7 +42,7 @@ function critere_exclus_dist($idb, &$boucles, $crit) {
	$id = $boucle->primary;

	if ($not OR !$id)
		return array(_T('zbug_critere_inconnu', array('critere' => $not . $crit->op)));
		return (array('zbug_critere_inconnu', array('critere' => $not . $crit->op)));
	$arg = kwote(calculer_argument_precedent($idb, $id, $boucles));
	$boucle->where[]= array("'!='", "'$boucle->id_table." . "$id'", $arg);
}
@@ -56,7 +56,7 @@ function critere_doublons_dist($idb, &$boucles, $crit) {
	$primary = $boucle->primary;

	if (!$primary OR strpos($primary,',')) {
		return array(_T('zbug_doublon_sur_table_sans_cle_primaire'));
		return (array('zbug_doublon_sur_table_sans_cle_primaire'));
	}

	$not = ($crit->not ? '' : 'NOT');
@@ -258,7 +258,7 @@ function critere_meme_parent_dist($idb, &$boucles, $crit) {
	}
	// le cas FORUMS est gere dans le plugin forum, dans la fonction critere_FORUMS_meme_parent_dist()
 	else { 
		return array(_T('zbug_critere_inconnu', array('critere' =>  $crit->op . ' ' . $boucle->type_requete)));
		return (array('zbug_critere_inconnu', array('critere' =>  $crit->op . ' ' . $boucle->type_requete)));
	}
}

@@ -325,7 +325,7 @@ function critere_fusion_dist($idb,&$boucles, $crit) {
		if (!in_array($t, $boucles[$idb]->select))
		    $boucles[$idb]->select[] = $t;
	} else 
		return array(_T('zbug_critere_inconnu', array('critere' => $crit->op . ' ?')));
		return (array('zbug_critere_inconnu', array('critere' => $crit->op . ' ?')));
}

// c'est la commande SQL "COLLATE"
@@ -340,7 +340,7 @@ function critere_collecte_dist($idb,&$boucles, $crit) {
    if ($n && (strpos($boucle->order[$n-1],'COLLATE')===false))
    	$boucle->order[$n-1] .= " . " . $boucle->modificateur['collate'];
	} else
		return array(_T('zbug_critere_inconnu', array('critere' => $crit->op . " $n")));
		return (array('zbug_critere_inconnu', array('critere' => $crit->op . " $n")));
}

// http://doc.spip.org/@calculer_critere_arg_dynamique
@@ -405,7 +405,7 @@ function critere_parinverse($idb, &$boucles, $crit, $sens='') {
		  $order = "'$as'";
	      } else {
		if (!preg_match(",^" . CHAMP_SQL_PLUS_FONC . '$,is', $par, $match)) {
			return array(_T('zbug_critere_inconnu', array('critere' => $crit->op . " $par")));
			return (array('zbug_critere_inconnu', array('critere' => $crit->op . " $par")));
		} else {
		if (count($match)>2) { $par = substr($match[2],1,-1); $fct = $match[1]; }
	// par hasard
@@ -419,7 +419,7 @@ function critere_parinverse($idb, &$boucles, $crit, $sens='') {
			list($table, $champ) =  $exceptions_des_jointures[$par];
			$order = critere_par_joint($table, $champ, $boucle, $idb);
			if (!$order)
				return array(_T('zbug_critere_inconnu', array('critere' => $crit->op . " $par")));
				return (array('zbug_critere_inconnu', array('critere' => $crit->op . " $par")));
		}
		else if ($par == 'date'
		AND isset($GLOBALS['table_date'][$boucle->type_requete])) {
@@ -435,7 +435,7 @@ function critere_parinverse($idb, &$boucles, $crit, $sens='') {
				$t = array_search(@$t[0], $boucle->from);
			}
			if (!$t) {
				return array(_T('zbug_critere_inconnu', array('critere' => $crit->op . " $par")));
				return (array('zbug_critere_inconnu', array('critere' => $crit->op . " $par")));
			} else 	$order = "'" . $t . '.' . $r[2] . "'";
		} else {
			$desc = $boucle->show;
@@ -511,7 +511,7 @@ function critere_agenda_dist($idb, &$boucles, $crit)
	$params = $crit->param;

	if (count($params) < 1)
		return array(_T('zbug_critere_inconnu', array('critere' => $crit->op . " ?")));
		return (array('zbug_critere_inconnu', array('critere' => $crit->op . " ?")));

	$parent = $boucles[$idb]->id_parent;

@@ -670,7 +670,7 @@ function critere_IN_dist ($idb, &$boucles, $crit)
{
	$r = calculer_critere_infixe($idb, $boucles, $crit);
	if (!$r) {
		return array(_T('zbug_critere_inconnu', array('critere' => $crit->op . " ?")));
		return (array('zbug_critere_inconnu', array('critere' => $crit->op . " ?")));
	}
	list($arg, $op, $val, $col, $where_complement) = $r;

@@ -744,7 +744,7 @@ function calculer_critere_DEFAUT_dist($idb, &$boucles, $crit)
	$r = calculer_critere_infixe($idb, $boucles, $crit);

	if (!$r) {
		return array(_T('zbug_critere_inconnu', array('critere' => $crit->op )));
		return (array('zbug_critere_inconnu', array('critere' => $crit->op )));
	} else calculer_critere_DEFAUT_args($idb, $boucles, $crit, $r);
}

Chargement en cours