4 // http://www.spip.net/@traduction
5 // (id_trad>0 AND id_trad=id_trad(precedent))
6 // OR id_article=id_article(precedent)
7 function critere_traduction($idb, &$boucles, $param, $not) {
8 $boucle = &$boucles[$idb];
10 // cas des rubriques : on va chercher toutes les rubriques contenant
11 // des trads *publiees* de nos articles *publies*
12 if ($boucle->id_table
== 'rubriques') {
13 if ($param == 'traduction') {
14 $boucle->from
[] = "spip_articles AS source";
15 $boucle->from
[] = "spip_articles AS dest";
16 $boucle->group
= "rubriques.id_rubrique";
17 $boucle->where
[] = "((source.id_trad=dest.id_trad
18 AND source.statut='publie'
19 AND dest.statut='publie'
20 AND rubriques.id_rubrique = source.id_rubrique
21 AND dest.id_rubrique = '\"."
22 . calculer_argument_precedent($idb, 'id_rubrique',
24 . ".\"') OR (rubriques.id_rubrique = '\"."
25 . calculer_argument_precedent($idb, 'id_rubrique',
31 erreur_squelette(_T('zbug_info_erreur_squelette'), $param);
34 // cas normal (articles) : la table possede un champ id_trad
35 if ($param == 'traduction') {
36 $boucle->where
[] = "((".$boucle->id_table
.".id_trad > 0 AND "
37 . $boucle->id_table
.".id_trad ='\"."
38 . calculer_argument_precedent($idb, 'id_trad',
42 (" . $boucle->id_table
.".".$boucle->primary
." ='\"."
43 . calculer_argument_precedent($idb, $boucle->primary
,
47 erreur_squelette(_T('zbug_info_erreur_squelette'), $param);