0 AND id_trad=id_trad(precedent)) // OR id_article=id_article(precedent) function critere_traduction($idb, &$boucles, $param, $not) { $boucle = &$boucles[$idb]; // cas des rubriques : on va chercher toutes les rubriques contenant // des trads *publiees* de nos articles *publies* if ($boucle->id_table == 'rubriques') { if ($param == 'traduction') { $boucle->from[] = "spip_articles AS source"; $boucle->from[] = "spip_articles AS dest"; $boucle->group = "rubriques.id_rubrique"; $boucle->where[] = "((source.id_trad=dest.id_trad AND source.statut='publie' AND dest.statut='publie' AND rubriques.id_rubrique = source.id_rubrique AND dest.id_rubrique = '\"." . calculer_argument_precedent($idb, 'id_rubrique', $boucles) . ".\"') OR (rubriques.id_rubrique = '\"." . calculer_argument_precedent($idb, 'id_rubrique', $boucles) . ".\"')) "; return; } else erreur_squelette(_T('zbug_info_erreur_squelette'), $param); } // cas normal (articles) : la table possede un champ id_trad if ($param == 'traduction') { $boucle->where[] = "((".$boucle->id_table.".id_trad > 0 AND " . $boucle->id_table.".id_trad ='\"." . calculer_argument_precedent($idb, 'id_trad', $boucles) . ".\"') OR (" . $boucle->id_table.".".$boucle->primary." ='\"." . calculer_argument_precedent($idb, $boucle->primary, $boucles) . ".\"'))"; } else erreur_squelette(_T('zbug_info_erreur_squelette'), $param); } ?>