Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

12 Stron V  « < 3 4 5 6 7 > »   
Reply to this topicStart new topic
> [klasa] Zaawansowany parser bbcode (php5), advanced bbcode parser
wookieb
post 12.01.2010, 20:49:31
Post #81





Grupa: Moderatorzy
Postów: 8 989
Pomógł: 1550
Dołączył: 8.08.2008
Skąd: Słupsk/Gdańsk




Niestety u mnie sytuacja nadal nie występuje.
O ile pamiętam, modyfikowałeś parser, więc polecałbym pobrać parser jeszcze raz i porównać różnice pomiędzy plikami (np total commanderem -> Porównaj według zawartości), może umknęło Ci parę ważnych elementów. Jeżeli pomimo tego problem nadal wystąpi wyrzuć proszę swój parser gdzieś publicznie lub zagadaj na pw w celu wysłania swojego parsera.


--------------------
Go to the top of the page
+Quote Post
Kamil Pietrzak
post 30.01.2010, 13:49:36
Post #82





Grupa: Zarejestrowani
Postów: 213
Pomógł: 10
Dołączył: 7.01.2010
Skąd: Lublin

Ostrzeżenie: (0%)
-----


czekaj... czekaj
nie wiem czemu myslalem, ze parser jest zgodny z xhtml i uzywa np. <span style="weight: bold;"></span> zamiast <b></b>
w kazdym razie tak nie jest... co prawda uzywam htmla a nie xhtmla, ale jeszcze jakis czas temu szukalem parsera do xhtmla, w sumie to bez tego caly parser jest neiwiele warty, bo mozna sobie na szybko napisac niewiele gorszy, a plikow ma tyle co polowa cmsa
Go to the top of the page
+Quote Post
Crozin
post 30.01.2010, 14:45:42
Post #83





Grupa: Zarejestrowani
Postów: 6 476
Pomógł: 1306
Dołączył: 6.08.2006
Skąd: Kraków

Ostrzeżenie: (0%)
-----


1) Element B istnieje w XHTMLu
2) Dalece bardziej poprawnym jest użycie
Kod
<b>test</b>
, niż
Kod
<span style="font-wieght: bold">test</span>
.
3) Co ma ilość plików do samego parsera?

(Samego parsera nie oceniam, bo nigdy go nawet na oczy nie widziałem).
Go to the top of the page
+Quote Post
wookieb
post 30.01.2010, 19:20:38
Post #84





Grupa: Moderatorzy
Postów: 8 989
Pomógł: 1550
Dołączył: 8.08.2008
Skąd: Słupsk/Gdańsk




Cytat(Kamil Pietrzak @ 30.01.2010, 13:49:36 ) *
czekaj... czekaj
nie wiem czemu myslalem, ze parser jest zgodny z xhtml i uzywa np. <span style="weight: bold;"></span> zamiast <b></b>
w kazdym razie tak nie jest... co prawda uzywam htmla a nie xhtmla, ale jeszcze jakis czas temu szukalem parsera do xhtmla, w sumie to bez tego caly parser jest neiwiele warty, bo mozna sobie na szybko napisac niewiele gorszy, a plikow ma tyle co polowa cmsa

To napisz. Ocenimy. Stwórz konkurencję to będziemy gadać.
A sprawdź czy
Kod
<span style="weight: bold"></span>

jest NIE poprawne a dopiero potem gadaj.

Jeżeli piszesz cmsa na 10 plikach to dobrze, ciesz się ale jeżeli nie znasz się na wydajnym organizowaniu struktury plików, obiektów i celu dla jakiego to zorganizowałem (a z tego co widzę to nie znasz się) to się nie wypowiadaj, albo jak już zapytaj. Rozumiem opinie negatywne ale ta jest zupełnie bezpodstawna. Dodatkowo zadziwię cię. Możesz zmienić męczący cię kod na B, I, U, LI. BA! Nawet możesz sobie zamienić na "MOJ_TAG_POGRUBIENIA_KTOREGO_UZYWAM_W_XML_A_NASTEPNIE_TRANSFORMUJE_ZA_POMOCA
_XSLT".

Cytat(Crozin @ 30.01.2010, 14:45:42 ) *
1) Element B istnieje w XHTMLu
2) Dalece bardziej poprawnym jest użycie
Kod
<b>test</b>
, niż
Kod
<span style="font-weight: bold">test</span>


