Cześć.
Pierwszy krok, to instalacja komponentu
JoomlaXplorer 1.6.1 PL, który możesz pobrać z plikowni
Joomlapl.com. Obsługa komponentu jest dość prosta, więc myślę, że poradzisz sobie z nim na pewno. Jak go użyć konkretnie, w Twoim przypadku, opiszę dalej.
Drugi krok, to edycja pliku
joomla.php, znajdującego się w folderze "
includes", w głównym katalogu
Joomla. Przewertowałem dwie wersje
Joomla 1.0.8, czyli wersje
ISO-8859-2 oraz
UTF-8, i w obu przypadkach w linii
3444 oraz
3464 ( błędy w tych liniach wskazuje twój interpreter
PHP z Twojego serwera ). Błąd wskazuje na nieprawidłowe wykonanie funkcji
mb_eregi_replace(), która jest używana w skryptach bardzo rzadko, i dlatego też dziwi mnie, skąd ta funkcja wzięła się w Twojej wersji
Joomla, skoro nie znalazłem jej w obu wersjach
Joomla 1.0.8. Może któraś z wersji beta?. Jakieś pierwsze wydanie, nie poprawione. Ale pomińmy to, jaka to wersja, i zastanowimy się co możemy zrobić dalej. W pliku
joomla.php w linii
3428 znajduje się funkcja
mosFormatDate(), a w linii
3444 kod funkcji dodanej przez
Zwiastuna, która zamienia angielskie nazwy miesięcy na ich odpowiedniki polskie. Poniżej kod tej funkcji:
Kod: |
/* modified by zwiastun */
if (_LANGUAGE == "pl") {
for ($i=0;$i<count($month1);$i++){
$date = eregi_replace($month1[$i],$month2[$i],$date);
}
}
return $date;
}
|
Jak widać, nie jest używana tutaj wymieniana wyżej funkcja
PHP mb_eregi_replace(), tylko funkcja
PHP eregi_replace(). Podobnie w dalszej części kodu pliku
joomla.php od linii
3456 znajduje się następna funkcja, mianowicie
mosCurrentDate(). A w linii
3464 część kodu funkcji, opisywanej wyżej i dodanej przez
Zwiastuna. Kod identyczny, ale dla większej jasności zacytujemy go poniżej:
Kod: |
if (_LANGUAGE == "pl") {
for ($i=0;$i<count($month1);$i++){
$date = eregi_replace($month1[$i],$month2[$i],$date);
}
}
return $date;
}
|
Też widać tylko funkcję
PHP eregi_replace(). Ani śladu funkcji, która jest powodem Twoich kłopotów, czyli
mb_eregi_replace().
Rozwiązanie. Uruchamiasz komponent
JoomlaXplorer. Pracując w trybie "
file", a nie w "
ftp" ( komunikat na samej górze - "
Bieżący tryb: file. Możesz przełączyć na tryb ftp." ) wchodzisz do wspomnianego wyżej folderu "
includes". Możesz mieć na górze podobną ścieżkę do poniższej:
Katalog: ../public_html/includes/
Znajdź plik
joomla.php. Zrób jego kopię, klikając na ikonkę "
POBIERZ".
Plik zostanie zapisany na dysku komputera. teraz masz dwie opcje. Edycja pliku przy pomocy
JoomlaXplorer, lub podmiana na inny plik. Edycja jest dość kłopotliwa, tym bardziej jeśli ktoś ma małe doświadczenie w języku programowania
PHP, więc pozostaje nam tylko podmiana pliku na inny. Pobierz
Joomla 1.08_PL - utf-8 ( taką masz wersję kodowania znaków ) z Joomla.pl. Rozpakuj na dysku komputera. Znajdź plik
joomla.php. Oczywiście w katalogu "
includes" w rozpakowanym
Joomla na dysku komputera. Zapamiętaj położenie pliku.
Wróć do
Panelu Admina Joomla, do otwartego komponentu
JoomlaXplorer ( dla pewności, że nie jesteś wylogowany z sesji, odśwież stronę. Jeśli nie jesteś wylogowany, to na pewno nie wyrzuci cię z
Admina. W innym przypadku zaloguj się ponownie do
Admina, i wejdź do komponentu do wspomnianego powyżej miejsca, czyli do komponentu
JoomlaXplorer. Następnie naciśnij ikonkę znajdującą się na górze ( taki długi rząd ikonek ) o podpowiadanej nazwie "
WYŚLIJ":
Zaznacz opcję na dole okna "
Nadpisać istniejące pliki?". W ten sposób
JoomlaXplorer nadpisze Ci oryginalny plik, który chcesz zastąpić. Naciśnij "
Przeglądaj" i odszukaj plik
joomla.php z instalki rozpakowanej na dysku komputera. Pozostaje Ci tylko naciśniecie przycisku "
Wyślij". "
Zły" plik
joomla.php zostanie zastąpiony poprawnym plikiem
joomla.php.
Sprawdź działanie strony w nowej zakładce lub nowym oknie, i jeżeli przez, dajmy na to
30 minut wszystko będzie ok,
ODINSTALUJ komponent
JoomlaXplorer. Dlaczego?. Dlatego że:
-----------------------------------------------------------------
Komponent
JoomlaXplorer jest bardzo niebezpieczny dla naszego systemu. Praktycznie można nim przejąć całkowitą kontrolę nad plikami znajdującymi się na naszym serwerze, ba, nawet nad naszymi kontami ( na niektórych serwerach ) przez osobę nieuprawnianą, czyli znaną wszystkim jako
Hacker. Wystarczy że dostanie się do naszego
Panelu Admina Joomla, a co za tym idzie, z pełnymi prawami
Administratora. Teraz ktoś powie, że przecież
Hacker może na nowo zainstalować ten komponent. Ma przecież pełne uprawnienia. Ale musimy pamiętać, że nie ma dostępu do
FTP, a my mamy. Więc wystarczy przed odinstalowaniem komponentu zrobić jego kopię na dysku komputera. Po odinstalowaniu komponentu wystarczyłby tylko wrzucić folder "
com_joomlaxplorer" do ścieżki "
administrator/components/", zostawiając tylko
2 pliki, np:
CHANGELOG.txt
index.html
...lub, jeśli nie mamy dostępu do
FTP, przed odinstalowaniem
JoomlaXplorer wejść do ścieżki poprzez ten komponent:
Katalog: Katalog: ../administrator/components/com_joomlaxplorer/
...i spakować katalog "
com_joomlaxplorer". Naciśnij ikonkę znajdującą się na górze ( taki długi rząd ikonek ) o podpowiadanej nazwie "
SPAKUJ":
Potem, jak wyżej, należy odinstalować komponent. Jak rozpakować plik
ZIP na serwerze, opiszę w innym poście. I wówczas, jeśli chodzi o metodę bez pakowania:
...nasza kochana
Joomla, przy próbie ponownej instalacji komponentu
JoomlaXplorer zrobi to co robi zawsze, czyli zgłosi błąd, informując nas, że próbujemy zainstalować już istniejące pliki, i na tym zakończy proces instalacji. Może zdarzyć się, że w przypadku tego komponentu może nie zgłosić błędu ( miałem tak... ja ) , ale i tak będzie on nie do użytku, bo instalator przy próbie nadpisania pliku już istniejącego, i tak przerwie kopiowanie na serwer. W ten sposób zostawi puste foldery. W menu "
Komponenty" będziemy mieć odnośnik do
JoomlaXplorer, ale będzie on nieaktywny.
-----------------------------------------------------------------
Ale co jeśli
Hacker, korzystając z kodu źródłowego
JoomlaXplorer, przerobi komponent?. Przecież to banalnie proste. Pozostaje nam tylko dodatkowe zabezpieczeniu katalogu
Administratora, "
.../administrator/" za pomocą pliku
.htaccess i
.htpasswd, czego efekt możecie zobaczyć, klikając na poniższy link:
http://www.jokris.info/administrator/
To na razie tyle, bo mam kupę innej roboty. Pozdrawiam.
Jokris.