Pozdravljeni,
Ob zamenjavi strežnika smo do sedaj naleteli na dve stranki, ki še vedno uporabljata joomlo 1.5. Ne bom se spuščal v to temo, da je to že "predpotopna" verzija joomle polna varnostnih pomanjkljivosti in na splošno ni več kos danšanjemu času. Gre za to, da so bile te joomle narejene že mnogo let nazaj mislim, da so bile aktualne nekje leta 2009 in takrat so bile tudi mysql verzije popolnoma drugačne in charset takrat se je tudi drugače kreiral na teh verzijah zato so sedaj ob zamenjavi strežnika nastale težave le pri teh starih verzijah joomle. Napako se da hitro odpraviti vendar pa mora uporabnik ročno poseči v kodo. Kako to lahko sami dpravite hitro opišem v korakih in sicer:
1. Preko urejevalnika recimo pri nas v Cpanlu odprete File manager oz. Urejevalnik datotek. Lahko seveda tudi kaj drugega kar vam je bolj znano ali lažje, to je opis za naše uporabnike.
2. Poiščite datoteko libraries/joomla/database/database/mysql.php ali pa libraries/joomla/database/database/mysqli.php
3. V tej datoteki poiščite vrstico kode return ($verParts[0] == 5 || ($verParts[0] == 4 && $verParts[1] == 1 && (int)$verParts[2] >= 2)); to je ponavadi vrstica 186, čeboste delali s kakšnim kodnim urejevalnikom.
4. Vrstico iz točke 3 zakomentirajte. Ponavadi se pred vrstico, ki je ne želite uporabljati oz. del kode, ki je ne želite uporabljati postavi le znak # za vsak slučaj, da ne brišete vsega ven, če gre kaj narobe. Torej postavite znak # tako, da bo vrstica videti takole: #return ($verParts[0] == 5 || ($verParts[0] == 4 && $verParts[1] == 1 && (int)$verParts[2] >= 2));
5. Takoj za to vrstico pa postavite spodnji del nove kode in potem shranite spremembe. Novi del kode, ki ga postavite pod vrstico iz točke 4. je:
return (1);
function hasUTF()
{
$verParts = explode( '.', $this->getVersion() );
// return ($verParts[0] == 5 || ($verParts[0] == 4 && $verParts[1] == 1 && (int)$verParts[2] >= 2));
return (1);
}
Preizkušeno pri naših dveh uporabnikih to deluje in reši težavo z napačnim prikazom šumnikov.
Lp, Erik