![](https://www.jokris.info/components/com_fireboard/template/default/images/english/emoticons/cool.png)
Cześć
Wikary.
![](https://www.jokris.info/components/com_fireboard/template/default/images/english/emoticons/smile.png)
No problem jest trochę skomplikowany, i widać, że twórcy tego forum,
JoomlaBoard (dawniej
SimpleBoard) nic w celu naprawienia tego poważnego błędu nie zrobili.
![](https://www.jokris.info/components/com_fireboard/template/default/images/english/emoticons/smile.png)
Pogrzebałem trochę w skryptach, i zauważyłem, że:
Kod: |
$sbConfig['imageHeight']='499';
$sbConfig['imageWidth']='499';
|
...zmienne te, u mnie ustawione na
499px szerokość, i
499px wysokość, służą tylko w jednym celu. W czasie wpisywania treści postu, i najechania myszką na przycisk dla znacznika
IMG, powoduje wyświetlenie informacji, że wymiary obrazka powinny wynosić:
"
Obraz (foto): [img size=(01-499)]http://www.google.com/images/web_logo_left.gif[/img]"
...czyli szerokość od
1px do
499px. I faktycznie, to koniec znaczenia cytowanych parametrów. Mogę wstawić obrazek do
999px, sprawdzałem. bo już większy nie wyświetla się. Skąd się te
999px bierze, napiszę dalej.
![](https://www.jokris.info/components/com_fireboard/template/default/images/english/emoticons/smile.png)
Spróbuję, ale nie w tej chwili dopisać jakieś instrukcje warunkowe, aby zablokować duże obrazki, bo jest to możliwe. Na razie mogę podać ci tylko rozwiązanie pośrednie, ale skuteczne. Oczywiście ma pewne wady.
![](https://www.jokris.info/components/com_fireboard/template/default/images/english/emoticons/wink.png)
Co możesz zrobić?.
JoomlaBoard ma
3 pliki prawie identyczne w swej treści, ale wykorzystuje chyba tylko jeden z nich. Są to
2 pliki w ścieżce "
components/com_joomlaboard/": "
bb.js.php", "
smile.class.php", oraz w ścieżce "
administrator/components/com_joomlaboard/" plik "
bb_adm.js". Ja swego czasu próbowałem zmienić napis dla wstawiania kodu z "
Code" na "
Kod" i dokonałem zmian w plikach "
bb.js.php" i "
bb_adm.js", które to prawie niczym się nie różnią, oprócz rozszerzenia. Zmieniłem "
Code" na "
Kod", ale efekt był negatywny. Dopiero niedawno, w wolnej chwili poszperałem ponownie w plikach, i odkryłem, że plik
"smile.class.php", do którego wcześniej nie zaglądałem, odpowiada za wyświetlanie
BBCode, lub dokładniej jego formatowanie. Różni się nieco od dwóch poprzednich, ale większość kodu jest taka sama. Więc zrób tak:
Znajdź w pliku
"smile.class.php" takie linie, licząc od linii
69:
Kod: |
// img
$sb_message_txt = preg_replace("/\[img size=([0-9][0-9][0-9])\](.*?)\[\/img\]/si","<img src=\"$2\" border=\"0\" width=\"$1\" />",$sb_message_txt);
$sb_message_txt = preg_replace("/\[img size=([0-9][0-9])\](.*?)\[\/img\]/si","<img src=\"$2\" border=\"0\" width=\"$1\" />",$sb_message_txt);
$sb_message_txt = preg_replace("/\[img\](.*?)\[\/img\]/si","<img src=\"$1\" border=\"0\" />",$sb_message_txt);
|
Nas interesuje tylko pierwsza linia z góry, bo ona odpowiada za wyświetlanie obrazków o szerokości składającej się z
3 (trzech) cyfr (
[0-9][0-9][0-9]). Stąd te maksymalne
999px. Następny wiersz przeznaczony jest dla obrazków o szerokości od
1px do
99px, i nas nie interesuje. Ostatnia linia odpowiada za parametry obrazków wczytywanych na serwer z opcji "
Dołącz obraz".
Zrób tak, tymczasowo:
Kod: |
// img
$sb_message_txt = preg_replace("/\[img size=([0-9][0-9][0-9])\](.*?)\[\/img\]/si","<img src=\"$2\" border=\"0\" width=\"300\" />",$sb_message_txt);
|
...czyli podstaw w linii
70 pod zmienną
$1 w parametrze szerokości width="
$1" wartość width="
300", co spowoduje, że wszystkie obrazki o wielkości od
100px do
999px zostaną wyświetlone w szerokości
300px. Nawet te z sygnatur.
Pamiętaj o tym!. Ale przynajmniej nie będziesz sam musiał zmniejszać obrazków, jak ja już parę razy musiałem to robić za innych.
![](https://www.jokris.info/components/com_fireboard/template/default/images/english/emoticons/laughing.png)
To tyle na start. Jak coś poczynisz, daj znać. Przyda się innym. Pozdro.
Jokris.