Affichage :
Le laboratoire de Darathor Index du Forum

Le laboratoire de Darathor

Ressources diverses, principalement sur les fourms phpBB
[MOD] Liens internes (1.0)

Ce forum est verrouillé, vous ne pouvez pas poster, ni répondre, ni éditer les sujets. Ce sujet est verrouillé, vous ne pouvez pas éditer les messages ou faire de réponses.

Rechercher dans ce sujet :
Messages
Darathor Sexe : Masculin
Site Admin
Membre

Inscrit le : 02 Nov 2003
Messages : 1101
Localisation : Strasbourg
MessagePosté le : 19 Juin 2005 20:05
Masquer ce messageAfficher ce message
Répondre en citantAjouter à liste des messages à citerRetirer de la liste des messages à citer
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.1 (24/06/2005)
Compatibilité phpBB : 2.0.15

Changements :
1.1 (24/06/2005) : Correction d'un bug qui posait des problèmes lors de l'utilisation de la balise [img] avec une adresse interne. La balise [imgi] a été ajoutée et est une transposition de la balise [urli].



Dans "includes/bbcodes.php" :
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[] = "#\[imgi:$uid\]([^?].*?)\[/imgi:$uid\]#i";
   $replacements[] = $bbcode_tpl['img'];
   $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("#\[img\]((http|ftp|https|ftps)://)" . $board_config['server_name'] . $board_config['script_path'] . "([^ \?&=\#\"\n\r\t<]*?(\.(jpg|jpeg|gif|png)))\[/img\]#sie", "'[imgi:$uid]' . str_replace(' ', '%20', '\\3') . '[/imgi:$uid]'", $text);
   $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("#(\s)(http|https)://" . $board_config['server_name'] . $board_config['script_path'] . "([^ \"\n\r\t<]*?)(\s)#is", "\\1[urli:$uid=\\3]" . $lang['LiIn_titre_defaut'] . "[/urli:$uid]\\4", $text);
   
   $text = preg_replace("#\[imgi\]([^ \?&=\#\"\n\r\t<]*?(\.(jpg|jpeg|gif|png)))\[/imgi\]#sie", "'[imgi:$uid]' . str_replace(' ', '%20', '\\3') . '[/imgi:$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

Revenir en haut Aller en bas
Hors ligne | Profil | MP | E-mail | Site web
  Vous ne pouvez pas poster de nouveaux sujets dans ce forum
Vous ne pouvez pas répondre aux sujets dans ce forum
Vous ne pouvez pas éditer vos messages dans ce forum
Vous ne pouvez pas supprimer vos messages dans ce forum
Vous ne pouvez pas voter dans les sondages de ce forum