To jest tylko wersja do druku, aby zobaczyć pełną wersję tematu, kliknij TUTAJ
phpBB2 by Przemo
Support forów phpBB2 modified by Przemo

1.12.7 i starsze - Automatyczne tytułowanie linków

Radek - 08-08-2008, 00:13
Temat postu: Automatyczne tytułowanie linków
Mod, o którym toczyła się dyskusja w tym temacie - http://www.przemo.org/php...pic.php?t=59684 - już jest! :)

Aby modyfikacja działała, wystarczy w oknie Odpowiedzi nacisnąć na guzik URL i wpisać ścieżkę do dowolnej strony. Skrypt pobierze tytuł wpisanej strony (z tagów <title></title>) i wrzuci do pola tekstowego kod w postaci:
Kod:
[url=http://adresstrony.pl]Tytuł strony[/url]

Inny przykład:
Wpisujemy adres www.przemo.org/phpBB2/forum/ i otrzymujemy w polu tekstowym:
Kod:
[url=http://www.przemo.org/phpBB2/forum]phpBB2 by Przemo :: Strona Główna[/url]


Mod powinien sprawnie działać, był testowany i nie sprawiał kłopotów. Jeżeli jednak znajdziecie jakiegoś buga, to śmiało piszcie w tym temacie - poprawię :)

Seba123 - 08-08-2008, 02:14

Supcio, sam miałem to robić ;)

Tylko ogólnie rzecz biorąc nie o to chodziło, bo to dodaje button, a przesłanie tego moda miałobyć takie że jak ktoś wpisze np. www.google.pl to zamieni to www.google.pl na tytuł, tylko to musiałoby się zapisywać w bazie, bo np. ściągnięcie kilkunastu nazw naraz trochę potrwa.

Dlatego, proszę Cię abyś utworzył coś takiego co zapisuje te tytuły do bazy danych, bo takie co ściąga je w trybie live to "napisałem", w sensie przerobiłem z Twojego kodu ;)

szresi - 08-08-2008, 07:54

A jak ktoś ma moda AUTO CODE/HIDE link?

bo przynajmniej u mnie

wpisanie

Kod:
[url=http://adresstrony.pl]Tytuł strony[/url]


powoduje otrzymanie po wysłaniu takiego czegoś..

Kod:
[url=[hide]http://adresstrony.pl]Tytuł[/hide] strony[/url]


:/

tosiek - 08-08-2008, 08:41

W przycisku URL działa ale czyste podane w poście nie zamienia ;/
Radek - 08-08-2008, 11:50

Seba123, a pomyśl sobie co będzie, jak ktoś wpisze do posta 10 linków i da wyślij - trzeba byłoby je wszystkie na raz otworzyć, pobrać tytuły, zapisać w bazie co dałoby albo ładnego timeouta albo trwałoby minimum 10 lat. Zresztą, trzeba by sprawdzać, czy ktoś tytułu nie zmienił - inaczej w bazie będą zostawały stare tytuły.
tosiek, nie będzie działać, czytaj wyżej.

Ogólnie rzecz biorąc, to wg. mnie łatwiej kliknąć na guzik, wpisać adres i zatwierdzić enterem, niż wklepywać ręcznie jeszcze z tagami [url][/url]. Zresztą, jak już mówiłem, ściaganie tytułów podczas wysyłania posta trwałoby za długo. Marudzicie.

[ Dodano: 08-08-2008, 11:59 ]
szresi77, w posting.php zamień to:
Kod:
preg_match_all("#\[url=http://[^\s'\"]+\[/url\]#i", $text, $all_urls);
$all_urls = implode(" ", $all_urls[0]);

na to:
Kod:
preg_match_all("#\[url\]http://[^\s'\"]+\[/url\]#i", $text, $all_urls);
$all_urls = implode(" ", $all_urls[0]);

tosiek - 08-08-2008, 12:03

Czyli jest możliwe ? ;) Jakbyś mógł zrób tez taką możliwość :P że ktoś poda adres i go zmienia podczas wysyłania :)
Radek - 08-08-2008, 13:31

tosiek, niby jest, ale jako dla dwóch - trzech linków będzie działac znośnie, to jak ktoś da np 10 linków w poście to post się wyśle dopiero po połączeniu się z 10 stronami, odczytaniu tytułów i zamknięciu połączeń, a to potrwa. Tak więc takie coś nie ma sensu, chyba że chcesz, żeby ktoś Ci zarżnął serwer :)
Seba123 - 09-08-2008, 01:39

RuseK napisał/a:
czy ktoś tytułu nie zmienił - inaczej w bazie będą zostawały stare tytuły.
To jest szczegół ;)

Chodzi tylko o to aby przy wysyłaniu posta zmieniał w bazie na gotowy bbcode, z tytułem ;)

RuseK napisał/a:
Ogólnie rzecz biorąc, to wg. mnie łatwiej kliknąć na guzik, wpisać adres i zatwierdzić enterem, niż wklepywać ręcznie jeszcze z tagami [url][/url]. Zresztą, jak już mówiłem, ściaganie tytułów podczas wysyłania posta trwałoby za długo. Marudzicie.
Uwierz że nie, zrobiłem u siebie to live pobieranie tytułów, i ze 3-4 linków zczytuje koło sekundy - to dużo ? Można by jeszcze dać jednego małego if'a, aby nie ściągał ich jakby było ponad 5 linków w poście ;)

Poza tym chyba obczaję jak to w vb jest - bo tam wszystko sprawnie idzie.

Radek - 09-08-2008, 01:45

Seba123, zrobiłem sobie taką wersję jak mówisz - z cachem. Chodzi sprawnie, nawet bez cache 10 linkow zapisuje dosc szybko, ale...
Co bedzie, jak znajdzie sie jakis idiota, ktory specjalnie bedzie wklejal po 100 linkow do posta?
Zaraz wrzuce instrukcje, ale uprzedzam, ze nie odpowiadam za skutki :>

OK, instrukcja dodana w załączniku.

Seba123 - 09-08-2008, 02:21

RuseK napisał/a:
Co bedzie, jak znajdzie sie jakis idiota, ktory specjalnie bedzie wklejal po 100 linkow do posta?
Ban him :]

Ogólnie rzecz biorąc przydała by się funkcja która zlicza ilość linków w poście (liczę na Ciebie, ja PHP nie znam, tylko tyle co znajomość składni =] ), dodać sprawdzanie auth'a, i jeżeli nie jest modem to zapodać jakieś message_die że wkleił za dużo linków (tak jak na ipb).

Radek - 09-08-2008, 02:42

Seba123, o, niezły pomysł. Sprawdź najpierw jak to działa, przy ilu linkach się 'wiesza'. Ogólnie jak możesz to potestuj, to do jutra wydam nową wersję.
Seba123 - 09-08-2008, 10:20

A więc, ten mod coś nie śmiga =]

Czeka, tj dłużej wysyła post - jakby pobierało nazwę, lecz 0 efektów w poście :]

tosiek - 09-08-2008, 10:31

Nom nie działa ale za to popsuł mi słownik :P
Seba123 - 09-08-2008, 11:11

A prawdę mówiąc nie bawiłem się nigdy w cachowanie, więc nie dotykam się tego =]
Seba123 - 09-08-2008, 14:39

RuseK napisał/a:
wykonaliście DWA razy find i after-add, tak jak jest w instrukcji? Trzeba to wykonać dwa razy, inaczej nie będzie działać.
Sure.

Zgłupiałem, bo nadal nie działa :mrgreen:



Powered by phpBB modified by Przemo © 2003 phpBB Group