Seite 2 von 3

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

Verfasst: 28.11.2012 22:55
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

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

Verfasst: 01.12.2012 09:55
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.

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

Verfasst: 01.12.2012 21:59
von BNa
Miriam hat geschrieben:"globale" Alternative
?
Scheint ja, jedenfalls sollte es :wink:

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

Verfasst: 19.12.2012 09:48
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:

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

Verfasst: 19.12.2012 19:28
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

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

Verfasst: 19.12.2012 22:17
von LisaserstesForum
Super, danke schön :)

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

Verfasst: 30.12.2012 19:36
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

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

Verfasst: 30.12.2012 20:34
von Miriam
Thema-Name | Forum-Name | {SITENAME} >> im acp >> Board-Einstellung >> Forumname
Do what? :o

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

Verfasst: 30.12.2012 20:49
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.

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

Verfasst: 30.12.2012 22:47
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