Преамбула такая: сайт стабильно работал больше года на Joomla 1.5.12. Две недели назад при открытии сайта я увидел только бэкграунд и изображения из шаблона. Думал засада с контентом, залез в админку - там все на месте и как-будто работает... Позвонил на хостинг, попросил восстановить все файлы и базу данных двухдневной давности. После бэкапа все восстановилось и я спокойно выдохнул.
Сегодня та же история - сайт пуст. Думаю, схожу по проверенному пути - восстановлю из бэкапа. На этот раз бэкап не помог.
Обновил Joomla до 22 версии.
Не помогло.
Зашел в папку шаблона, там меня удивило наличие двух файлов:
index.php и
index_.php почти одинаковых, за небольшим исключением.
index.php содержал кусок кода, которого в оригинале быть не должно
include_once($_SERVER['DOCUMENT_ROOT'].'/images/smilies/img/ML.php');
if(MAINLINK=='/') echo $ml->Get_Main();
else echo $ml->Get_Sec(array('uri'=>MAINLINK));
Собственно и просмотр исходного кода главной страницы сайта дал указание на эти строки:
<b>Warning</b>: include_once(/home/.../www//images/smilies/img/ML.php) [<a href='function.include-once'>function.include-once</a>]: failed to open stream: No such file or directory in <b>/home/.../www/templates/it_panorama/index.php</b> on line <b>294</b><br />
<br />
<b>Warning</b>: include_once() [<a href='function.include'>function.include</a>]: Failed opening '/home/.../www//images/smilies/img/ML.php' for inclusion (include_path='.:/home/.../share/pear/lib') in <b>/home/.../www/templates/it_panorama/index.php</b> on line <b>294</b><br />
<br />
<b>Fatal error</b>: Call to a member function Get_Main() on a non-object in <b>/home/.../www/templates/it_panorama/index.php</b> on line <b>295</b><br />
код этот я удалил, лишний index_.php потер и все заработало.
Внимание, вопрос:
что это за хрень такая была? А то я в коде не особо секу, и как такое получилось не понял...
