diff --git a/ecrire/inc/texte.php b/ecrire/inc/texte.php index bbeb42c891c571a022a36210cb78207ce3432abe..6d1a77f493a931a71669408cc01ecaeb076d2b34 100644 --- a/ecrire/inc/texte.php +++ b/ecrire/inc/texte.php @@ -189,7 +189,7 @@ $preg='') { && (!isset($lastreg) || $lastreg != $regs[$endr])) { if (isset($pmid) || (($posmid = strpos($preg, '(.*)')) && ($pmid = '.') && ($psav = $preg))) { - $pmid = '(?:<\1[^>]*>(' . $pmid . '*)</\1>|.)'; + $pmid = '(?:.*<\1[^>]*>(' . $pmid . '*)</\1>)*.'; $preg = substr_replace($psav, $pmid, $posmid + 1, 1); $lastreg = $regs[$endr]; continue 2; # reprendre preg_match_all avec un $preg augmente @@ -639,9 +639,7 @@ define('_RACCOURCI_URL', ',^(\S*?)\s*(\d+)(\?.*?)?(#[^\s]*)?$,S'); function typer_raccourci ($lien) { if (!preg_match(_RACCOURCI_URL, trim($lien), $match)) return false; - $f = $match[1]; - // valeur par defaut et alias historiques if (!$f) $f = 'article'; else if ($f == 'art') $f = 'article'; @@ -730,7 +728,8 @@ function calculer_url ($lien, $texte='', $pour='url') { // http://doc.spip.org/@calculer_url_article function calculer_url_article($id, $texte='') { $lien = generer_url_article($id); - $row = @spip_fetch_array(spip_query("SELECT titre,lang FROM spip_articles WHERE id_article=$id")); + $s = spip_query("SELECT titre,lang FROM spip_articles WHERE id_article=$id"); + $row = spip_fetch_array($s); if ($texte=='') $texte = supprimer_numero($row['titre']); return array($lien, 'spip_in', $texte, $row['lang']); @@ -740,7 +739,8 @@ function calculer_url_article($id, $texte='') { function calculer_url_rubrique($id, $texte='') { $lien = generer_url_rubrique($id); - $row = @spip_fetch_array(spip_query("SELECT titre,lang FROM spip_rubriques WHERE id_rubrique=$id")); + $s = spip_query("SELECT titre,lang FROM spip_rubriques WHERE id_rubrique=$id"); + $row = spip_fetch_array($s); if ($texte=='') $texte = supprimer_numero($row['titre']); return array($lien, 'spip_in', $texte, $row['lang']); @@ -750,7 +750,8 @@ function calculer_url_rubrique($id, $texte='') function calculer_url_mot($id, $texte='') { $lien = generer_url_mot($id); - $row = @spip_fetch_array(spip_query("SELECT titre FROM spip_mots WHERE id_mot=$id")); + $s = spip_query("SELECT titre FROM spip_mots WHERE id_mot=$id"); + $row = spip_fetch_array($s); if ($texte=='') $texte = supprimer_numero($row['titre']); return array($lien, 'spip_in', $texte); @@ -760,7 +761,8 @@ function calculer_url_mot($id, $texte='') function calculer_url_breve($id, $texte='') { $lien = generer_url_breve($id); - $row = @spip_fetch_array(spip_query("SELECT titre,lang FROM spip_breves WHERE id_breve=$id")); + $s = spip_query("SELECT titre,lang FROM spip_breves WHERE id_breve=$id"); + $row = spip_fetch_array($s); if ($texte=='') $texte = supprimer_numero($row['titre']); return array($lien, 'spip_in', $texte, $row['lang']); @@ -771,7 +773,8 @@ function calculer_url_auteur($id, $texte='') { $lien = generer_url_auteur($id); if ($texte=='') { - $row = @spip_fetch_array(spip_query("SELECT nom FROM spip_auteurs WHERE id_auteur=$id")); + $s = spip_query("SELECT nom FROM spip_auteurs WHERE id_auteur=$id"); + $row = spip_fetch_array($s); $texte = $row['nom']; } return array($lien, 'spip_in', $texte); # pas de hreflang @@ -782,7 +785,8 @@ function calculer_url_document($id, $texte='') { $lien = generer_url_document($id); if ($texte=='') { - $row = @spip_fetch_array(spip_query("SELECT titre,fichier FROM spip_documents WHERE id_document=$id")); + $s = spip_query("SELECT titre,fichier FROM spip_documents WHERE id_document=$id"); + $row = spip_fetch_array($s); $texte = $row['titre']; if ($texte=='') $texte = preg_replace(",^.*/,","",$row['fichier']); @@ -795,7 +799,8 @@ function calculer_url_site($id, $texte='') { # attention dans le cas des sites le lien pointe non pas sur # la page locale du site, mais directement sur le site lui-meme - $row = @spip_fetch_array(spip_query("SELECT nom_site,url_site FROM spip_syndic WHERE id_syndic=$id")); + $s = spip_query("SELECT nom_site,url_site FROM spip_syndic WHERE id_syndic=$id"); + $row = spip_fetch_array($s); if ($row) { $lien = $row['url_site']; if ($texte=='') @@ -809,7 +814,8 @@ function calculer_url_forum($id, $texte='') { $lien = generer_url_forum($id); if ($texte=='') { - $row = @spip_fetch_array(spip_query("SELECT titre FROM spip_forum WHERE id_forum=$id AND statut='publie'")); + $s = spip_query("SELECT titre FROM spip_forum WHERE id_forum=$id AND statut='publie'"); + $row = spip_fetch_array($s); if ($texte=='') $texte = $row['titre']; }