http://webdesign.about.com/od/htmltags/p/bltags_b.htm

Cytat
If you can't use the <strong> element, then you should consider using the CSS font-weight property.


Sprawdźcie czy jest poprawne
  1. <!DOCTYPE html
  2. PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN"
  3. "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
  4. <html xmlns="http://www.w3.org/1999/xhtml" xml:lang="pl" lang="pl">
  5. <meta http-equiv="Content-type" content="application/xhtml+xml; charset=iso-8859-2" />
  6. <title>Tytuł</title>
  7. <link rel="stylesheet" href=" [nazwa_arkusza_stylow.css] " type="text/css" />
  8. </head>
  9. <p>
  10. <span style="font-weight: bold">pogrubiony tekst</span>
  11. </p>
  12.  
  13. </body>
  14. </html>
  15.  

Semantycznie nie jest, aczkolwiek validator kod przepuszcza.


--------------------
Go to the top of the page
+Quote Post
Kamil Pietrzak
post 4.02.2010, 20:37:06
Post #85





Grupa: Zarejestrowani
Postów: 213
Pomógł: 10
Dołączył: 7.01.2010
Skąd: Lublin

Ostrzeżenie: (0%)
-----


jestem za bardzo pro zeby pisac byle BB biggrin.gif
szukalem np. takiego parsera ktory jest w wbb3, gdzie calosc jest formatowana css i sie nie gryzie
ale chyba nie ma co
z reszta, zaczalem dzisiaj czytac joomle, to co tam zobaczylem przeroslo moje wyobrazenia o duzych aplikacjach
to jest jakis kombajn, moze troche przesadzam z tym ograniczaniem aplikacji
Go to the top of the page
+Quote Post
GyniO
post 14.02.2010, 09:39:29
Post #86





Grupa: Zarejestrowani
Postów: 53
Pomógł: 3
Dołączył: 8.02.2010

Ostrzeżenie: (0%)
-----


Czy istnieje możliwość do pisania w wartości title, a w obrazkach alt??

Zależało by mi na tym, jest to możliwe?
Go to the top of the page
+Quote Post
wookieb
post 14.02.2010, 09:43:37
Post #87





Grupa: Moderatorzy
Postów: 8 989
Pomógł: 1550
Dołączył: 8.08.2008
Skąd: Słupsk/Gdańsk




Oczywiście, że jest i oczywiście, że wszystko jest opisane w readme


--------------------
Go to the top of the page
+Quote Post
kallosz
post 14.02.2010, 10:17:43
Post #88





Grupa: Zarejestrowani
Postów: 272
Pomógł: 19
Dołączył: 29.07.2006

Ostrzeżenie: (10%)
X----


Cytat(GyniO @ 14.02.2010, 09:39:29 ) *
Czy istnieje możliwość do pisania w
Kod
<a href="http://" target="_blank"></a>
wartości title, a w obrazkach alt??

Zależało by mi na tym, jest to możliwe?

wystarczy przeczytać readme <- sama nazwa pliku mówi żeby przeczytać ;]

Poza tym jak przejrzysz kod klasy to również możesz twierdzić czy idzie dopisać


--------------------
Pomogłem ?? Kliknij pomógł :) || kallosz.pl
-----------------------------------
Go to the top of the page
+Quote Post
GyniO
post 14.02.2010, 10:42:43
Post #89





Grupa: Zarejestrowani
Postów: 53
Pomógł: 3
Dołączył: 8.02.2010

Ostrzeżenie: (0%)
-----


No fakt, za readme wziąłem inny plik i stąd moja niewiedza.

Już sobie z tym poradziłem.
Dzięki.
Go to the top of the page
+Quote Post
lobopol
post 13.03.2010, 14:45:24
Post #90





Grupa: Zarejestrowani
Postów: 1 729
Pomógł: 346
Dołączył: 4.04.2009

Ostrzeżenie: (0%)
-----


A ja mam taki problem
mam aktualnie taki układ plików:
Main:
-class:
--Bbcode:
---pliki tej klasy

--klasa1.php
--klasa2.php

-index.php

