Skocz do zawartości
"Idzie nowe..." - o zmianach i nie tylko ×
Przeniesienie zakupów z IPS Marketplace / Moving bought items from IPS Marketplace ×

Czy można automatycznie podmienić linki wychodzące?


necik

Rekomendowane odpowiedzi

Pewnie źle połączyłeś te dwa kody, całość ma wyglądać tak:

$parse_url = parse_url($url);
			     
if ($parse_url['host'] === 'x-kom.pl' || $parse_url['host'] === 'www.x-kom.pl') {
    $url = str_replace('?' . $parse_url['query'], '', $url);

    if (substr($parse_url['path'], -5) === '.html') {
        $url .= '?partnerid=100881203&sm12=NTI=&ts=1437327412&token=78152c1bbc8c6c807b6d467ba69b1335';
    }
}
  • Lubię to 1
Odnośnik do komentarza
Udostępnij na innych stronach

Dzięki, teraz działa. Popełniłem błąd, bo ja tych kodów nie połączyłem, tylko zamieniłem.

 

PS. Czy jest możliwość aby po najechaniu kursorem na link wyświetlał się oryginalny (wstawiony przez usera) link a dopiero po kliknięciu otwierał się z podmienionym moim refem? Albo jakaś inna opcja maskowania reflinków na forum?

Moje forum komputerowe ForumPC.pl korzysta z hostingu w Progreso.pl - w trakcie zamówienia serwera podaj kod FORUMPC a otrzymasz miesiąc abonamentu gratis.

Odnośnik do komentarza
Udostępnij na innych stronach

Problem polega na tym że PHP nie ma żadnego triggera "click" więc wyjściem z tej sytuacji jest przepisanie całości na JS (a konkretniej jQ).

 

Przykład już napisałem:

+function xkomLinks() {
    var a = document.createElement('a');
    a.href = $('.bbc_url').attr('href');

    if (a.host == 'x-kom.pl' || a.host == 'www.x-kom.pl') {
        $('.bbc_url').click(function () {
            a.href = a.href.replace(a.search, '');
            a.href = a.href + '?partnerid=100881203&sm12=NTI=&ts=1437327412&token=78152c1bbc8c6c807b6d467ba69b1335';
            
            return $('.bbc_url').attr('href', a.href);
        });
    }
}();

Musisz przetestować.

 

Poza tym, rozwiązanie JS jest na tyle dobre że będzie działać we wszystkich postach bez potrzeby przebudowy, minusem jest to że pewnie będziesz miał konflikt Prototype (lib używany przez IPB) z jQ - ale i na to jest sposób: https://api.jquery.com/jquery.noconflict/

 

Przykładowa implementacja w załączniku.

xkom.zip

Odnośnik do komentarza
Udostępnij na innych stronach

Napisałem rozszerzenie, testuj:

ms_inv34_2.zip

 

Po napisaniu odpowiedzi poprzez szybką odpowiedź trzeba odświeżyć stronę aby link się zmieniał.

Tak samo jeżeli już kliknie w link to stary link jest zmieniany na ten z Twoim refem, wystarczy odświeżyć stronę aby wrócił podstawowy.

  • Lubię to 1
Odnośnik do komentarza
Udostępnij na innych stronach

Napisałem rozszerzenie, testuj:

attachicon.gifms_inv34.zip

 

Po napisaniu odpowiedzi poprzez szybką odpowiedź trzeba odświeżyć stronę aby link się zmieniał.

Tak samo jeżeli już kliknie w link to stary link jest zmieniany na ten z Twoim refem, wystarczy odświeżyć stronę aby wrócił podstawowy.

 

Sprawdziłem (na innym forum) i chyba działa. Rozumiem, że przy stosowaniu powyższego rozszerzenia należy przywrócić oryginalny plik \admin\sources\classes\text\parser\bbcode.php ? Fajnie byłoby gdyby w ACP pojawiła się opcja konfiguracji własnego refa do sklepu x-kom - wówczas takie rozszerzenie zainteresowałoby na pewno kilka osób.

 

A odnośnie ostatniego zdania, to może lepiej aby po najechaniu kursorem na oryginalny link (czysty albo z czyimś refem) zawsze wyświetlał się oryginalny adres docelowy a dopiero po kliknięciu następowała podmiana?

Moje forum komputerowe ForumPC.pl korzysta z hostingu w Progreso.pl - w trakcie zamówienia serwera podaj kod FORUMPC a otrzymasz miesiąc abonamentu gratis.

Odnośnik do komentarza
Udostępnij na innych stronach

Jeśli chcesz dodać odpowiedź, zaloguj się lub zarejestruj nowe konto

Jedynie zarejestrowani użytkownicy mogą komentować zawartość tej strony.

Zarejestruj nowe konto

Załóż nowe konto. To bardzo proste!

Zarejestruj się

Zaloguj się

Posiadasz już konto? Zaloguj się poniżej.

Zaloguj się
  • Ostatnio przeglądający   0 użytkowników

    • Brak zarejestrowanych użytkowników przeglądających tę stronę.
×
×
  • Dodaj nową pozycję...

Powiadomienie o plikach cookie

Umieściliśmy na Twoim urządzeniu pliki cookie, aby pomóc Ci usprawnić przeglądanie strony. Możesz dostosować ustawienia plików cookie, w przeciwnym wypadku zakładamy, że wyrażasz na to zgodę.