Auto Link-Name-TO-Thread-Topic/Board-Title |
XeRanoN
Mitglied
Dabei seit: 23.04.04
Beiträge: 1.298
Fähigkeiten: WBB Lite 1 Profi Forenversion: Lite 1.0
|
|
Titel: Auto Link-Name-TO-Thread-Topic/Board-Title
Version: 1.2
Beschreibung: Was macht der Hack?
Der Hack erkennt beim posten einer URL (per BB-Code [URL]) ob diese ein Link zu einem Thread oder einem Post ist,d er sich im Forum befindet. Wenn dies so ist nimmt er als Linkbezeichnung das Topic des Threads auf den der Link führt.
Copyright?
Gibts nichts sichtbares.
Ersteller und dessen Stellungnahme?
Ersteller bin ich, Roger "Xeranon" Tschallener. Ich hafte für keinerlei Schäden die dieser Hack anrichten könnte. Die Gefahr das er dies tut ist jedoch gering.
Einbauzeit
Unter einer Minute ^^
Update auf v1.1
Wenn ein Linktitel angegeben wurde, wird dieser nun nicht mehr überschrieben.
Update auf v1.2
Wenn ein Link zu einem Unter-)Board gemacht wird, nimmt dieser, wenn nich anders angegeben, den Boardtitel als Linknamen.
Der Hack darf weder als eigener ausgegeben werden, noch weitergegeben oder von jemanden anderen zum Download angeboten werden (auch nicht in abgeänderter Form). Des Weiteren ist es nicht erlaubt, den Hack im Zusammenhang mit einem Installationsservice oder Aehnlichem anzubieten.
----
Demo: http://www.ahnungslos.ch
weiter zum Download
|
|
11.04.05 10:15 |
E-Mail
Finden
Als Freund hinzufügen
|
|
ecaya
Mitglied
Dabei seit: 26.01.04
Beiträge: 6
|
|
Tach...
Wollte den mal ausprobieren, doch der Hack kollidiert leider mit
einem anderen Hack den ich schon drin habe. Der Redirect Hack liegt genau in den selben Zeilen der clarse_parse
Vielleicht könntest du den anpassen?
__________________
|
|
17.04.05 13:12 |
E-Mail
WWW
Finden
Als Freund hinzufügen
|
|
gindaisy
Mitglied
Dabei seit: 30.08.08
Beiträge: 30
Fähigkeiten: WBB Lite 1 Anfänger Forenversion: Lite 1.0
|
|
Hallo
Habe die Dateiänderung jetzt gerade vorgenommen, jedoch werden Links immer noch wie gehabt angezeigt. Habs wieder ausgebaut, noch mal probiert - aber man sieht immer noch nur den Link. Ich habe bisher zwar einige Hacks eingebaut, jedoch keinen, der eine Dateiänderung in der selben Datei benötigt.. Was ist der Fehler? Habe ein WbbLite 1.0.2. ...
LG
|
|
07.09.11 16:19 |
E-Mail
Finden
Als Freund hinzufügen
|
|
Malfrosch
Mitglied
Dabei seit: 23.12.10
Beiträge: 222
|
|
Du hast bedacht, dass das nur neue Links betrifft? Alte gepostete Links bleiben so stehen. Es sei denn, du editierst den Beitrag.
|
|
07.09.11 17:17 |
Finden
Als Freund hinzufügen
|
|
gindaisy
Mitglied
Dabei seit: 30.08.08
Beiträge: 30
Fähigkeiten: WBB Lite 1 Anfänger Forenversion: Lite 1.0
|
|
Huhu
Habe ich im Prinzip schon. Neue Thema erstellt und davon den Link genommen. Oder muss auch das Forum an sich, sprich eine Kategorie neu erstellt worden sein, damit das läuft?
Liebe Grüße,
gindaisy
|
|
07.09.11 18:05 |
E-Mail
Finden
Als Freund hinzufügen
|
|
|
Huhu,
mir geht es so wie gindaisy.
Irgendwie tut sich nichts, egal in welcher Form ich den Link poste, egal ob ich einen Post/Thema neu erstelle.
lg
|
|
17.09.11 20:18 |
E-Mail
Finden
Als Freund hinzufügen
|
|
dirdy-birdy
Mitglied
Dabei seit: 20.06.09
Beiträge: 1
Fähigkeiten: WBB Lite 1 Anfänger Forenversion: Lite 1.0
|
|
habt ihr auch die URL eingetragen im ACP? Unter Einstellungen ---> globale Optionen ---> URL zum Forum das war einmal ein Fehler bei mir
und wenn ihr sie eingetragen habt, auch dann richtig ohne / am Ende?
|
|
18.09.11 10:22 |
E-Mail
Finden
Als Freund hinzufügen
|
|
Speedstick
Mitglied
Dabei seit: 03.03.08
Beiträge: 72
Fähigkeiten: WBB Lite 1 Anfänger Forenversion: Lite 1.0
|
|
Ich habe das Problem auch das er nicht geht
__________________
liebe Grüße
|
|
18.09.11 14:51 |
E-Mail
Finden
Als Freund hinzufügen
|
|
Beckebans
Alternativ Mitglied
Dabei seit: 10.07.05
Beiträge: 481
Fähigkeiten: WBB Lite 1 Fortgeschritten Herkunft: Paderborn Forenversion: Lite 1.0
|
|
Es liegt am Vergleich $url2board==$parseurl. $url2board ist bei mir "http://www.otb-server.de/wbblite" und $parseurl ist "http://www.otb-server.de". Bei Foren die nicht in einem Unterordner sind, sollte es also gehen. Ich kann die $url2board auch parsen lassen, um auf die gleiche Domain zu kommen. Dann funktioniert es. Aber was ist mit den Domains, auf denen mehrere Foren sind?
Es müsste also der Ordner dahinter. Beim parsen habe ich jedoch nur die Möglichkeit den Pfad auszugeben, welcher auch einen Dateinamen enthält. Wie kann ich denn einen unterschiedlich langen Dateinamen und den Slash davor abschneiden?
Edit:
Ok, war doch nicht so kompliziert. php kennt das Problem schon und hat ne Funktion dafür
Einfach (nur Fix)
Suche:
php: |
1:
|
$parseurl = $parseurl[scheme] . "://" . $parseurl[host]; |
|
Ersetze durch:
php: |
1:
|
$parseurl = $parseurl[scheme]."://".$parseurl[host].dirname($parseurl[path]); |
|
Ausführlich (Fix + Link Titel)
Suche:
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:
|
function formaturl($url, $title="", $maxwidth=60, $width1=40, $width2=-15) {
global $url2board, $master_board_name, $n, $db;
$parseurl = parse_url($url);
$parseurl = $parseurl[scheme] . "://" . $parseurl[host];
if($url2board==$parseurl && !trim($title)) {
list ($pre, $after) = split('threadid=', $url);
list ($threid, $after) = split('&', $after);
if(!$threid) {
list ($pre, $after) = split('postid=', $url);
list ($poid, $after) = split('&', $after);
$selteid=$db->query_first("SELECT threadid FROM bb".$n."_posts WHERE postid='$poid'");
$threid = $selteid[threadid];
}
if($threid)
{
$seltop=$db->query_first("SELECT topic FROM bb".$n."_threads WHERE threadid='$threid'");
if($seltop[topic]) $title = $seltop[topic];
} else {
$title = $url;
}
list ($pre, $after) = split('boardid=', $url);
list ($boaid, $after) = split('&', $after);
if($boaid)
{
$selboid=$db->query_first("SELECT title FROM bb".$n."_boards WHERE boardid='$boaid'");
if($selboid[title]) $title = $selboid[title];
} else {
if(!threid) $title = $url;
}
} else {
if(!trim($title)) $title=$url;
if(!preg_match("/[a-z]:\/\//si", $url)) $url = "http://$url";
if($this->cuturls==1 && strlen($title)>$maxwidth && !strstr(strtolower($title),"[img]") && !strstr(strtolower($title),"<img")) $title = substr($title,0,$width1)."...".substr($title,$width2);
}
return "<a href=\"$url\" target=\"_blank\">".str_replace("\\\"", "\"", $title)."</a>";
} |
|
Ersetze durch:
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:
|
function formaturl($url, $title="", $maxwidth=60, $width1=40, $width2=-15) {
global $url2board, $master_board_name, $n, $db;
$parseurl = parse_url($url);
$parseurl = $parseurl[scheme]."://".$parseurl[host].dirname($parseurl[path]);
if($url2board==$parseurl && !trim($title)) {
list ($pre, $after) = preg_split('/threadid=/', $url);
list ($threid, $after) = preg_split('/&/', $after);
if(!$threid) {
list ($pre, $after) = preg_split('/postid=/', $url);
list ($poid, $after) = preg_split('/&/', $after);
$selteid=$db->query_first("SELECT threadid FROM bb".$n."_posts WHERE postid='$poid'");
$threid = $selteid[threadid];
}
if($threid) {
$seltop=$db->query_first("SELECT topic FROM bb".$n."_threads WHERE threadid='$threid'");
if($seltop[topic]) {
$title = $seltop[topic];
return "<a href=\"".$url."\" title=\"Gehe zum Thema ".strip_tags(str_replace("\\\"", "\"", $title))."\" target=\"_blank\">".str_replace("\\\"", "\"", $title)."</a>";
}
} else {
$title = $url;
}
list ($pre, $after) = preg_split('/boardid=/', $url);
list ($boaid, $after) = preg_split('/&/', $after);
if($boaid) {
$selboid=$db->query_first("SELECT title FROM bb".$n."_boards WHERE boardid='$boaid'");
if($selboid[title]) {
$title = $selboid[title];
return "<a href=\"".$url."\" title=\"Gehe zum Board ".strip_tags(str_replace("\\\"", "\"", $title))."\" target=\"_blank\">".str_replace("\\\"", "\"", $title)."</a>";
}
} else {
if(!threid) $title = $url;
}
} else {
if(!trim($title)) $title=$url;
if(!preg_match("/[a-z]:\/\//si", $url)) $url = "http://$url";
if($this->cuturls==1 && strlen($title)>$maxwidth && !strstr(strtolower($title),"[img]") && !strstr(strtolower($title),"<img")) $title = substr($title,0,$width1)."...".substr($title,$width2);
}
return "<a href=\"".$url."\" target=\"_blank\">".str_replace("\\\"", "\"", $title)."</a>";
} |
|
__________________ Meine Hacks:
- Userpage
- Geburtstagsliste
- Beitrag bedanken
- User verlinken
- PHP-Fehler anzeigen
- Umfragedauer
- Neue Beiträge während Eigenem
- Gruppenspezifische Mitgliederliste
- und weitere...
Dieser Beitrag wurde 4 mal editiert, zum letzten Mal von Beckebans: 03.10.11 14:07.
|
|
18.09.11 14:56 |
E-Mail
WWW
Finden
Als Freund hinzufügen
|
|
|
Huhu,
super. Vielen Dank, jetzt klappt es *knuff*
Ich hab trotzdem nochmal eine Frage.
Und zwar kann man bei Bplaced beispielsweise die Foren über .net .de und .com erreichen. Jetzt hab ich im ACP die Adresse mit .net eingetragen, heißt, dass auch nur die Links mit .net umgewandelt werden.
Verständlich?
Gibt es da auch eine Alternative, dass es eben für alle drei geht? Wenn nicht ist auch nicht dramatisch, wenn man es weiß ist ja kein Problem in .net umzuschreiben
LG und noch ein dickes Danke!
|
|
18.09.11 21:42 |
E-Mail
Finden
Als Freund hinzufügen
|
|
Beckebans
Alternativ Mitglied
Dabei seit: 10.07.05
Beiträge: 481
Fähigkeiten: WBB Lite 1 Fortgeschritten Herkunft: Paderborn Forenversion: Lite 1.0
|
|
Irgendwie geht das bestimmt. Ich denke aber mal, das das relativ aufwändig wäre.
__________________ Meine Hacks:
- Userpage
- Geburtstagsliste
- Beitrag bedanken
- User verlinken
- PHP-Fehler anzeigen
- Umfragedauer
- Neue Beiträge während Eigenem
- Gruppenspezifische Mitgliederliste
- und weitere...
|
|
18.09.11 22:31 |
E-Mail
WWW
Finden
Als Freund hinzufügen
|
|
Schrimm
Banned
Dabei seit: 21.08.11
Beiträge: 700
|
|
Zitat: |
Original von Beckebans
Irgendwie geht das bestimmt. Ich denke aber mal, das das relativ aufwändig wäre. |
Nicht unbedingt.
Anstatt url2board einfach einen zweiten Eintrag erstellen, der "textarea" ist anstatt "text" oder eben "url2board" zu einer textarea umgestalten.
So können auch mehrere "urls" zum Board angegeben werden und auch abgefragt.
|
|
18.09.11 23:03 |
Finden
Als Freund hinzufügen
|
|
|
Ich muss gestehen, ich check davon nicht sehr viel
und wenn es Aufwand macht, will ich keinen damit belasten.
Ist so auch schon toll
|
|
18.09.11 23:12 |
E-Mail
Finden
Als Freund hinzufügen
|
|
Secretly
Mitglied
Dabei seit: 21.08.10
Beiträge: 4
|
|
Ich habe seit neustem eine Fehlermeldung oberhalb bestimmter Themen.
Zitat: |
Warning: parse_url(http://) [function.parse-url]: Unable to parse URL in /is/htdocs/wp1172474_BQBAATSYFN/projekt/acp/lib/class_parse.php on line 271
Warning: Cannot modify header information - headers already sent by (output started at /is/htdocs/wp1172474_BQBAATSYFN/projekt/acp/lib/class_parse.php:271) in /is/htdocs/wp1172474_BQBAATSYFN/projekt/acp/lib/functions.php on line 97
Warning: Cannot modify header information - headers already sent by (output started at /is/htdocs/wp1172474_BQBAATSYFN/projekt/acp/lib/class_parse.php:271) in /is/htdocs/wp1172474_BQBAATSYFN/projekt/acp/lib/functions.php on line 97 |
in der Zeile 271 steht
code: |
1:
|
$parseurl = parse_url($url); |
|
Nachdem ich gegooglet habe, habe ich die Zeile folgendermaßen verändert:
code: |
1:
|
$parseurl = parseURL($url); |
|
Nun ist zwar die Fehlermeldung weg, aber es werden eben keine URLs umgewandelt. Gibt es eine Lösung wo sowohl die Fehlermeldung weg ist, wie auch die URL umgewandelt wird?
|
|
01.07.12 18:12 |
E-Mail
Finden
Als Freund hinzufügen
|
|
sadagares
Mitglied
Dabei seit: 21.11.05
Beiträge: 52
Fähigkeiten: WBB Lite 1 Anfänger Herkunft: Lübeck Forenversion: Lite 1.0
|
|
Ich habe dasselbe Problem wie Secretly. Gibt es jemanden, der einen Lösungsvorschlag hat?
|
|
13.07.12 10:33 |
E-Mail
WWW
Finden
Als Freund hinzufügen
|
|
Sidney
Mitglied
Dabei seit: 17.08.07
Beiträge: 58
Fähigkeiten: WBB Lite 1 Fortgeschritten Herkunft: Backnang Forenversion: Lite 1.0
|
|
Hallo ihr Lieben,
ich hab den Hack ebenfalls eingebaut, aber ich glaube, er kollidiert, mit meiner Subdomain.
Mein Board liegt quasi in einem ordner, der automatisch zu einer Subdomain umgewandelt wird.
Also z.B. heißt der Ordner Bla und meine Domain www.blubb.de
Dann ist die Subdomain http://bla.blubb.de
Egal ob ich einen neuen Thread erstellt habe, oder den Link vom alten nehm, es werden immer die unumgewandelten Links angezeigt. In den Globalen Optionen hab ich sowohl den Link via unterordner (also www.blubb.de/bla) als auch die Subdomain gestestet. Funktioniert beides nicht. Habt ihr mir eine Hilfe?
|
|
29.11.12 00:53 |
E-Mail
WWW
Finden
Als Freund hinzufügen
|
|
|