Seite 1 von 1

Prime Links: Externe Links definieren

Verfasst: 30.07.2013 18:25
von abelius-kiel
Hallo allerseits,

ich habe mal wieder eine Fachfrage. Soeben installierte ich in meinem Forum das MOD Prime Links 1.3.0

Problem: das Forum läuft unter der Subdomain imkerforum.nordbiene.de

Leider wird auch die Seite http://www.nordbiene.de und andere unter nordbiene.de laufende Subdomains als "intern" eingestuft. Das möchte ich nicht.

Wie muss ich die "prime_links.php" konfigurieren, damit alle Links außer zur Subdomain imkerforum.nordbiene.de im neuen Frame geöffnet werden?

Danke im Voraus.
LG
Kai

Re: Prime Links: Externe Links definieren

Verfasst: 31.07.2013 09:45
von abelius-kiel
Hallo,

ich habe das dahingehend gelöst, dass ich in der prime_links.php folgendes eingestellte habe:

Code: Alles auswählen

// Link targets (setting to FALSE will remove the link)
    define('INTERNAL_LINK_TARGET', '_blank');
    define('EXTERNAL_LINK_TARGET', '_blank');
Andere Möglichkeiten scheint es nicht zu geben. Nun werden ALLE Links im neuen Frame geöffnet.
LG
Kai

Re: Prime Links: Externe Links definieren

Verfasst: 31.07.2013 21:34
von Talk19zehn
Hi, das sind ja keine Surferfreuden. Ich habe mir auf der Suche nach jener Lösung auch schon die "Zähne ausgebissen".
Schließe mich darum deiner Frage mal an und würde mich über Anschubpotential Wissender freuen! :wink:

LG

Re: Prime Links: Externe Links definieren

Verfasst: 31.07.2013 23:29
von franki
Hallo Leute

Ich bin zwar schon etwas eingerostet bez. php, aber ich würde mal hier angreifen:
includes/prime_links.php

Code: Alles auswählen

// Options
    define('PRIME_LINKS_ENABLE', true);            // Enable this MOD?
    define('USE_TARGET_ATTRIBUTE', false);        // The attribute "target" is not valid for STRICT doctypes.
    define('HIDE_LINKS_FROM_GUESTS', false);    // Hide external links from guests? If this is a string, then the text of the link will be replaced with this string.
    define('EXTERNAL_LINK_PREFIX', '');            // Example: 'http://anonym.to?'
    define('INTERNAL_LINK_DOMAINS', '');        // List of domains to be considered local, separated by semicolons. Example: 'http://www.alternate-domain.com'
    define('FORBIDDEN_DOMAINS', '');            // List of domains for which links should be removed, separated by semicolons. Example: 'http://www.porn.com'
    define('FORBIDDEN_NEW_URL', '#');            // URL to insert in place of any removed links. Example: 'http://www.google.com' or '#top'  
speziell sollte es hier angegeben werden

Code: Alles auswählen

define('INTERNAL_LINK_DOMAINS', '');        // List of domains to be considered local, separated by semicolons. Example: 'http://www.alternate-domain.com' 

Re: Prime Links: Externe Links definieren

Verfasst: 31.07.2013 23:44
von HabNurNeFrage
Hi,

die Stelle hatte ich auch eben vor Augen.

Wenn ich richtig gelesen habe, wollen die beiden bereits als intern erkannte Links zu den externen hinzufügen.
Das Eintragen von URLs an der Stelle bewirkt aber genau das Gegenteil => mehr Domains zu den internen Links hinzufügen.

Eventuell ginge es über die Forbidden-Defines, sofern da nicht schon welche definiert sind.

Ggf. könnte man in der Funktion ansetzen, wo auf die Funktion generate_board_url() zugegriffen wird...

LG

Re: Prime Links: Externe Links definieren

Verfasst: 31.07.2013 23:51
von franki
Hallo
Das müsste man ausprobieren.
Könnte auch sein, wenn hier (define('INTERNAL_LINK_DOMAINS', '');) eine Domain eingetragen wird,
auch nur diese Domain als intern anerkannt wird.

Re: Prime Links: Externe Links definieren

Verfasst: 31.07.2013 23:56
von Charlie_M
Sehe ich auch so.
Ich denke der Teil hier könnte die Lösung sein:

Code: Alles auswählen

		/**
		* Determine if the URL contains a domain.
		* $domains	: list of domains (an array or a string separated by semicolons)
		* $remove	: list of subdomains to remove (or TRUE/FALSE to remove all/none)
		*/
Unter $Domains würde ich die Subdomain eintragen. Unter $remove kann man dann noch die anderen Subdomains eintragen.

PS:
ist auskommentiert :wink:

Re: Prime Links: Externe Links definieren

Verfasst: 01.08.2013 00:02
von HabNurNeFrage
Hi,

könnte klappen, wenn man aus diesem Teil:

Code: Alles auswählen

        function is_link_local($url)
        {
            $url = strtolower($url);

            // Compare the URLs
            if (!($is_local = $this->match_domain($url, $this->board_url)))
            {
                // If there is no scheme, then it's probably a relative, local link
                $scheme = substr($url, 0, strpos($url, '://'));
                //$is_local = !$scheme || ($scheme && !in_array($scheme, array('http', 'https', 'mailto', 'ftp', 'gopher')));
                $is_local = !$scheme || ($scheme && !preg_match('/^[a-z0-9.]{2,16}$/i', $scheme));
            }

            // Not local, now check forced local domains
            if (!$is_local && INTERNAL_LINK_DOMAINS)
            {
                $is_local = $this->match_domain($url, INTERNAL_LINK_DOMAINS);
            }
            return($is_local);
        } 
den ersten Teil entfernt.

Also so ersetzen:

Code: Alles auswählen

        function is_link_local($url)
        {
            $url = strtolower($url);

            // Not local, now check forced local domains
            if (!$is_local && INTERNAL_LINK_DOMAINS)
            {
                $is_local = $this->match_domain($url, INTERNAL_LINK_DOMAINS);
            }
            return($is_local);
        } 

Nach meinem Verständnis würde dann nur noch das als Local erkannt, was oben als internal definiert ist.
Ist aber ungetestet...

LG

Re: Prime Links: Externe Links definieren

Verfasst: 04.08.2013 21:51
von Talk19zehn
Hi,

"WOW" ihr Lieben, vielen herzlichen Dank für euer Engagement und den zeitlichen Aufwand. Ich entdecke dies leider erst soeben und bedanke mich vorab, wenn auch verspätet.

Hoffentlich denke ich daran, ein Feedback zu geben, wenn alles "durchgespielt" ist.

Grüße