Darathor
Citation :
But :Permet de transformer les liens internes au forum en liens relatifs afin d'éviter les liens morts en cas de changement d'adresse. Le fonctionalités implémentées sont les suivantes :
- ajout d'une balise pour "url interne" qui prend en argument une adresse relative à la racine du site (ex : posting.php?mode=reply&t=93742).
- conversion automatique des adresse internes en balises urli (ça marche avec n'importe quel lien interne au forum, pas seulement les posts ou les topics).
- quand le lien est collé tel quel et non sur un texte, le lien visible est placé sur un texte par défaut "~lien~". Ce texte par défaut est modifiable dans le fichier de langue.
Auteur : Darathor (darathor@free.fr)
Version : 1.0 (19/06/2005)
Compatibilité phpBB : 2.0.15
Dans "includes/bbcodes.tpl" :
Code :
#
# Trouver
#
// [url=www.phpbb.com]phpBB[/url] code.. (no xxxx:// prefix).
$patterns[] = "#\[url=((www|ftp)\.[^ \"\n\r\t<]*?)\]([^?].*?)\[/url\]#i";
$replacements[] = $bbcode_tpl['url4'];
#
# Ajouter après
#
// DEBUT MOD Liens internes
$patterns[] = "#\[urli:$uid=(.*?)\](.*?)\[/urli:$uid\]#is";
$replacements[] = $bbcode_tpl['url3'];
// FIN MOD Liens internes
#
# Trouver
#
// [i] and [/i] for italicizing text.
$text = preg_replace("#\[i\](.*?)\[/i\]#si", "[i:$uid]\\1[/i:$uid]", $text);
#
# Ajouter après
#
// DEBUT MOD Liens internes
global $board_config, $lang;
$text = preg_replace("#\[url=(http|https)://" . $board_config['server_name'] . $board_config['script_path'] . "([^ \"\n\r\t<]*?)\](.*?)\[/url\]#is", "[urli:$uid=\\2]\\3[/urli:$uid]", $text);
$text = preg_replace("#\[url\](http|https)://" . $board_config['server_name'] . $board_config['script_path'] . "([^ \"\n\r\t<]*?)\[/url\]#is", "[urli:$uid=\\2]" . $lang['LiIn_titre_defaut'] . "[/urli:$uid]", $text);
$text = preg_replace("#(http|https)://" . $board_config['server_name'] . $board_config['script_path'] . "([^ \"\n\r\t<]*?)[ \"\n\r\t<]#is", "[urli:$uid=\\2]" . $lang['LiIn_titre_defaut'] . "[/urli:$uid]", $text);
$text = preg_replace("#\[urli=([^ \"\n\r\t<]*?)](.*?)\[/urli\]#is", "[urli:$uid=\\1]\\2[/urli:$uid]", $text);
// FIN MOD Liens internes
Dans "lang_main.php" :
Code :
#
# Trouver
#
?>
#
# Ajouter avant
#
// DEBUT MOD Liens internes
$lang['LiIn_titre_defaut'] = "~lien~";
// FIN MOD Liens internes