Hey thanks Cromebookuser! That worked great for my site.
Stop vbulletin opening links in a new window
Collapse
X
-
I hacked vbulletin link target code to not open a new window when linking between my cms, blog, forum postings!
In includes/class_bbcode.php I changed the last line of function handle_bbcode_url from this:
PHP Code:return "<a href=\"$rightlink\" target=\"_blank\"" . ($is_external ? ' rel="nofollow"' : '') . ">$text</a>";
PHP Code:return "<a href=\"$rightlink\" target=\"" . iif(strstr($rightlink,"chromebookuser.com"),"_self","_blank") . "\"" . ($is_external ? ' rel="nofollow"' : '') . ">$text</a>";
I also made this change in includes/class_bbcode_blog.php to function handle_bbcode_url.
I haven't tested this a whole lot but it looks good.
Just a note that those who use this hack need to change the URL in the code from "chromebookuser.com" to your site's url. I know I'm being Capt Obvious here but a newbie hacker might overlook it.
Thanks ChromebookUser!
As for the rest of the conversation, most would agree you do not want your internal links to open in new windows. That's a horrifying experience for any user.
As for external links, I prefer new tab/window. Sometimes when you surf, you find a good site/source but in the process of clicking links you end up reading interesting sites/articles you weren't originally searching for. After clicking into the 6th degree website and totally forgetting why you were on the internet, its nice to have that window "still open" to remind you what you were looking for in the first place.
That's just me.
Comment
-
my special case with the external links
i have one question i wish you can help me with it
in the forum
if you click on any external link (www.youtube.com) it will use a file called outgoing.php
here is the code:
PHP Code:<?php
error_reporting(E_ALL & ~E_NOTICE);
require_once('./global.php');
require_once(DIR . '/includes/functions_login.php');
// input parameters
if (isset($_GET['to']) &&
is_scalar($_GET['to']) &&
strlen($_GET['to']) &&
strlen($_GET['to']) % 2 == 0 &&
preg_match('/^[a-z\d]+$/i', $_GET['to'])) {
$url = $_GET['to'];
} else {
$url = dechex(ord('/'));
}
$templater = vB_Template::create('REDIRECT_TO_EXTERNAL_LINK');
$templater->register('url', $url);
$templater->register('headinclude', $headinclude);
$templater->register('footer', $footer);
print_output($templater->render());
?>
arabic.rt.com/outgoing.php
but it should go to:
arabic.rt.com/forum/outgoing.php
my question is: How can i find the place that controls the path of outgoing.phpComment
-
widgetinstance 262 (Related Topics) skipped due to lack of content & hide_module_if_empty option.
Comment