function traiter_lien_implicite ($ref, $texte='', $pour='url', $connect='') { if (!($match = typer_raccourci($ref))) return false; @list($type,,$id,,$args,,$ancre) = $match; # attention dans le cas des sites le lien doit pointer non pas sur # la page locale du site, mais directement sur le site lui-meme if ($type == 'site') $url = sql_getfetsel('url_site', 'spip_syndic', "id_syndic=$id",'','','','',$connect); elseif ($type == 'glose') { if (function_exists($f = 'glossaire_' . $ancre)) $url = $f($texte, $id); else $url = glossaire_std($texte); } else $url = generer_url_entite($id,$type,$args,$ancre,$connect ? $connect : NULL); if (!$url) return false; if (is_array($url)) { @list($type,$id) = $url; $url = generer_url_entite($id,$type,$args,$ancre,$connect ? $connect : NULL); } if ($pour === 'url') return $url; $r = traiter_raccourci_titre($id, $type, $connect); if ($r) $r['class'] = ($type == 'site')?'spip_out':'spip_in'; if ($texte = trim($texte)) $r['titre'] = $texte; if (!@$r['titre']) $r['titre'] = _T($type) . " $id"; if ($pour=='titre') return $r['titre']; $r['url'] = $url; // dans le cas d'un lien vers un doc, ajouter le type='mime/type' if ($type == 'document' AND $extension = sql_getfetsel("extension","spip_documents", " id_document =".sql_quote($id), '', '', '', '', $connect) AND $mime = sql_getfetsel('mime_type', 'spip_types_documents',"extension=".sql_quote($extension),'','','','',$connect) ) $r['mime'] = $mime; return $r; }
function liens_implicite_glose_dist($texte, $id, $type, $args, $ancre, $connect = '') { if (function_exists($f = 'glossaire_' . $ancre)) { $url = $f($texte, $id); } else { $url = glossaire_std($texte); } return $url; }