Autor: Samir Gutić
Pročitano: 5598 puta

Modul za ljepši dan    Joomla modul mod_random_image služi za prikaz proizvoljne slike pri svakom refreširanju stranice. Stvara ugodniju atmosferu i zato ga koristim godinama.

Međutim, nakon update-a na Joomal 3.8.8. ne samo da mi nije bio prikazan ovaj module, nego ništa na početnoj stranici.

Nakon puno sati traženja problema utvrdio sam da je problem u modulu Random image.

Nakon update-a na Joomla 3.8.8. umjesto index stranice prikazana je prazna stranica.
Razlog je modul Random image (mod_random_image).
Potrebno je prvo ulogovati se u administartorski backend (na sreću to radi) i onemogućiti ovaj modul.

U slučaju da ni logiranje u backend ne funkcioniše, prostupiti MySQL bazi, pronaći tabelu _modules, u toj tabeli pronaći stavku sa imenom mod_random_image u koloni module.

Otvoriti ovu stavku i pronaći polje Published. Umjesto 1 upisati 0 i snimiti izmjene. Na ovaj način će modul mod_random_image biti onemogućen.
Nakon toga, pomoću nekog FTP klijenta pronaći file /modules/mod_random_image/tmpl/default.php, download-ovati ga i njegov kompletan sadržaj zamijeniti sa:

<?php
/**
 * @package     Joomla.Site
 * @subpackage  mod_random_image
 *
 * @copyright   Copyright (C) 2005 - 2018 Open Source Matters, Inc. All rights reserved.
 * @license     GNU General Public License version 2 or later; see LICENSE.txt
 */

defined('_JEXEC') or die;
?>
<div class="random-image<?php echo $moduleclass_sfx; ?>">
<?php if ($link) : ?>
<a href="/<?php echo $link; ?>">
<?php endif; ?>
    <?php echo JHtml::_('image', $image->folder . '/' . htmlspecialchars($image->name, ENT_COMPAT, 'UTF-8'), htmlspecialchars($image->name, ENT_COMPAT, 'UTF-8'), array('width' => $image->width, 'height' => $image->height)); ?>
<?php if ($link) : ?>
</a>
<?php endif; ?>
</div>

U suštini, moguće je samo liniju:

folder . '/' . $this->escape($image->name), $this->escape($image->name), array('width' => $image->width, 'height' => $image->height)); ?>

Zamijeniti sa:

folder . '/' . htmlspecialchars($image->name, ENT_COMPAT, 'UTF-8'), htmlspecialchars($image->name, ENT_COMPAT, 'UTF-8'), array('width' => $image->width, 'height' => $image->height)); ?>

Snimiti novi default.php i upload-ovati ga na server.
Nakon toga omogućiti modul Random image (mod_random_image) i sve će biti po starom.

Nauk ove priče je da UVIJEK treba kreirati backup prije update-a.