Hallo, Gast! (Registrieren)

Letzte Ankündigung: MyBB 1.8.38 veröffentlicht (30.04.24)


Benutzer, die gerade dieses Thema anschauen: 6 Gast/Gäste
Besucher sollen URLS nicht sehen
#31
Michael schrieb:Folgende Funktion in der Datei inc/class_parser.php ist für die Umwandlung von URLs verantwortlich:
PHP-Code:
    function mycode_parse_url($url$name="")
    {
        if(!
preg_match("#^[a-z0-9]+://#i"$url))
        {
            
$url "http://".$url;
        }
        
$fullurl $url;

        
$url str_replace('&''&'$url);
        
$name str_replace('&''&'$name);

        if(!
preg_match("#[a-z0-9]+://#i"$fullurl))
        {
            
$fullurl "http://".$fullurl;
        }
        if(!
$name)
        {
            
$name $url;
        }
        
$name stripslashes($name);
        
$url stripslashes($url);
        
$fullurl stripslashes($fullurl);
        if(
$name == $url && $this->options['shorten_urls'] != "no")
        {
            if(
my_strlen($url) > 55)
            {
                
$name my_substr($url040)."...".my_substr($url, -10);
            }
        }

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

Hallo zusammen,

habe den Code in die class_parser eingebaut. Bekomme zwar keine Fehlermeldung, aber auch kein Resultat. Rolleyes
An welcher Stelle genau muss der Code eingefügt werden?

Gruß,
StechusKaktus
Zitieren
#32
Ich habe es nicht mehr eingebaut im Moment, aber soweit ich noch weiß musst du in der inc/class_parser.php

suchen nach
PHP-Code:
$fullurl $url

davor einfügen
PHP-Code:
global $mybb

suchen nach
PHP-Code:
$link "<a href=\"$fullurl\" target=\"_blank\">$name</a>"

danach einfügen
PHP-Code:
} else {
        $link "<span style=\"color: red;\">Um diesen Link zu sehen musst du dich registrieren</span>";
    
VG,
Susanne
Zitieren
#33
Hi Susanne,

nix zu machen. Keine Fehler, kein Ergebnis.
Bräuchte wohl doch nochmal den kompletten Abschnitt.
Danke dir trotzdem schonmal.
Zitieren
#34
Doch, es geht, ich habe es gerade ausprobiert. Hier mal für dich der ganze Teil, der ersetzt werden muss

PHP-Code:
function mycode_parse_url($url$name="")
    {
        if(!
preg_match("#^[a-z0-9]+://#i"$url))
        {
            
$url "http://".$url;
        }
        
$fullurl $url;

        
$url str_replace('&amp;''&'$url);
        
$name str_replace('&amp;''&'$name);

        if(!
preg_match("#[a-z0-9]+://#i"$fullurl))
        {
            
$fullurl "http://".$fullurl;
        }
        if(!
$name)
        {
            
$name $url;
        }
        
$name stripslashes($name);
        
$url stripslashes($url);
        
$fullurl stripslashes($fullurl);
        if(
$name == $url && $this->options['shorten_urls'] != "no")
        {
            if(
my_strlen($url) > 55)
            {
                
$name my_substr($url040)."...".my_substr($url, -10);
            }
        }

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

gegen

PHP-Code:
function mycode_parse_url($url$name="")
    {
        if(!
preg_match("#^[a-z0-9]+://#i"$url))
        {
            
$url "http://".$url;
        }
        global 
$mybb;
        
$fullurl $url;

        
$url str_replace('&amp;''&'$url);
        
$name str_replace('&amp;''&'$name);

        if(!
preg_match("#[a-z0-9]+://#i"$fullurl))
        {
            
$fullurl "http://".$fullurl;
        }
        if(!
$name)
        {
            
$name $url;
        }
        
$name stripslashes($name);
        
$url stripslashes($url);
        
$fullurl stripslashes($fullurl);
        if(
$name == $url && $this->options['shorten_urls'] != "no")
        {
            if(
my_strlen($url) > 55)
            {
                
$name my_substr($url040)."...".my_substr($url, -10);
            }
        }
        if($mybb->user['uid'] != "0") {
        
$name preg_replace("#&amp;\#([0-9]+);#si""&#$1;"$name); // Fix & but allow unicode        
        
$link "<a href=\"$fullurl\" target=\"_blank\">$name</a>";
        } else {
        $link "<span style=\"color: red;\">Um diesen Link zu sehen musst du dich registrieren</span>";
    }
        return 
$link;
    } 
VG,
Susanne
Zitieren
#35
prima,

ich danke dir!
der Text erscheint jetzt. kA wo jetzt der Unterschied zu meinen Versuchen liegt. Smile
Jetzt muss ich nur noch auf die Reg-Seite verweisen. Ich denke das krieg ich aber hin.

Gruß,
StechusKaktus

Edit: jetzt klappts wie gewünscht. Smile
Zitieren
#36
Das mit den zuletzt von Susanne beschriebenen Änderungen in der /inc/class_parser.php funktioniert ja einwandfrei. Das habe ich nun in einem Forum eingebaut.

Wie kann ich es ermöglichen, dass trotzdem noch evtl. vorhandene Links in der Signatur angezeigt werden? Dabei ist es erstmal egal, ob in den Signaturen aller User oder nur in der Signatur einzelner User. Es würde auch nichts ausmachen, wenn in Posts einzelner User alle URLs trotzdem angezeigt würden (also in Beitrag&Signatur).

Ich wollte meinen Sponsoren ermöglichen Links anzubringen, die auch von Gästen und Suchmaschinen gelesen/verfolgt werden können (mindestens in der Signatur).

Gruß
Boardie05
Zitieren
#37
Vorschlag (nicht getestet!): Öffne die Datei inc/functions_post.php und suche nach:
PHP-Code:
        $sig_parser = array(
            
"allow_html" => $mybb->settings['sightml'],
            
"allow_mycode" => $mybb->settings['sigmycode'],
            
"allow_smilies" => $mybb->settings['sigsmilies'],
            
"allow_imgcode" => $mybb->settings['sigimgcode'],
            
"me_username" => $post['username']
        ); 
Ersetzen durch:
PHP-Code:
        $sig_parser = array(
            
"allow_html" => $mybb->settings['sightml'],
            
"allow_mycode" => $mybb->settings['sigmycode'],
            
"allow_smilies" => $mybb->settings['sigsmilies'],
            
"allow_imgcode" => $mybb->settings['sigimgcode'],
            
"me_username" => $post['username'],
            
"show_urls" => "yes"
        
); 
Suche in der Datei inc/class_parser.php nach:
PHP-Code:
function mycode_parse_url($url$name="")
    
Darunter einfügen:
PHP-Code:
global $options
Suche nach:
PHP-Code:
        if($mybb->user['uid'] != "0") {
            $name preg_replace("#&amp;\#([0-9]+);#si""&#$1;"$name); // Fix & but allow unicode        
            $link "<a href=\"$fullurl\" target=\"_blank\">$name</a>";
        } else {
            $link "<span style=\"color: red;\">Um diesen Link zu sehen musst du dich registrieren</span>";
        
Ersetzen durch:
PHP-Code:
        if($mybb->user['uid'] != "0" || $options['show_urls'] == "yes") {
            $name preg_replace("#&amp;\#([0-9]+);#si""&#$1;"$name); // Fix & but allow unicode        
            $link "<a href=\"$fullurl\" target=\"_blank\">$name</a>";
        } else {
            $link "<span style=\"color: red;\">Um diesen Link zu sehen musst du dich registrieren</span>";
        

Gruß,
Michael
[Bild: banner.png]
Support erfolgt NUR im Forum!
Bitte gelöste Themen als "erledigt" markieren.
Beiträge mit mangelhafter Rechtschreibung/Grammatik werden kommentarlos gelöscht.
Zitieren
#38
Danke Michael!

Es funktioniert, mit einer kleinen Änderung:

Die Variable $options ist wohl weiter oben in der Klasse schon definiert, deshalb habe ich folgendes nicht hinzugefügt:
PHP-Code:
global $options

und diesen Teil, muss man dann wohl so schreiben:
PHP-Code:
if($mybb->user['uid'] != "0" || $this->options['show_urls'] == "yes") {
            
$name preg_replace("#&amp;\#([0-9]+);#si""&#$1;"$name); // Fix & but allow unicode        
            
$link "<a href=\"$fullurl\" target=\"_blank\">$name</a>";
        } else {
            
$link "<span style=\"color: red;\">Um diesen Link zu sehen musst du dich registrieren</span>";
        } 

Die Änderung in der /inc/functions_post.php habe ich aber eins zu eins übernommen. Wie gesagt: So klappt es bei mirCool

Danke für die schnelle Antwort!

Gruß
Boardie05
Zitieren


Möglicherweise verwandte Themen…
Thema Verfasser Antworten Ansichten Letzter Beitrag
  Entwürfe sollen nicht mit "asoi.php" angezeigt werden. Gerti 3 1.611 08.06.2019, 21:00
Letzter Beitrag: itsmeJAY
  Gäste sollen Themen in einem Forum sehen, aber nicht lesen können. Helios 25 10.375 23.06.2014, 16:26
Letzter Beitrag: hkkp
  Besucher Statistiken hanswurst 5 3.015 18.11.2011, 11:43
Letzter Beitrag: StefanT
  Profil-Besucher Plugin ? Barbie ♥ 1 1.744 13.03.2010, 00:03
Letzter Beitrag: Jockl
  Besucher rekord, bzw. gäste zahlen faken!? Makan 15 7.107 05.10.2009, 19:39
Letzter Beitrag: Afrobongo