Link Control 1.1

Sagem
Wir bzw Alexdo haben das Teil mal nen weng verändert smile

Warum kam ich drauf...

Naja das teil ist so ansich ne richtig nice Sache .
Jedoch sind die Member ja nicht blöde smile

Der Link Controll funzt aber führt auch dazu sich Nicht freigeschaltete Account Leichen ins Forum zu holen denn reggt sich der Member ohne sich freizuschalten kann er die Links schon dann sehen .

Nun wollte ich das sich das ganze ändert und die Links erst dann Sichtbar werden wenn sich der Member hat auch Freigeschaltet .

Dank Alesdo funzt das nun und hier mal fettes danke an dich mein bester smile

Ich denke viele hier werden das als Willkommen empfinden und genauso denken das account leichen (Nicht freigeschaltete) nicht schön anzusehen sind smile

In diesem Sinne
Slowman
Hi,

ich bräuchte den Hack für ein WBB3 Forum. Kann das bitte Jemand realisieren ? Testforum kann ich stellen und über eine kleine Spende können wir uns auch unterhalten smile

Kontakt auch per PN
spider30
Wozu ist dieser Code 2x hintereinander?
code:
1:
2:
3:
4:
5:
6:
/** Link Control by Peh **/
		$ignoredboards = split('[,]', $hidelinksfromguestsignoreboards);
		if (!$wbbuserdata['userid'] && $hidelinksfromguests && !in_array($thread['boardid'], $ignoredboards)) {
            $post = preg_replace("/\<a href=(.*?)\>(.*?)\<\/a\>/", $hidelinksfromgueststext, $post);
            
        } 


Wenn ich das mache kommt 2x der Text dieser Link wird erst ....
Sagem
Danach solst du suchen Augenzwinkern

lies die Readme pls genauer
spider30
Tja wenn du die Readme genau lesen würdest wirst du auch sehen, dass steht suche /** Link Control bei Peh **// .....
und dann steht füge darunter ein /** Link Control bei Peh **// .....
Und da steht genau der selbe Code.

Und beim neuen Update steht der Austausch auch 2x drinnen Irre
Sagem
WEis jetzt net was du willst ?
Wenn ich auf site eins schaue hatte das teil doch bei dir gefunzt ?

Also was willste denn nun ?
Bei mir ist das jedenfalls nicht so das da wo was 2 mal angezeigt wird .

Ist ja auch keine gravierende änderung am Script selbst nur 2 dinge austauschen und gut is.

In unserer Readme steht das du das ersetzen sollst .

Lief er vorher bei dir oder net ?
spider30
also irgend wie ist da 2x das selbe.und wenn ich eins weglösche, dann gehts verwirrt

code:
1:
2:
3:
4:
5:
6:
7:
8:
9:
10:
11:
12:
13:
14:
15:
16:
17:
18:
19:
20:
21:
22:
23:
24:
25:
26:
27:
28:
29:
30:
31:
32:
33:
/** Link Control by Peh **/
		$ignoredboards = split('[,]', $hidelinksfromguestsignoreboards);
		if (!$wbbuserdata['userid'] && $hidelinksfromguests && !in_array($thread['boardid'], $ignoredboards)) {
            $post = preg_replace("/\<a href=(.*?)\>(.*?)\<\/a\>/", $hidelinksfromgueststext, $post);

        }

### ERSETZE mit: ###

		// Link Control by Peh
		$ignoredboards = split('[,]', $hidelinksfromguestsignoreboards);
		if ($wbbuserdata['groupcombinationid'] == "19" || !$wbbuserdata['userid'] && $hidelinksfromguests && !in_array($thread['boardid'], $ignoredboards)) {
			$post = preg_replace("/\<a href=(.*?)\>(.*?)\<\/a\>/", $hidelinksfromgueststext, $post);
		}

