MyBB.de Forum
Links in Beiträgen NICHT in neuem Fenster öffnen? - Druckversion

+- MyBB.de Forum (https://www.mybb.de/forum)
+-- Forum: Anpassungen (https://www.mybb.de/forum/forum-47.html)
+--- Forum: Plugin-Diskussionen (https://www.mybb.de/forum/forum-38.html)
+--- Thema: Links in Beiträgen NICHT in neuem Fenster öffnen? (/thread-31144.html)



Links in Beiträgen NICHT in neuem Fenster öffnen? - lantis - 16.12.2014

Hallo zusammen!  Smile

Ich würde es gerne realisieren das sich Links, die man in Beiträgen verlinkt, NICHT in einem neuen Fenster öffnen. Wisst ihr wie und wo das geändert werden muss?


RE: Links in Beiträgen NICHT in neuem Fenster öffnen? - TerminoHD - 16.12.2014

Das geht bei Konfiguration: wo ? KP !


RE: Links in Beiträgen NICHT in neuem Fenster öffnen? - SvePu - 16.12.2014

In der Konfiguration kann man das leider nicht realisieren.

Um dein Vorhaben umzusetzen, müsstest du die Core-Datei "/inc/class_parser.php" bearbeiten. 
Dabei gibt es zwei Varianten:

Variante 1. Alle Links im gleichen Fenster/Tab öffnen.

suche in class_parser.php (#1061)
PHP-Code:
// Fix some entities in URLs
        
$entities = array('$' => '%24''$' => '%24''^' => '%5E''`' => '%60''[' => '%5B'']' => '%5D''{' => '%7B''}' => '%7D''"' => '%22''<' => '%3C''>' => '%3E'' ' => '%20');
        
$fullurl str_replace(array_keys($entities), array_values($entities), $fullurl);

        
$name preg_replace("#&amp;\#([0-9]+);#si""&#$1;"$name); // Fix & but allow unicode
        
$link "<a href=\"$fullurl\" target=\"_blank\"{$nofollow}>$name</a>";
        return 
$link

ersetze alles durch:
PHP-Code:
// Fix some entities in URLs
        
$entities = array('$' => '%24''$' => '%24''^' => '%5E''`' => '%60''[' => '%5B'']' => '%5D''{' => '%7B''}' => '%7D''"' => '%22''<' => '%3C''>' => '%3E'' ' => '%20');
        
$fullurl str_replace(array_keys($entities), array_values($entities), $fullurl);

        
$name preg_replace("#&amp;\#([0-9]+);#si""&#$1;"$name); // Fix & but allow unicode
        
$link "<a href=\"$fullurl\"{$nofollow}>$name</a>";
        return 
$link

-------------------

Variante 2 (mein Favorit) : Interne Links im gleichen Fenster/Tab öffnen - externe weiterhin im neuen Fenster/Tab aufrufen.

suche in class_parser.php (#1061)
PHP-Code:
// Fix some entities in URLs
        
$entities = array('$' => '%24''$' => '%24''^' => '%5E''`' => '%60''[' => '%5B'']' => '%5D''{' => '%7B''}' => '%7D''"' => '%22''<' => '%3C''>' => '%3E'' ' => '%20');
        
$fullurl str_replace(array_keys($entities), array_values($entities), $fullurl);

        
$name preg_replace("#&amp;\#([0-9]+);#si""&#$1;"$name); // Fix & but allow unicode
        
$link "<a href=\"$fullurl\" target=\"_blank\"{$nofollow}>$name</a>";
        return 
$link

ersetze alles durch:
PHP-Code:
// Fix some entities in URLs
        
$entities = array('$' => '%24''$' => '%24''^' => '%5E''`' => '%60''[' => '%5B'']' => '%5D''{' => '%7B''}' => '%7D''"' => '%22''<' => '%3C''>' => '%3E'' ' => '%20');
        
$fullurl str_replace(array_keys($entities), array_values($entities), $fullurl);

        
$name preg_replace("#&amp;\#([0-9]+);#si""&#$1;"$name); // Fix & but allow unicode
        
if(strpos($fullurl$mybb->settings['bburl']) !== false)
            {
                
$link "<a href=\"$fullurl\"{$nofollow}>$name</a>";
            }
            else
            {
                
$link "<a href=\"$fullurl\" target=\"_blank\"{$nofollow}>$name</a>";
            } 
        return 
$link



RE: Links in Beiträgen NICHT in neuem Fenster öffnen? - lantis - 16.12.2014

Variante 1 getestet und funktioniert. Ich habe einen Beitrag der auf ein anderes Thema in meinem Forum verweist. Kein neues Fenster. Sehr gut. Danke. Smile

Variante 2 getestet und funktioniert nicht. Alles bleibt so wie es mit dem alten Code war. Es öffnet sich bei jedem Link, den ich in einem Beitrag verlinke ein neues Fenster, egal ob es Forum- Intern ist, oder nicht.

Entferne ich bei Variante 2 das target=blank , verhält sich wieder alles wie bei Variante 1.


RE: Links in Beiträgen NICHT in neuem Fenster öffnen? - TheChoosenOne - 16.12.2014

Ersetze in SvePu's Code
PHP-Code:
if(strpos($fullurl$mybb->settings['bburl']) !== false
durch
PHP-Code:
global $mybb;
        if(
strpos($fullurl$mybb->settings['bburl']) !== false

Dann müsste auch Version 2 funktionieren.


RE: Links in Beiträgen NICHT in neuem Fenster öffnen? - lantis - 16.12.2014

Vielen Lieben Dank an euch beide! Funktioniert wunderbar! Smile


RE: Links in Beiträgen NICHT in neuem Fenster öffnen? - SvePu - 16.12.2014

(16.12.2014, 17:03)TheChoosenOne schrieb: Ersetze in SvePu's Code
<..................>
Dann müsste auch Version 2 funktionieren.

Stimmt! - Sorry, hatte ich übersehen - ich hatte das bei mir direkt am Anfang der Funktion eingefügt...
PHP-Code:
function mycode_parse_url($url$name="")
    {
        global 
$mybb;
        if(!
preg_match("#^[a-z0-9]+://#i"$url))
 
                <.................> 



RE: Links in Beiträgen NICHT in neuem Fenster öffnen? - hkkp - 29.05.2015

der code scheint bei 1.8.5 nicht mehr zu funktionieren. hat jemand einen neuen?


RE: Links in Beiträgen NICHT in neuem Fenster öffnen? - hkkp - 31.05.2015

entwarnung, doch geht anscheinend immer noch.

die anpassung von svepu

PHP-Code:
function mycode_parse_url($url$name="")
    {
        global 
$mybb

brachte die lösung...