--- /dev/null
+<?php
+
+/***************************************************************************\
+ * SPIP, Systeme de publication pour l'internet *
+ * *
+ * Copyright (c) 2001-2011 *
+ * Arnaud Martin, Antoine Pitrou, Philippe Riviere, Emmanuel Saint-James *
+ * *
+ * Ce programme est un logiciel libre distribue sous licence GNU/GPL. *
+ * Pour plus de details voir le fichier COPYING.txt ou l'aide en ligne. *
+\***************************************************************************/
+
+if (!defined('_ECRIRE_INC_VERSION')) return;
+
+include_spip('inc/presentation');
+
+// http://doc.spip.org/@inc_referencer_traduction_dist
+function inc_referencer_traduction_dist($id_article, $flag, $id_rubrique, $id_trad, $trad_err='')
+{
+ global $spip_display;
+
+ if (! (($GLOBALS['meta']['multi_articles'] == 'oui')
+ OR (($GLOBALS['meta']['multi_rubriques'] == 'oui')
+ AND ($GLOBALS['meta']['gerer_trad'] == 'oui'))) )
+ return '';
+
+ $langue_article = sql_fetsel("lang", "spip_articles", "id_article=$id_article");
+
+ $langue_article = $langue_article['lang'];
+
+ $reponse = '';
+ // Choix langue article
+ if ($GLOBALS['meta']['multi_articles'] == 'oui' AND $flag) {
+
+ $row = sql_fetsel("lang", "spip_rubriques", "id_rubrique=$id_rubrique");
+ $langue_parent = $row['lang'];
+
+ if (!$langue_parent)
+ $langue_parent = $GLOBALS['meta']['langue_site'];
+ if (!$langue_article)
+ $langue_article = $langue_parent;
+
+ if ($menu = liste_options_langues('changer_lang', $langue_article, $langue_parent)) {
+// attention ce onchange doit etre suivi de <span><input type='submit'
+ $lien = "\nonchange=\"this.nextSibling.firstChild.style.visibility='visible';\"";
+ $menu = select_langues('changer_lang', $lien, $menu, _T('info_multi_cet_article'));
+
+ $menu = ajax_action_post('referencer_traduction', "$id_article,$id_rubrique","articles","id_article=$id_article", $menu, _T('bouton_changer'), " class='visible_au_chargement'");
+
+ $reponse .= debut_cadre_couleur('',true)
+ . "\n<div style='text-align: center;'>"
+ . $menu
+ . "</div>\n"
+ . fin_cadre_couleur(true);
+ }
+ }
+
+ if ($trad_err)
+ $reponse .= "<div><span style='color: red' size='2' face='Verdana, Geneva, helvetica, sans-serif'>"._T('trad_deja_traduit'). "</span></div>";
+
+ // Afficher la liste des traductions
+
+ if ($id_trad) {
+ $requete = array('SELECT' => "id_article, id_rubrique, titre, lang, statut, id_trad", 'FROM' => "spip_articles", 'WHERE' => "id_trad = $id_trad");
+ $styles = array(array('',7), array('', 12), array('arial2'), array('arial2', 100));
+ $presenter_liste = charger_fonction('presenter_liste', 'inc');
+ $tableau = array();
+ $liste = $presenter_liste($requete, 'articles_traduction', $tableau, $id_article, false, $styles, '',_T('trad_article_traduction'));
+ } else $liste = '';
+
+ // changer les globales de direction de langue
+ changer_typo($langue_article);
+
+ // Participation aux Traductions pas pour Mal-voyant. A completer
+ if ($spip_display == 4) $form =''; else {
+ $form = "<table width='100%'><tr>";
+
+ if ($flag AND !$liste) {
+ // Formulaire pour lier a un article
+ $form .= "<td style='width: 60%' class='arial2'>"
+ . ajax_action_post("referencer_traduction",
+ $id_article,
+ 'articles',
+ "id_article=$id_article",
+ ("<label for='lier_trad'>" . _T('trad_lier') . "</label>" .
+ "\n<input type='text' name='lier_trad' id='lier_trad' size='5' />\n"),
+ _T('bouton_valider'),
+ "")
+ . "</td>\n"
+ . "<td style='width: 10px'> </td>"
+ . "<td style='width: 2px; background: url(" . chemin_image("tirets-separation.gif") . ")'>". http_img_pack('rien.gif', " ", "width='2' height='2'") . "</td>"
+ . "<td style='width: 10px'> </td>";
+ }
+
+ $form .= "<td>"
+ . icone_horizontale(_T('trad_new'), generer_url_ecrire("articles_edit","new=oui&lier_trad=$id_article&id_rubrique=$id_rubrique"), "traductions-24.gif", "creer.gif", false)
+ . "</td>";
+
+ if ($flag AND $liste) {
+ $clic = _T('trad_delier');
+ $form .= "<td style='width: 10px'> </td>"
+ . "<td style='width: 2px; background: url(" . chemin_image("tirets-separation.gif") . ")'>". http_img_pack('rien.gif', " ", "width='2' height='2'") . "</td>"
+ . "<td style='width: 10px'> </td>"
+ . "<td>"
+ // la 1ere occurrence de clic ne sert pas en Ajax
+ . icone_horizontale($clic, ajax_action_auteur("referencer_traduction","$id_article,-$id_trad",'articles', "id_article=$id_article",array($clic)), "traductions-24.gif", "supprimer.gif", false)
+ . "</td>\n";
+ }
+
+ $form .= "</tr></table>";
+ }
+ if ($GLOBALS['meta']['gerer_trad'] == 'oui')
+ $bouton = _T('titre_langue_trad_article');
+ else
+ $bouton = _T('titre_langue_article');
+
+ if ($langue_article)
+ $bouton .= " (".traduire_nom_langue($langue_article).")";
+
+ $res = debut_cadre_enfonce('langues-24.gif', true, "",
+ bouton_block_depliable($bouton,$flag === 'ajax','languearticle,lier_traductions'))
+ . debut_block_depliable($flag === 'ajax','languearticle')
+ . $reponse
+ . fin_block()
+ . $liste
+ . debut_block_depliable($flag === 'ajax','lier_traductions')
+ . $form
+ . fin_block()
+ . fin_cadre_enfonce(true);
+ return ajax_action_greffe("referencer_traduction", $id_article, $res);
+}
+
+
+// http://doc.spip.org/@articles_traduction
+function articles_traduction($row, $id_article)
+{
+ global $connect_toutes_rubriques;
+
+ $vals = array();
+ $id_rubrique_trad = $row["id_rubrique"];
+ $id_article_trad = $row["id_article"];
+ $id_trad = $row["id_trad"];
+ $titre_trad = $row["titre"];
+ $lang_trad = $row["lang"];
+ $statut_trad = $row["statut"];
+
+ changer_typo($lang_trad);
+ $lang_dir = lang_dir($lang_trad);
+ $titre_trad = "<span dir='$lang_dir'>$titre_trad</span>";
+
+ $puce_statut = charger_fonction('puce_statut', 'inc');
+ $vals[] = $puce_statut($id_article_trad, $statut_trad, $id_rubrique_trad, 'article');
+
+ if ($id_article_trad == $id_trad) {
+ $vals[] = http_img_pack('langues-12.gif', "", " class='lang'");
+ $titre_trad = "<b>$titre_trad</b>";
+ } else {
+ if (!$connect_toutes_rubriques)
+ $vals[] = http_img_pack('langues-off-12.gif', "", " class='lang'");
+ else
+ $vals[] = ajax_action_auteur("referencer_traduction", "$id_article,$id_trad,$id_article_trad", 'articles', "id_article=$id_article", array(http_img_pack('langues-off-12.gif', _T('trad_reference'), "class='lang'"), ' title="' . _T('trad_reference') . '"'));
+ }
+
+ $s = typo(supprime_img($titre_trad,''));
+ if ($id_article_trad != $id_article)
+ $s = "<a href='" . generer_url_ecrire("articles","id_article=$id_article_trad") . "'>$s</a>";
+ if ($id_article_trad == $id_trad)
+ $s .= " "._T('trad_reference');
+
+ $vals[] = $s;
+ $vals[] = traduire_nom_langue($lang_trad);
+ return $vals;
+}
+
+?>