### ### ###
### Suche nach: ###

		/** Link Control by Peh **/
		$ignoredboards = split('[,]', $hidelinksfromguestsignoreboards);
		if (!$wbbuserdata['userid'] && $hidelinksfromguests && !in_array($thread['boardid'], $ignoredboards)) {
            $post = preg_replace("/\<a href=(.*?)\>(.*?)\<\/a\>/", $hidelinksfromgueststext, $post);

        }

### ERSETZE mit: ###

		// Link Control
		$ignoredboards = split('[,]', $hidelinksfromguestsignoreboards);
		if ($wbbuserdata['groupcombinationid'] == "19" || !$wbbuserdata['userid'] && $hidelinksfromguests && !in_array($thread['boardid'], $ignoredboards)) {
			$post = preg_replace("/\<a href=(.*?)\>(.*?)\<\/a\>/", $hidelinksfromgueststext, $post);
		}
Alexdo
In der besagten Datei ist der Code ja auch mehrfach, bzw. zwei Mal vorhanden, daher muss es auch zwei Mal ersetzt werden.
Wenn man den Hack nach der Orginalanleitung einbaut, baut man den gleichen Code ebenfalls zwei Mal ein, dieser wird, damit nur aktierte Nutzer den Link sehen können, nochmals modifiziert. Daher die doppelte Codestelle.

Sollte der Link später im Forum falsch angezeigt werden, ist da irgendetwas beim Ein-/Umbau schief gelaufen. Deine acp/lib/class_parse.php würde mir da weiterhelfen. Augenzwinkern
spider30
Ja das ist mir schon klar, dass der Code in der Original auch 2 mal drinnen ist.Darauf bezog sich ja auch meine Frage warum er 2x drinnen ist.
Datei hänge ich dir nachmittag an.Hab die Codstelle momentan nur 1x drinnen und damit läufts.
Alexdo
Wenn es denn wirklich korrekt funktioniert, ist die Datei relativ egal. Hauptsache ist immer, dass es läuft. Augenzwinkern
Xannasavin
Hi!

2 Kleine Probleme hab ich:

1. Signaturen werden ersetzt, wäre nicht schlecht wenn man die ausnehmen könnte..
2. Inner Links werden bei mir ersetz, outgoing Links allerdings nicht... ich hab einen redirex zu anonym.to drin falls das wichtig ist...

