From 0e9363b966ea5286a6b3b6d40ef14f6737f86df8 Mon Sep 17 00:00:00 2001 From: Fil <fil@rezo.net> Date: Fri, 27 Aug 2010 11:28:59 +0000 Subject: [PATCH] report de [15976] liens de traductions sous la forme {{{ [{}->art1] }}} --- ecrire/inc/lien.php | 16 ++++++++++++++++ 1 file changed, 16 insertions(+) diff --git a/ecrire/inc/lien.php b/ecrire/inc/lien.php index 3e40ac00e9..604dbc7a17 100644 --- a/ecrire/inc/lien.php +++ b/ecrire/inc/lien.php @@ -23,6 +23,22 @@ include_spip('base/abstract_sql'); // http://doc.spip.org/@traiter_raccourci_lien_lang function inc_lien_dist($lien, $texte='', $class='', $title='', $hlang='', $rel='', $connect='') { + // Si une langue est demandee sur un raccourci d'article, chercher + // la traduction ; + // - [{en}->art2] => traduction anglaise de l'article 2, sinon art 2 + // - [{}->art2] => traduction en langue courante de l'art 2, sinon art 2 + if ($hlang + AND $match = typer_raccourci($lien)) { + @list($type,,$id,,$args,,$ancre) = $match; + if ($id_trad = sql_getfetsel('id_trad', 'spip_articles', "id_article=$id") + AND $id_dest = sql_getfetsel('id_article', 'spip_articles', + "id_trad=$id_trad AND lang=" . sql_quote($hlang)) + ) + $lien = "$type$id_dest"; + else + $hlang = ''; + } + $mode = ($texte AND $class) ? 'url' : 'tout'; $lien = calculer_url($lien, $texte, $mode, $connect); if ($mode === 'tout') { -- GitLab