X-Git-Url: http://git.cyclocoop.org/?a=blobdiff_plain;f=www%2Fplugins-dist%2Ftextwheel%2Finc%2Flien.php;h=d5a980497d39ca446e1290165893531ac940ab78;hb=cc641eb476987612f6d6df1a5417c1c5582a8ab8;hp=fb4b1b1235187f0976d762004eecdfdde04d8f66;hpb=a33c2ba9d919664b3bb0f565f8e9a8b9d8530cdb;p=lhc%2Fweb%2Fclavette_www.git diff --git a/www/plugins-dist/textwheel/inc/lien.php b/www/plugins-dist/textwheel/inc/lien.php index fb4b1b1..d5a9804 100644 --- a/www/plugins-dist/textwheel/inc/lien.php +++ b/www/plugins-dist/textwheel/inc/lien.php @@ -3,7 +3,7 @@ /***************************************************************************\ * SPIP, Systeme de publication pour l'internet * * * - * Copyright (c) 2001-2014 * + * Copyright (c) 2001-2016 * * Arnaud Martin, Antoine Pitrou, Philippe Riviere, Emmanuel Saint-James * * * * Ce programme est un logiciel libre distribue sous licence GNU/GPL. * @@ -111,7 +111,7 @@ function inc_lien_dist($lien, $texte='', $class='', $title='', $hlang='', $rel=' // sinon les crochets ne peuvent plus servir qu'a ce type de raccourci define('_RACCOURCI_LIEN', "/\[([^][]*?([[][^]>-]*[]][^][]*)*)->(>?)([^]]*)\]/msS"); -// http://doc.spip.org/@expanser_liens +// http://code.spip.net/@expanser_liens function expanser_liens($t, $connect='', $env=array()) { @@ -189,7 +189,7 @@ function expanser_un_lien($reg, $quoi='echappe', $env=null){ // Meme analyse mais pour eliminer les liens // et ne laisser que leur titre, a expliciter si ce n'est fait -// http://doc.spip.org/@nettoyer_raccourcis_typo +// http://code.spip.net/@nettoyer_raccourcis_typo function nettoyer_raccourcis_typo($texte, $connect='') { $texte = pipeline('nettoyer_raccourcis_typo',$texte); @@ -238,7 +238,7 @@ function nettoyer_raccourcis_typo($texte, $connect='') // pour ne pas confondre avec un autre raccourci define('_RACCOURCI_ATTRIBUTS', '/^((?:[^[]*?(?:\[[^]]*\])?)*?)([|]([^<>]*?))?([{]([a-z_]*)[}])?$/'); -// http://doc.spip.org/@traiter_raccourci_lien_atts +// http://code.spip.net/@traiter_raccourci_lien_atts function traiter_raccourci_lien_atts($texte) { $bulle = $hlang = false; @@ -291,7 +291,7 @@ define('_RACCOURCI_CHAPO', '/^(\W*)(\W*)(\w*\d+([?#].*)?)$/'); * renvoie l'url reelle de redirection si le $url=true, * l'url brute contenue dans le chapo sinon * - * http://doc.spip.org/@chapo_redirige + * http://code.spip.net/@chapo_redirige * * @param string $virtuel * @param bool $url @@ -316,7 +316,7 @@ function virtuel_redirige($virtuel, $url=false){ // 'titre': seulement T ci-dessus (i.e. le TITRE ci-dessus ou dans table SQL) // 'url': seulement U (i.e. generer_url_RACCOURCI) -// http://doc.spip.org/@calculer_url +// http://code.spip.net/@calculer_url function calculer_url ($ref, $texte='', $pour='url', $connect='', $echappe_typo = true) { $r = traiter_lien_implicite($ref, $texte, $pour, $connect, $echappe_typo); $r = ($r ? $r : traiter_lien_explicite($ref, $texte, $pour, $connect, $echappe_typo)); @@ -325,7 +325,7 @@ function calculer_url ($ref, $texte='', $pour='url', $connect='', $echappe_typo define('_EXTRAIRE_LIEN', ",^\s*(http:?/?/?|mailto:?)\s*$,iS"); -// http://doc.spip.org/@traiter_lien_explicite +// http://code.spip.net/@traiter_lien_explicite function traiter_lien_explicite ($ref, $texte='', $pour='url', $connect='', $echappe_typo = true) { if (preg_match(_EXTRAIRE_LIEN, $ref)) @@ -362,8 +362,9 @@ function traiter_lien_explicite ($ref, $texte='', $pour='url', $connect='', $ech } function liens_implicite_glose_dist($texte,$id,$type,$args,$ancre,$connect=''){ - if (function_exists($f = 'glossaire_' . $ancre)) - $url = $f($texte, $id); + if ( ($ancre AND function_exists($f = 'glossaire_' . $ancre)) + OR function_exists($f = 'glossaire_')) + $url = $f($texte, $id, $ancre); else $url = glossaire_std($texte); return $url; @@ -381,7 +382,7 @@ function liens_implicite_glose_dist($texte,$id,$type,$args,$ancre,$connect=''){ * unset($GLOBALS['lien_implicite_cible_public']); * => retablit le comportement automatique * - * http://doc.spip.org/@traiter_lien_implicite + * http://code.spip.net/@traiter_lien_implicite * * @param string $ref * @param string $texte @@ -417,7 +418,7 @@ function traiter_lien_implicite ($ref, $texte='', $pour='url', $connect='') // dans le cas d'un lien vers un doc, ajouter le type='mime/type' if ($type == 'document' AND $mime = sql_getfetsel('mime_type', 'spip_types_documents', - "extension IN (SELECT extension FROM spip_documents where id_document =".intval($id).")", + "extension IN (".sql_get_select("extension","spip_documents","id_document=".sql_quote($id)).")", '','','','',$connect) ) $r['mime'] = $mime; @@ -429,7 +430,7 @@ function traiter_lien_implicite ($ref, $texte='', $pour='url', $connect='') define('_RACCOURCI_URL', '/^\s*(\w*?)\s*(\d+)(\?(.*?))?(#([^\s]*))?\s*$/S'); -// http://doc.spip.org/@typer_raccourci +// http://code.spip.net/@typer_raccourci function typer_raccourci ($lien) { if (!preg_match(_RACCOURCI_URL, $lien, $match)) return array(); $f = $match[1]; @@ -467,7 +468,7 @@ function traiter_raccourci_titre($id, $type, $connect=NULL) // Le nom du modele doit faire au moins trois caracteres (evite

) // Si $doublons==true, on repere les documents sans calculer les modeles // mais on renvoie les params (pour l'indexation par le moteur de recherche) -// http://doc.spip.org/@traiter_modeles +// http://code.spip.net/@traiter_modeles define('_PREG_MODELE', '(<([a-z_-]{3,})' # extraire_attribut($r[0],'href'), 'class' => extraire_attribut($r[0],'class'), - 'mime' => extraire_attribut($r[0],'type') + 'mime' => extraire_attribut($r[0],'type'), + 'title' => extraire_attribut($r[0],'title'), + 'hreflang' => extraire_attribut($r[0],'hreflang') ); $n = strlen($r[0]); $a -= $n; @@ -539,12 +543,17 @@ function traiter_modeles($texte, $doublons=false, $echap='', $connect='', $liens $contexte['lien'] = str_replace(""",'"', $lien['href']); $contexte['lien_class'] = $lien['class']; $contexte['lien_mime'] = $lien['mime']; + $contexte['lien_title'] = $lien['title']; + $contexte['lien_hreflang'] = $lien['hreflang']; } $modele = recuperer_fond("modeles/dist", $contexte, array(), $connect); } // le remplacer dans le texte if ($modele !== false) { $modele = protege_js_modeles($modele); + if ($wrap_embed_html){ + $modele = $wrap_embed_html($mod,$modele); + } $rempl = code_echappement($modele, $echap); $texte = substr($texte, 0, $a) . $rempl @@ -570,7 +579,7 @@ function traiter_modeles($texte, $doublons=false, $echap='', $connect='', $liens define('_RACCOURCI_ANCRE', "/\[#?([^][]*)<-\]/S"); -// http://doc.spip.org/@traiter_raccourci_ancre +// http://code.spip.net/@traiter_raccourci_ancre function traiter_raccourci_ancre($letexte) { if (preg_match_all(_RACCOURCI_ANCRE, $letexte, $m, PREG_SET_ORDER)) @@ -588,7 +597,7 @@ function traiter_raccourci_ancre($letexte) define('_RACCOURCI_GLOSSAIRE', "/\[\?+\s*([^][<>]+)\]/S"); define('_RACCOURCI_GLOSES', '/^([^|#{]*\w[^|#{]*)([^#]*)(#([^|{}]*))?(.*)$/S'); -// http://doc.spip.org/@traiter_raccourci_glossaire +// http://code.spip.net/@traiter_raccourci_glossaire function traiter_raccourci_glossaire($texte) { if (!preg_match_all(_RACCOURCI_GLOSSAIRE, @@ -618,7 +627,7 @@ function traiter_raccourci_glossaire($texte) return $texte; } -// http://doc.spip.org/@glossaire_std +// http://code.spip.net/@glossaire_std function glossaire_std($terme) { global $url_glossaire_externe;