php:
1:
2:
3:
4:
5:
6:
7:
8:
9:
10:
11:
12:
13:
14:
15:
16:
17:
18:
19:
20:
21:
22:
23:
24:
25:
26:
27:
28:
29:
30:
31:
32:
33:
34:
35:
36:
37:
38:
39:
40:
41:
42:
43:
44:
45:
46:
###wBB-CT-Security-Pre-5-1-3 (Redirecter)###    
function formaturl($url$title ''$maxwidth 60$width1 40$width2 = -15) {
        global $boardurls;
        $test str_replace("http://"""$boardurls);
        $test preg_replace('!\/(.*)!'''$test); 
        $this->boardurls explode("\n",$test);
        if (!wbb_trim($title)) {
            $title rehtmlconverter($url);
            if (!preg_match("/[a-z]:\/\//si"$url)) $url "http://$url";
            $host parse_url($url); 
            $host $host['host']; 
            if ($this->cuturls == && wbb_strlen($title) > $maxwidth$title wbb_substr($title0$width1)."...".wbb_substr($title$width2);
            if (in_array($host$this->boardurls)) {


           return "<a href=\"$url\" target=\"_blank\">".htmlconverter(str_replace("\\\"""\""$title))."</a>";


            } else {
            
###externe-links###
return "<a class=\"extern\" href=\"http://anonym.to/?".urlencode($url)."\" target=\"_blank\">".htmlconverter(str_replace("\\\"""\""$title))."</a>";
###Endeexterne-links###            
 }
            
        }
        else {
            if (!preg_match("/[a-z]:\/\//si"$url)) $url "http://$url";
            $host parse_url($url); 
            $host $host['host']; 
            if (in_array($host$this->boardurls)) {



           return "<a href=\"$url\" target=\"_blank\">".$title."</a>";


            } else {
            
###externe-links###
return "<a class=\"extern\" href=\"http://anonym.to/?".urlencode($url)."\" target=\"_blank\">".$title."</a>";
###externe-links###            

            }
        }
    }


Grüße
SoftCreatR
Auch hier großes Danke. Funktionierte auf Anhieb.
Highländer
Ist ein super "Teil" !

Aber, wäre es möglich, dass nur externe Links nicht angezeigt werden für Gäste? Die internen könnten ruhig sichtbar sein.

Würde ja reichen, wenn man Domains ausklammern kann davon.

code:
1:
2:
3:
        function ignoreDomain($url) {
        $domains = array("*xxx.de*","*yyyyyy.de*");
usw


Mfg
Xannasavin
Zitat:
Original von Xannasavin
Hi!

2 Kleine Probleme hab ich:

1. Signaturen werden ersetzt, wäre nicht schlecht wenn man die ausnehmen könnte..
2. Inner Links werden bei mir ersetz, outgoing Links allerdings nicht... ich hab einen redirex zu anonym.to drin falls das wichtig ist...

php:
1:
2:
3:
4:
5:
6:
7:
8:
9:
10:
11:
12:
13:
14:
15:
16:
17:
18:
19:
20:
21:
22:
23:
24:
25:
26:
27:
28:
29:
30:
31:
32:
33:
34:
35:
36:
37:
38:
39:
40:
41:
42:
43:
44:
45:
46:
###wBB-CT-Security-Pre-5-1-3 (Redirecter)###    
function formaturl($url$title ''$maxwidth 60$width1 40$width2 = -15) {
        global $boardurls;
        $test str_replace("http://"""$boardurls);
        $test preg_replace('!\/(.*)!'''$test); 
        $this->boardurls explode("\n",$test);
        if (!wbb_trim($title)) {
            $title rehtmlconverter($url);
            if (!preg_match("/[a-z]:\/\//si"$url)) $url "http://$url";
            $host parse_url($url); 
            $host $host['host']; 
            if ($this->cuturls == && wbb_strlen($title) > $maxwidth$title wbb_substr($title0$width1)."...".wbb_substr($title$width2);
            if (in_array($host$this->boardurls)) {


           return "<a href=\"$url\" target=\"_blank\">".htmlconverter(str_replace("\\\"""\""$title))."</a>";


            } else {
            
###externe-links###
return "<a class=\"extern\" href=\"http://anonym.to/?".urlencode($url)."\" target=\"_blank\">".htmlconverter(str_replace("\\\"""\""$title))."</a>";
###Endeexterne-links###            
 }
            
        }
        else {
            if (!preg_match("/[a-z]:\/\//si"$url)) $url "http://$url";
            $host parse_url($url); 
            $host $host['host']; 
            if (in_array($host$this->boardurls)) {



           return "<a href=\"$url\" target=\"_blank\">".$title."</a>";


            } else {
            
###externe-links###
return "<a class=\"extern\" href=\"http://anonym.to/?".urlencode($url)."\" target=\"_blank\">".$title."</a>";
###externe-links###            

            }
        }
    }


Grüße


Das Problem besteht immernoch Augenzwinkern
Highländer
Zitat:
Original von Highländer
Ist ein super "Teil" !

Aber, wäre es möglich, dass nur externe Links nicht angezeigt werden für Gäste? Die internen könnten ruhig sichtbar sein.

Würde ja reichen, wenn man Domains ausklammern kann davon.

code:
1:
2:
3:
        function ignoreDomain($url) {
        $domains = array("*xxx.de*","*yyyyyy.de*");
usw


Edit: Oha, es werden auch Mail Addys nicht angezeigt dann. Das ist auch nicht gut, wenn man bei Anfragen eine angeben muss, wenn sich mal jemand nicht einloggen kann....

Mfg
elke
kann es sein, dass dieser Hack nicht funktioniert, wenn der Hack "Gäste kürzen" zusätzlich im Board installiert ist?
Sagem
Zitat:
Original von elke
kann es sein, dass dieser Hack nicht funktioniert, wenn der Hack "Gäste kürzen" zusätzlich im Board installiert ist?


Das können wir nicht sagen da es nicht getestet wurde kann mir das aber absolut nicht vorstellen das es was damit zu tun hätte. Pls nochmal schauen ob keine Einbaufehler vorhanden sind.


Zitat:
Original von Highländer
Zitat:
Original von Highländer
Ist ein super "Teil" !

Aber, wäre es möglich, dass nur externe Links nicht angezeigt werden für Gäste? Die internen könnten ruhig sichtbar sein.

Würde ja reichen, wenn man Domains ausklammern kann davon.

code:
1:
2:
3:
        function ignoreDomain($url) {
        $domains = array("*xxx.de*","*yyyyyy.de*");
usw


Edit: Oha, es werden auch Mail Addys nicht angezeigt dann. Das ist auch nicht gut, wenn man bei Anfragen eine angeben muss, wenn sich mal jemand nicht einloggen kann....

Mfg



Da hast du allerdings Recht , habe das selbst erst nach deinem Post jetzt gesehen.
Wir werden sehen das wir das schnell Korrigieren.
Alexdo ist sehr lang nimmer da gewesen daher schauen wir nun mal danach da wir auch zusammen die Modi umgeschrieben haben.

In diesem Sinne
elke
also ich selbst hab dies nicht eingebaut, aber der der es gemacht hat sagt, dass es richtig eingebaut wäre.

den Hack gibt es hier:
Beiträge für Gäste kürzen
http://birc-script.de/wbb2/thema1942.htm


es heisst hier:
Was macht der Hack:
Links in Beiträgen werden für Gäste unsichtbar gemacht und durch einen
Alternativtext der im ACP einstellbar ist ersetzt.

Wie es der Gast (linkes Bild) und der User (rechtes Bild) sieht hab ich angehängt.

Vielleicht kann mir hier jemand helfen
Sagem
Ja das kann sein das die sich beisen.
Da sie letztendlich beide die selbe Funktion besitzen.
Solltest dich für einen entscheiden.

Dieser hier von Alexdo ist halt so gemacht das die Links erst sichtbar werden wenn man auch hat Freigeschaltet um Acc leichen zu vermeiden.
WEis nicht ob das jener von dir auch kann.

In diesem Sinne
Highländer
Zitat:
Original von Sagem
Zitat:
Original von Highländer
Zitat:
Original von Highländer
Ist ein super "Teil" !

Aber, wäre es möglich, dass nur externe Links nicht angezeigt werden für Gäste? Die internen könnten ruhig sichtbar sein.

Würde ja reichen, wenn man Domains ausklammern kann davon.

code:
1:
2:
3:
        function ignoreDomain($url) {
        $domains = array("*xxx.de*","*yyyyyy.de*");
usw


Edit: Oha, es werden auch Mail Addys nicht angezeigt dann. Das ist auch nicht gut, wenn man bei Anfragen eine angeben muss, wenn sich mal jemand nicht einloggen kann....

Mfg



Da hast du allerdings Recht , habe das selbst erst nach deinem Post jetzt gesehen.
Wir werden sehen das wir das schnell Korrigieren.
Alexdo ist sehr lang nimmer da gewesen daher schauen wir nun mal danach da wir auch zusammen die Modi umgeschrieben haben.

In diesem Sinne

_________________________________


Normal braucht man ja "nur" folgendes umschreiben, dass interne Links und MailAddys angezeigt werden, wie man es mir schrieb per Mail. Aber aber, es soll nicht einfach sein... die Umstellung. Das mit dem Email ist nicht so schlimm, da ich nun den Thread davon frei geschaltet habe. (Verstecken von Links in folgenden Boards unterdrücken)

Zitat:
$post = preg_replace("/\<a href=(.*?)\>(.*?)\<\/a\>/",
> $hidelinksfromgueststext, $post);


Mfg