i mój problem wygląda w ten sposób, że po skopiowaniu zawartości pliku test.php (z paczki bbcode) do index.php i zaincludowaniu klasy bbcode w ten sposób: include_once ('class/Bbcode/BbCode.class.php');
Dostaję kupę błędów:
  1. Warning: include_once(Bbcode/Filters/Basic.php) [function.include-once]: failed to open stream: No such file or directory in C:\xampp\htdocs\smarty\class\Bbcode\BbCode.class.php on line 264
  2.  
  3. Warning: include_once() [function.include]: Failed opening 'Bbcode/Filters/Basic.php' for inclusion (include_path='.;C:\xampp\php\PEAR') in C:\xampp\htdocs\smarty\class\Bbcode\BbCode.class.php on line 264
  4.  
  5. Notice: filter not exists in C:\xampp\htdocs\smarty\class\Bbcode\BbCode.class.php on line 268
  6.  
  7. Warning: include_once(Bbcode/Filters/Code.php) [function.include-once]: failed to open stream: No such file or directory in C:\xampp\htdocs\smarty\class\Bbcode\BbCode.class.php on line 264
  8.  
  9. Warning: include_once() [function.include]: Failed opening 'Bbcode/Filters/Code.php' for inclusion (include_path='.;C:\xampp\php\PEAR') in C:\xampp\htdocs\smarty\class\Bbcode\BbCode.class.php on line 264
  10.  
  11. Notice: filter not exists in C:\xampp\htdocs\smarty\class\Bbcode\BbCode.class.php on line 268
  12.  
  13. Warning: include_once(Bbcode/Filters/Url.php) [function.include-once]: failed to open stream: No such file or directory in C:\xampp\htdocs\smarty\class\Bbcode\BbCode.class.php on line 264
  14.  
  15. Warning: include_once() [function.include]: Failed opening 'Bbcode/Filters/Url.php' for inclusion (include_path='.;C:\xampp\php\PEAR') in C:\xampp\htdocs\smarty\class\Bbcode\BbCode.class.php on line 264
  16.  
  17. Notice: filter not exists in C:\xampp\htdocs\smarty\class\Bbcode\BbCode.class.php on line 268
  18.  
  19. Warning: include_once(Bbcode/Filters/List.php) [function.include-once]: failed to open stream: No such file or directory in C:\xampp\htdocs\smarty\class\Bbcode\BbCode.class.php on line 264
  20.  
  21. Warning: include_once() [function.include]: Failed opening 'Bbcode/Filters/List.php' for inclusion (include_path='.;C:\xampp\php\PEAR') in C:\xampp\htdocs\smarty\class\Bbcode\BbCode.class.php on line 264
  22.  
  23. Notice: filter not exists in C:\xampp\htdocs\smarty\class\Bbcode\BbCode.class.php on line 268
  24.  
  25. Warning: include_once(Bbcode/Filters/Image.php) [function.include-once]: failed to open stream: No such file or directory in C:\xampp\htdocs\smarty\class\Bbcode\BbCode.class.php on line 264
  26.  
  27. Warning: include_once() [function.include]: Failed opening 'Bbcode/Filters/Image.php' for inclusion (include_path='.;C:\xampp\php\PEAR') in C:\xampp\htdocs\smarty\class\Bbcode\BbCode.class.php on line 264
  28.  
  29. Notice: filter not exists in C:\xampp\htdocs\smarty\class\Bbcode\BbCode.class.php on line 268
  30.  
  31. Warning: include_once(Bbcode/Filters/Youtube.php) [function.include-once]: failed to open stream: No such file or directory in C:\xampp\htdocs\smarty\class\Bbcode\BbCode.class.php on line 264
  32.  
  33. Warning: include_once() [function.include]: Failed opening 'Bbcode/Filters/Youtube.php' for inclusion (include_path='.;C:\xampp\php\PEAR') in C:\xampp\htdocs\smarty\class\Bbcode\BbCode.class.php on line 264

Ale gdy wrzucę index.php do katalogu class wszystko działa, co robię źle?

Ps. dołączenie innego pliku z katalogu bbcode np. include_once 'class/Bbcode/asd.php'; działa dobrze, chmody są ustawione na 777 i nie ma żadnych dodatkowych zabezpieczeń


--------------------
Go to the top of the page
+Quote Post
wookieb
post 13.03.2010, 14:51:44
Post #91





Grupa: Moderatorzy
Postów: 8 989
Pomógł: 1550
Dołączył: 8.08.2008
Skąd: Słupsk/Gdańsk




