From 69af3238bb668347b2756256ff654a0ced3fa52d Mon Sep 17 00:00:00 2001 From: Fil <fil@rezo.net> Date: Tue, 2 May 2006 23:14:51 +0000 Subject: [PATCH] =?UTF-8?q?int=C3=A9gration=20de=20#215=20"Incoh=C3=A9renc?= =?UTF-8?q?e=20dans=20la=20gestion=20des=20URL=20internes/externes"?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- ecrire/exec/breves_edit.php | 1 - ecrire/exec/breves_voir.php | 9 ++------- ecrire/public/balises.php | 19 ++++++++++++++++--- ecrire/public/composer.php | 7 +++++++ 4 files changed, 25 insertions(+), 11 deletions(-) diff --git a/ecrire/exec/breves_edit.php b/ecrire/exec/breves_edit.php index 7aa32a490f..bcfcb482e0 100644 --- a/ecrire/exec/breves_edit.php +++ b/ecrire/exec/breves_edit.php @@ -141,7 +141,6 @@ if ($connect_statut=="0minirezo" OR $statut=="prop" OR $new == "oui") { echo _T('info_titre')."<BR>"; echo "<INPUT TYPE='text' CLASS='forml' NAME='lien_titre' VALUE=\"$lien_titre\" SIZE='40'><BR>"; - if (strlen($lien_url) < 8) $lien_url="http://"; echo _T('info_url')."<BR>"; echo "<INPUT TYPE='text' CLASS='forml' NAME='lien_url' VALUE=\"$lien_url\" SIZE='40'><P>"; diff --git a/ecrire/exec/breves_voir.php b/ecrire/exec/breves_voir.php index 118948b3a7..11e3bb6690 100644 --- a/ecrire/exec/breves_voir.php +++ b/ecrire/exec/breves_voir.php @@ -175,13 +175,8 @@ if (($GLOBALS['meta']['multi_articles'] == 'oui') AND ($flag_editable)) { echo justifier(propre($texte))."\n"; -if (strlen($lien_url)>7 AND strlen($lien_titre)>2){ - echo "<P><font size=1>"._T('lien_voir_en_ligne')."</font> <A HREF='$lien_url'><B>".typo($lien_titre)."</B></A>\n"; -} else if (strlen($lien_titre)>2) { - echo "<P><font size=1>"._T('lien_nom_site')."</font> ".typo($lien_titre)."</B></A>\n"; -} else if (strlen($lien_url)>7) { - echo "<P><font size=1>"._T('info_url_site')."</font> <tt>$lien_url</tt>\n"; -} +$texte_case = ($lien_titre.$lien_url) ? "{{"._T('lien_voir_en_ligne')."}} [".$lien_titre."->".$lien_url."]" : ''; + echo propre($texte_case); if ($les_notes) { echo "<hr width='70%' height=1 align='left'><font size=2>$les_notes</font>\n"; diff --git a/ecrire/public/balises.php b/ecrire/public/balises.php index 7b6fab5456..bd77b3e12b 100644 --- a/ecrire/public/balises.php +++ b/ecrire/public/balises.php @@ -185,9 +185,22 @@ function balise_URL_MOT_dist($p) { return $p; } -# remarque : URL_SITE ne figure pas ici car c'est une donnee 'brute' -# correspondant a l'URL du site reference ; URL_SYNDIC correspond -# pour sa part a l'adresse de son backend. +// #NOM_SITE affiche le nom du site, ou sinon l'URL ou le titre de l'objet +function balise_NOM_SITE_dist($p) { + if (!$p->etoile) { + $p->code = "construire_titre_lien(" . + champ_sql('nom_site',$p) ."," . + champ_sql('url_site',$p) . + ")"; + } else + $p->code = champ_sql('nom_site',$p); + + $p->interdire_scripts = true; + return $p; +} + +# URL_SITE est une donnee "brute" tiree de la base de donnees +# URL_SYNDIC correspond a l'adresse de son backend. # Il n'existe pas de balise pour afficher generer_url_site($id_syndic), # a part [(#ID_SYNDIC|generer_url_site)] diff --git a/ecrire/public/composer.php b/ecrire/public/composer.php index 2359a6c61c..c25341f0b6 100644 --- a/ecrire/public/composer.php +++ b/ecrire/public/composer.php @@ -456,6 +456,13 @@ function calculer_notes() { return $r; } +// Renvoie le titre du "lien hypertexte" +function construire_titre_lien($nom,$url) { + $result = extraire_lien(array(1=>$nom, 3=>$url)); + preg_match("/>([^>]*)<\/a>/", $result[0], $matches); + return $matches[1]; +} + // Ajouter "&lang=..." si la langue de base n'est pas celle du site function lang_parametres_forum($s) { // ne pas se fatiguer si le site est unilingue (plus rapide) -- GitLab