// 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())
{
// 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);
// 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;
* 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
// '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));
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))
}
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;
* 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
// 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;
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];
// Le nom du modele doit faire au moins trois caracteres (evite <h2>)
// 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,})' # <modele
.'\s*([0-9]*)\s*' # id
define('_RACCOURCI_MODELE_DEBUT', '@^' . _RACCOURCI_MODELE .'@isS');
-// http://doc.spip.org/@traiter_modeles
+// http://code.spip.net/@traiter_modeles
function traiter_modeles($texte, $doublons=false, $echap='', $connect='', $liens = null, $env = array()) {
// preserver la compatibilite : true = recherche des documents
if ($doublons===true)
if (strpos($texte,"<")!==false AND
preg_match_all('/<[a-z_-]{3,}\s*[0-9|]+/iS', $texte, $matches, PREG_SET_ORDER)) {
include_spip('public/assembler');
+ $wrap_embed_html = charger_fonction("wrap_embed_html","inc",true);
foreach ($matches as $match) {
// Recuperer l'appel complet (y compris un eventuel lien)
// 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
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))
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,
return $texte;
}
-// http://doc.spip.org/@glossaire_std
+// http://code.spip.net/@glossaire_std
function glossaire_std($terme)
{
global $url_glossaire_externe;