masz 2 wyjścia
1) dodać do include path katalog "class",
2) poprawić wszędzie ścieżkę dołączanych plików na poprzedzając ją 'class/'


--------------------
Go to the top of the page
+Quote Post
lobopol
post 13.03.2010, 15:02:35
Post #92





Grupa: Zarejestrowani
Postów: 1 729
Pomógł: 346
Dołączył: 4.04.2009

Ostrzeżenie: (0%)
-----


Wielkie dzięki już wszystko dobrze działa.


--------------------
Go to the top of the page
+Quote Post
kenobi13
post 17.03.2010, 18:24:53
Post #93





Grupa: Zarejestrowani
Postów: 32
Pomógł: 0
Dołączył: 13.07.2009
Skąd: Ziemia

Ostrzeżenie: (0%)
-----


Zauważyłem drobny błąd chyba.
W linijce 51 w pliku youtube.php jest:
  1. $idMovie = htmlspecialchars($str);

a powinno być:
  1. $idMovie = htmlspecialchars($bodyStr);


Czemu jak mam tag CODE to cdy dam do środka kolejny taki tak pokauje mi się okienko na kod i w nim drugie?
Go to the top of the page
+Quote Post
LapKom
post 21.03.2010, 21:28:24
Post #94





Grupa: Zarejestrowani
Postów: 7
Pomógł: 0
Dołączył: 15.04.2007

Ostrzeżenie: (0%)
-----


Czy jest mozliwość usprawnienia biblioteki/filtru w taki sposób, żeby wyłapywał niedomknięte tagi? Chodzi mi o napisanie filtra do obsługi innego typu listy, takiej jak na przykład na tym forum.
Kod
[list=1]
[*] pozycja 1
[*] pozycja 2
[*] pozycja 3
[/list]

Listę otwiera tag list, domyślnie jest to ul, ale jeśli podamy parametr w postaci liczby, to zamienia sie w ol i rozpoczyna odliczanie od podanej liczby. Każda pozycja w liście to tag *. Bardzo często spotyka się listy własnie w takim formacie BBCode.
Go to the top of the page
+Quote Post
wookieb
post 21.03.2010, 22:18:32
Post #95





Grupa: Moderatorzy
Postów: 8 989
Pomógł: 1550
Dołączył: 8.08.2008
Skąd: Słupsk/Gdańsk




Cytat(kenobi13 @ 17.03.2010, 18:24:53 ) *
Zauważyłem drobny błąd chyba.
W linijce 51 w pliku youtube.php jest:
  1. $idMovie = htmlspecialchars($str);

a powinno być:
  1. $idMovie = htmlspecialchars($bodyStr);

Faktycznie zgadza się. Niedługo to poprawię.
Cytat(kenobi13 @ 17.03.2010, 18:24:53 ) *
Czemu jak mam tag CODE to cdy dam do środka kolejny taki tak pokauje mi się okienko na kod i w nim drugie?

Takie było założenie. Narazie je zostawiam w takiej formie, dopóki dokładniej tego nie przemyślę.


Cytat
Czy jest mozliwość usprawnienia biblioteki/filtru w taki sposób, żeby wyłapywał niedomknięte tagi? Chodzi mi o napisanie filtra do obsługi innego typu listy, takiej jak na przykład na tym forum.

Posługiwałem się "standardem" z http://bbcode.org/reference.php
Aczkolwiek, nie ma problemu by sobie napisać tak działającą listę. Odpowiednie zaprogramowanie funkcji parsującej listę i jest.


--------------------
Go to the top of the page
+Quote Post
LapKom
post 22.03.2010, 20:47:49
Post #96





Grupa: Zarejestrowani
Postów: 7
Pomógł: 0
Dołączył: 15.04.2007

Ostrzeżenie: (0%)
-----


