[FINAL] gepostete Links in Beiträgen umwandeln

In diesem Forum können Mod-Autoren ihre Mods vorstellen, die sich noch im Entwicklungsstatus befinden. Der Einbau in Foren im produktiven Betrieb wird nicht empfohlen.
Forumsregeln
phpBB 3.0 hat das Ende seiner Lebenszeit überschritten
phpBB 3.0 wird nicht mehr aktiv unterstützt. Insbesondere werden - auch bei Sicherheitslücken - keine Patches mehr bereitgestellt. Der Einsatz von phpBB 3.0 erfolgt daher auf eigene Gefahr. Wir empfehlen einen Umstieg auf die neuste phpBB-Version, welches aktiv weiterentwickelt wird und für welches regelmäßig Updates zur Verfügung gestellt werden.
Benutzeravatar
BNa
Valued Contributor
Beiträge: 3169
Registriert: 12.04.2010 23:51
Kontaktdaten:

Re: [FINAL] gepostete Links in Beiträgen umwandeln

Beitrag von BNa »

Kleine Kosmetik

Wer sich daran stört, das der in Title Tags oftmals auftretende als •
im externen Links Modul der Mod geschrieben wird, braucht nur diese kleine Änderung durchführen:

Öffne

includes/functions_content.php

Finde (in der Mod)

Code: Alles auswählen

                        $text = strip_tags($matches[2]); 
Danach füge ein

Code: Alles auswählen

                        $text = str_replace('•', '•', $text); 
Speichere die Datei nach dem Editieren im UTF8 ohne BOM Format
Benutzeravatar
Miriam
Mitglied
Beiträge: 12310
Registriert: 13.10.2004 07:18
Kontaktdaten:

Re: [FINAL] gepostete Links in Beiträgen umwandeln

Beitrag von Miriam »

Danke erst einmal für den Hinweis.
Dieses "Feature" hatte ich schon gesehen und es hat mich nicht sonderlich gestört :-P

Ich bin am Überlegen, ob das eine "globale" Alternative wäre:

Für die internen URLs
finde in der functions_content.php

Code: Alles auswählen

                    $relative_url = $row[$key]; 
tausche aus gegen:

Code: Alles auswählen

                    $relative_url = html_entity_decode($row[$key]); 
Für die externen URLs
finde in der functions_content.php

Code: Alles auswählen

                fclose($handle); 
danach füge ein:

Code: Alles auswählen

            $text = html_entity_decode($text); 
Damit wären dann alle HTML Entities erschlagen, die dann beim Speichern in der DB wieder konvertiert werden.
Gruss, Miriam.
Ich schmeiß' alles hin und...
... lasse es liegen
Benutzeravatar
BNa
Valued Contributor
Beiträge: 3169
Registriert: 12.04.2010 23:51
Kontaktdaten:

Re: [FINAL] gepostete Links in Beiträgen umwandeln

Beitrag von BNa »

Miriam hat geschrieben:"globale" Alternative
?
Scheint ja, jedenfalls sollte es :wink:
LisaserstesForum
Mitglied
Beiträge: 996
Registriert: 28.08.2008 20:20
Wohnort: Kassel

Re: [FINAL] gepostete Links in Beiträgen umwandeln

Beitrag von LisaserstesForum »

Hi Miriam, ich habe von dir die erste Version in meinem Forum installiert ([RC1] convert internal links into titles) und bisher hat die auch super funktioniert, bis mir gestern ein Fehler aufgefallen ist.
Es wurde in einem Beitrag ein Link zu dem Thema http://www.domain.de/viewtopic.php?f=58&t=451&start=60 gesetzt, dieser hat den Titel ABC.
Im Beitrag wird aber als Titel XYZ angezeigt, ein Thema mit diesem Titel gibt es nur einen im Adminbereich, zu dem natürlich niemand Zugang hat.
Der Link dazu ist auch ein ganz anderer: http://www.domain.de/viewtopic.php?f=43&t=60

Ich habe dann ein bißchen herum probiert und getestet, heraus gekommen ist:
(rot= die Adresse zu den Beiträgen grün = der Titel, der angezeigt wird)

Bei dem Link zur ersten Seite eines beliebigen Themas wird der normale Titel (CDE) angezeigt: viewtopic.php?f=53&t=123

Bei dem Link zur zweiten Seite wird nur noch "viewtopic.php?f=53&t=123&start=10" angezeigt: viewtopic.php?f=53&t=123&start=10

Bei dem Link zur dritten Seite wird "000" angezeigt: viewtopic.php?f=53&t=123&start=20

Und ab Seite 4 werden Titel aus ganz anderen Bereichen angezeigt: viewtopic.php?f=53&t=123&start=30


Das ist bei jedem Thema so, das mehrere Seiten hat.
Kann man das irgendwie beheben? Denn wenn im öffentlichen Bereich plötzlich ein Titel von einem Thema aus dem Adminbereich steht, ist das natürlich nicht so optimal. :wink:
Benutzeravatar
Miriam
Mitglied
Beiträge: 12310
Registriert: 13.10.2004 07:18
Kontaktdaten:

Re: [FINAL] gepostete Links in Beiträgen umwandeln

Beitrag von Miriam »

