## EasyMod 0.0.7 compliant
##############################################################
## Mod Title: Local Links
## Mod Version: 1.1.0
## Author: netclectic <
adrian@netclectic.com > Adrian Cockburn -
http://www.netclectic.com## Description: This MOD will cause any local URLs (i.e.
www.YOURDOMAIN.com) posted to your
## board to open in the same window instead of in a new window, ( i.e. _self instead of _blank ).
## This does not effect external URLs. Might not be to your liking if you do not have your own domain name.
##
## Installation Level: easy
## Installation Time: 5 Minutes
## Files To Edit: (2) includes/bbcode.php,
## templates/subSilver/bbcode.tpl
## Included Files: n/a
##############################################################
## This MOD is released under the GPL License.
## Intellectual Property is retained by the MOD Author(s) listed above
##############################################################
## For Security Purposes, Please Check:
http://www.phpbb.com/mods/downloads/ for the
## latest version of this MOD. Downloading this MOD from other sites could cause malicious code
## to enter into your phpBB Forum. As such, phpBB will not offer support for MOD's not offered
## in our MOD-Database, located at:
http://www.phpbb.com/mods/downloads/##############################################################
## Author Note:
##
## Change History:
## 1.1.0 - Confirmed with 2.0.4. Updated to be EasyMod compliant.
## 1.0.3 - Aarrgghhh! Regular expressions!!!.
## 1.0.2 - Fixed small bug in script - .
## 1.0.1 - Fixed some dodgy regular expressions.
## 1.0.0 - Original release.
##############################################################
## Before Adding This MOD To Your Forum, You Should Back Up All Files Related To This MOD
##############################################################
#
#-----[ OPEN ]------------------------------------------
#
includes/bbcode.php
#
#-----[ FIND ]------------------------------------------
#
$bbcode_tpl['url1'] = str_replace('{URL}', '\1\2', $bbcode_tpl['url']);
#
#-----[ BEFORE, ADD ]------------------------------------------
#
// MOD LOCAL URL BEGIN
$bbcode_tpl['url_local1'] = str_replace('{URL}', '\\1\\2\\3', $bbcode_tpl['url_local']);
$bbcode_tpl['url_local1'] = str_replace('{DESCRIPTION}', '\\1\\2\\3', $bbcode_tpl['url_local1']);
$bbcode_tpl['url_local2'] = str_replace('{URL}', 'http://\\1\\2', $bbcode_tpl['url_local']);
$bbcode_tpl['url_local2'] = str_replace('{DESCRIPTION}', '\\1\\2', $bbcode_tpl['url_local2']);
$bbcode_tpl['url_local3'] = str_replace('{URL}', '\\1\\2\\3', $bbcode_tpl['url_local']);
$bbcode_tpl['url_local3'] = str_replace('{DESCRIPTION}', '\\4', $bbcode_tpl['url_local3']);
$bbcode_tpl['url_local4'] = str_replace('{URL}', 'http://\\1\\2', $bbcode_tpl['url_local']);
$bbcode_tpl['url_local4'] = str_replace('{DESCRIPTION}', '\\3', $bbcode_tpl['url_local4']);
// MOD LOCAL URL END
#
#-----[ FIND ]------------------------------------------
#
// [img]image_url_here[/img] code..
// This one gets first-passed..
#
#-----[ BEFORE, ADD ]------------------------------------------
#
// MOD LOCAL URL BEGIN
// do any local urls first...
$local_server = $_SERVER["SERVER_NAME"];
$local_server = str_replace('www.', '', $local_server);
//
xxxx://www.phpbb.com code..
$local_patterns[1] = "#\[url\]([a-z]+?://){1}(".$local_server."|www.".$local_server.")([a-z0-9\-\.,\?!%\*_\#:;~\&$@\/=\+]*)\[/url\]#si";
$local_replacements[1] = $bbcode_tpl['url_local1'];
//
http://www.phpbb.com code.. (no xxxx:// prefix).
$local_patterns[2] = "#\[url\](".$local_server."|www.".$local_server.")([a-z0-9\-\.,\?!%\*_\#:;~\&$@\/=\+]*)\[/url\]#si";
$local_replacements[2] = $bbcode_tpl['url_local2'];
//
phpBB code..
$local_patterns[3] = "#\[url=([a-z]+?://){1}(".$local_server."|www.".$local_server.")([a-z0-9\-\.,\?!%\*_\#:;~\&$@\/=\+]*)\](.*?)\[/url\]#si";
$local_replacements[3] = $bbcode_tpl['url_local3'];
//
phpBB code.. (no xxxx:// prefix).
$local_patterns[4] = "#\[url=(".$local_server."|www.".$local_server.")([a-z0-9\-\.,\?!%\*_\#:;~\&$@\/=\+]*)\](.*?)\[/url\]#si";
$local_replacements[4] = $bbcode_tpl['url_local4'];
$text = preg_replace($local_patterns, $local_replacements, $text);
// now with the local urls done, it's safe to do any external urls
// MOD LOCAL URL END
#
#-----[ FIND ]------------------------------------------
#
// matches an "xxxx://yyyy" URL at the start of a line, or after a space.
#
#-----[ BEFORE, ADD ]------------------------------------------
#
// MOD LOCAL URL BEGIN
// match a local URL and replace with a target="_self" href
$ret = preg_replace("#([\n ])([a-z]+?)://(".$_SERVER["SERVER_NAME"].")((?:/[^\t <\n\r]*)?)#i", "\\1<a href=\"\\2://\\3\\4\" target=\"_self\">\\2://\\3\\4</a>", $ret);
$ret = preg_replace("#([\n ])(".$_SERVER["SERVER_NAME"].")((?:/[^\t <\n\r]*)?)#i", "\\1<a href=\"http://\\2\\3\" target=\"_self\">\\2\\3</a>", $ret);
// MOD LOCAL URL END
#
#-----[ OPEN ]------------------------------------------
#
templates/subSilver/bbcode.tpl
#
#-----[ FIND ]------------------------------------------
#
<!-- BEGIN url --><a href="{URL}" target="_blank" class="postlink">{DESCRIPTION}</a><!-- END url -->
#
#-----[ AFTER, ADD ]------------------------------------------
#
<!-- BEGIN url_local --><a href="{URL}" target="_self" class="postlink">{DESCRIPTION}</a><!-- END url_local -->
#
#-----[ SAVE/CLOSE ALL FILES ]------------------------------------------
#
# EoM