A w jaki sposób mogę użyć asterixa w nazwie taga? Skrypt nie parsuje tagu [ * ], natomiast bez problemu działa na innych [tagbb] ze znakami alfanumerycznymi. Dodatkowo gdzie w ustawieniach mogę zmienić, aby tab zamykający [/*] nie był wymagany? Próbowałem obejść to i przy parsowaniu całej listy (to udało mi się szybko zrobić) wywołać:
Kod
$body[0]['text'] = preg_replace('/\[\*\](.*)/i','<li>$1</li>',$body[0]['text']);

Niestety po utworzeniu wynikowego html, po var_dump() dostaję wynik przepuszczony przez htmlspecialchars(). Nie mogłem namierzyć, gdzie się to filtrowanie odbywa. Można to w przypadku takiego taga wyłączyć? Może istnieje jakiś natywny sposób na parsowanie elementów listy w takim formacie?


Dodatkowo do basic filtra proponuję dołączyć tagi [ left], [ center] i [ right] do wyrównania tekstu. Sam sobie dopisałem i są przydatne. smile.gif
Go to the top of the page
+Quote Post
wookieb
post 22.03.2010, 23:47:15
Post #97





Grupa: Moderatorzy
Postów: 8 989
Pomógł: 1550
Dołączył: 8.08.2008
Skąd: Słupsk/Gdańsk




Cytat(kenobi13 @ 17.03.2010, 18:24:53 ) *
Czemu jak mam tag CODE to cdy dam do środka kolejny taki tak pokauje mi się okienko na kod i w nim drugie?

A jednak duża ilość opcji się przydaje smile.gif
Wystarczy, że do taga code dodasz podane ustawienia:
  1. 'notallowed_parent'=>array('code'), // uniemozliwia osadzenie code
  2. 'leave_notallowed_parent'=>true // ale samo istnienie tegoż taga pozostawia w tekście



Co do "gwiazdkowej" listy smile.gif
Mała pomoc:
  1.  
  2. public $tags=array(
  3. 'list'=>array(
  4. 'open'=>'ul',
  5. 'close'=>'ul',
  6. 'wrap_white_space'=>true,
  7. 'allowed_child'=>array('*'),
  8. 'notallowed_parent'=>array('list'),
  9. 'parse_body'=>'parseList'
  10. ),
  11. '*'=>array(
  12. 'open'=>'li',
  13. 'close'=>false
  14. )
  15. );

Odprogramuj tylko metodę parseList.
Przejrzyj zawartość tagu otwierającego i możesz przykładowo spojrzeć na filtr Image, która pokazuje co można zrobić z tagiem/mi.


--------------------
Go to the top of the page
+Quote Post
LapKom
post 23.03.2010, 01:03:17
Post #98





Grupa: Zarejestrowani
Postów: 7
Pomógł: 0
Dołączył: 15.04.2007

Ostrzeżenie: (0%)
-----


  1. <?php
  2.  
  3. /**
  4.  * Obsługa list (popularna na forach)
  5.  * @package Parser
  6.  * @subpackage Filters
  7.  * @author LapKom
  8.  * @version 0.1
  9.  */
  10. class BbCodeFilterList
  11. {
  12. public $tags=array(
  13. 'list'=>array(
  14. 'open'=>'ul',
  15. 'close'=>'ul',
  16. 'wrap_white_space'=>true,
  17. 'allowed_child'=>array('*','l'),
  18. 'notallowed_parent'=>array('list'),
  19. 'parse_body'=>'parseList',
  20. 'attributes'=>array(
  21. 'list'=>array(
  22. 'attr'=>'style',
  23. 'type'=>'string',
  24. 'values'=>array(
  25. '1',
  26. '01',
  27. 'a',
  28. 'A',
  29. 'i',
  30. 'I',
  31. ),
  32. ),
  33. ),
  34. ),
  35. '*'=>array(
  36. 'open'=>'li',
  37. 'close'=>false,
  38. 'allowed_parent'=>array('list'),
  39. ),
  40. );
  41.  
  42. /**
  43. * Parsuje LISTY
  44. * @param array $tag
  45. * @param array $openNode
  46. * @param array $body
  47. * @param array $closeNode
  48. * @param BbCodeSettings $settings
  49. */
  50. public function parseList($tag, &$openNode, &$body, &$closeNode, $settings)
  51. {
  52. if(isset($openNode['attributes']['tag_attributes']['list'])) {
  53. $listStyleType = $openNode['attributes']['tag_attributes']['list'];
  54. switch ($listStyleType) {
  55. case '1' : $type = 'decimal'; break;
  56. case '01' : $type = 'decimal-leading-zero'; break;
  57. case 'a' : $type = 'lower-alpha'; break;
  58. case 'A' : $type = 'upper-alpha'; break;
  59. case 'i' : $type = 'lower-roman'; break;
  60. case 'I' : $type = 'upper-roman'; break;
  61. }
  62. $listStyleType = $openNode['attributes']['tag_attributes']['list'] = 'list-style-type:'.$type;
  63. $openNode=BbCode::rebuildNode($tag, $openNode, $settings);
  64. $openNode['text'] = str_replace('ul','ol',$openNode['text']);
  65. $closeNode['text'] = str_replace('ul','ol',$closeNode['text']);
  66. }
  67. }
  68. }
  69.  
  70. ?>

Na szybko napisałem taki filtr, ale gwiazdki z nic nie mogę zmusić do współpracy. sad.gif Gdy zamiast * podam cokolwiek innego w nazwie taga, parser działa bez problemów np.:
  1. 'l'=>array(
  2. 'open'=>'li',
  3. 'close'=>false,
  4. 'allowed_parent'=>array('list'),
  5. )

W przypadku gwiazdki tag nie jest w ogóle parsowany i dostaje go surowej postaci. Czy ja coś źle ustawiam, że dla 'l' dziala, a dla '*' nie, czy to może jakiś bug parsera? Jeszcze muszę dopisać samo przetwarzanie takich tagów, bo według tego co napisałeś generowany html jest w postaci '<li/> Jakiś tekst', a parser traktuje samodomknięty tag i tekst jako 2 osobne pola w tablicy elementów. Dla kodu:
  1. foreach($body as &$el) {
  2. var_dump($el);
  3. }

Dostaję wynik w postaci:
  1. 'type' => int 0
  2. 'text' => string '
  3.  
  4. ' (length=4)
  5. 'nobr' => int 1
  6.  
  7. 'type' => int 3
  8. 'original_text' => string '[l]' (length=3)
  9. 'tagname' => string 'l' (length=1)
  10. 'tagText' => string '[l]' (length=3)
  11. 'text' => string '<li/>' (length=5)
  12.  
  13. 'type' => int 0
  14. 'text' => string ' Element listy
  15.  
  16. ' (length=18)
  17. 'nobr' => int 1
  18.  
  19. 'type' => int 3
  20. 'original_text' => string '[l]' (length=3)
  21. 'tagname' => string 'l' (length=1)
  22. 'tagText' => string '[l]' (length=3)
  23. 'text' => string '<li/>' (length=5)
  24.  
  25. 'type' => int 0
  26. 'text' => string ' Element listy 2
  27.  
  28. ' (length=19)
  29. 'nobr' => int 1

Jakaś wskazówka na skutecznego fixa? smile.gif
Go to the top of the page
+Quote Post
wookieb
post 23.03.2010, 08:37:49
Post #99





Grupa: Moderatorzy
Postów: 8 989
Pomógł: 1550
Dołączył: 8.08.2008
Skąd: Słupsk/Gdańsk




Ściągnij parser i skopiuj plik BbCode.class.php . Wczoraj to zrobiłem, poniewaz faktycznie parser blokował tego typu tagi.


--------------------
Go to the top of the page
+Quote Post
GyniO
post 16.05.2010, 15:18:11
Post #100





Grupa: Zarejestrowani
Postów: 53
Pomógł: 3
Dołączył: 8.02.2010

Ostrzeżenie: (0%)
-----


Mam problem z funkcją do skracania.

Przy skracaniu [ul][li][/li][ul] powinno brać cały [li][/li], domknąć [ul] a dopiero wtedy dopisać "...".

BBcode:
Cytat
[ul]
[li]Internet Explorer,[/li]
[li]Firefox,[/li]
[li]Google Chrome 4.0,[/li]
[li]Safari 3.0.[/li]
[/ul]


W chwili obecnej OPT się wysypuje:
  1. <p>
  2. tresc
  3. <ul>
  4. <li>Internet Explorer,</li>
  5. <li>Firefox 3.0,</li>...</li>
  6. </ul>
  7. </p>


Ten post edytował GyniO 16.05.2010, 16:00:17
Go to the top of the page
+Quote Post

12 Stron V  « < 3 4 5 6 7 > » 
Reply to this topicStart new topic
3 Użytkowników czyta ten temat (3 Gości i 0 Anonimowych użytkowników)
0 Zarejestrowanych:

 



RSS Wersja Lo-Fi Aktualny czas: 25.04.2024 - 11:21