Erst einmal Danke für die Erklärungen :-)

Aber:
Deshalb gibt es ja jetzt die FINAL Version.

Finde also in der
includes/functions_content.php

Code: Alles auswählen

            $match = preg_match_all('/([ptf])=(\d+)/', $relative_url, $matches); 
tausche diesen aus gegen:

Code: Alles auswählen

            $match = preg_match_all('/[\?&#]([ptf])={0,1}(\d+)/', $relative_url, $matches); 
Hatten wir hier auch schon mal : Klick
Gruss, Miriam.
Ich schmeiß' alles hin und...
... lasse es liegen
LisaserstesForum
Mitglied
Beiträge: 996
Registriert: 28.08.2008 20:20
Wohnort: Kassel

Re: [FINAL] gepostete Links in Beiträgen umwandeln

Beitrag von LisaserstesForum »

Super, danke schön :)
Andreas1823
Mitglied
Beiträge: 185
Registriert: 22.05.2012 20:04

Re: [FINAL] gepostete Links in Beiträgen umwandeln

Beitrag von Andreas1823 »

hey,

erstmal vorab, super Mod.

Ich habe ein kleines Anliegen und zwar möchte ich für die internen Links die Anzeige etwas verändern.

Stand jetzt wird nur der Titelname angezeigt, wenn auf ein Thema verwiesen wird.

Ich möchte nun das bei der verlinkung auf ein Thema auch das Forum angezeigt wird... also so

Thema-Name | Forum-Name | {SITENAME} >> im acp >> Board-Einstellung >> Forumname

Ist das irgendwie machbar ???

Vielen dank im Forum für eure Hilfe.

LG Andreas
Benutzeravatar
Miriam
Mitglied
Beiträge: 12310
Registriert: 13.10.2004 07:18
Kontaktdaten:

Re: [FINAL] gepostete Links in Beiträgen umwandeln

Beitrag von Miriam »

Thema-Name | Forum-Name | {SITENAME} >> im acp >> Board-Einstellung >> Forumname
Do what? :o
Gruss, Miriam.
Ich schmeiß' alles hin und...
... lasse es liegen
Benutzeravatar
BNa
Valued Contributor
Beiträge: 3169
Registriert: 12.04.2010 23:51
Kontaktdaten:

Re: [FINAL] gepostete Links in Beiträgen umwandeln

Beitrag von BNa »

Öffne

includes/functions_content.php

Finde (in Miriams Mod)

Code: Alles auswählen

                if (isset($params_arr['t'])) 
                {
                    $sql = 'SELECT topic_title FROM ' . TOPICS_TABLE . '
                            WHERE topic_id = ' . $params_arr['t'];
                    $key = 'topic_title';
                }
                if (isset($params_arr['f']))
                {
                    $sql = 'SELECT forum_name FROM ' . FORUMS_TABLE . '
                            WHERE forum_id = ' . $params_arr['f'];
                    $key = 'forum_name';
                }
                $result = $db->sql_query($sql);
                if ($row = $db->sql_fetchrow($result))
                {
                    $relative_url = $row[$key];
                }
Ersetze mit

Code: Alles auswählen

                if (isset($params_arr['t'])) 
                {
                    $sql = 'SELECT t.topic_title, f.forum_name FROM ' . TOPICS_TABLE . ' t,  ' . FORUMS_TABLE . ' f
                            WHERE t.topic_id = ' . $params_arr['t'] . '
                            AND t.forum_id = f.forum_id';
                    $key  = 'topic_title';
                    $key2 = 'forum_name';
                            global $config;
                    $key3 = $config['sitename'];
                }
                if (isset($params_arr['f']))
                {
                    $sql = 'SELECT forum_name FROM ' . FORUMS_TABLE . '
                            WHERE forum_id = ' . $params_arr['f'];
                    $key = 'forum_name';
                }
                $result = $db->sql_query($sql);
                
                if ($row = $db->sql_fetchrow($result))
                {
                    $relative_url = $row[$key] . (isset($row[$key2]) ? ' - ' . $row[$key2] : '') . ((isset($key3)) ?  ' - ' . $key3 : '');
                }
Dieser Code ist getestet, gilt aber nur für neu erstellte oder editierte Links

Syntax (Topic - Forum - Forumname): zB. [FINAL] gepostete Links in Beiträgen umwandeln - phpBB 3.0: Mods in Entwicklung - phpBB.de

Ersetze ' - ' mit ' | ', falls Du lieber | als Trennzeichen haben möchtest.
Andreas1823
Mitglied
Beiträge: 185
Registriert: 22.05.2012 20:04

Re: [FINAL] gepostete Links in Beiträgen umwandeln

Beitrag von Andreas1823 »

Hallo Bna,

danke für den Code.

Sorry das ich nochmal nerve...

Geht das auch das man nur den Themenname und das Forum angezeigt wird ??

Auch wenn des offtopic ist aber warum werden interne Links nicht unterstrichen und externe werden es ???
Achso ich habe als Style: prosilver...

LG
Andreas
Zuletzt geändert von Andreas1823 am 30.12.2012 22:55, insgesamt 2-mal geändert.
Antworten

Zurück zu „[3.0.x] Mods in Entwicklung“