Проверка стиля перед подключением, иначе подключать дефолтный
Зачем это нужно?
Как вы знаете в header.php стиль подключается напрямую без проверки на существование. Чем это плохо? Со временем админ может удалить те стили, которые сохранены в настройках пользователя, в результате это вызовет ошибку.
Решение.
Проверять стиль на существование, иначе подключать дефолтный.
Было
// Include stylesheets
require FORUM_ROOT.'style/'.$forum_user['style'].'/'.$forum_user['style'].'.php';
Стало
// Include stylesheets
if (file_exists(FORUM_ROOT.'style/'.$forum_user['style'].'/'.$forum_user['style'].'.php'))
require FORUM_ROOT.'style/'.$forum_user['style'].'/'.$forum_user['style'].'.php';
else
$forum_loader->add_css($base_url.'/style/print.css', array('type' => 'url', 'group' => FORUM_CSS_GROUP_SYSTEM, 'media' => 'screen'));
+ проверка стиля перед подключением в функции
// Display a message when board is in maintenance mode
function maintenance_message()
Заменяемая область:
// require FORUM_ROOT.'style/'.$forum_user['style'].'/'.$forum_user['style'].'.php';
if (file_exists(FORUM_ROOT.'style/'.$forum_user['style'].'/'.$forum_user['style'].'.php'))
require FORUM_ROOT.'style/'.$forum_user['style'].'/'.$forum_user['style'].'.php';
else
$forum_loader->add_css($base_url.'/style/print.min.css', array('type' => 'url', 'group' => FORUM_CSS_GROUP_SYSTEM, 'media' => 'screen'));
echo $forum_loader->render_css();
а так же в функции:
// Display $message and redirect user to $destination_url
function redirect($destination_url, $message)
{
Заменяемая область:
// Include stylesheets
// require FORUM_ROOT.'style/'.$forum_user['style'].'/'.$forum_user['style'].'.php';
if (file_exists(FORUM_ROOT.'style/'.$forum_user['style'].'/'.$forum_user['style'].'.php'))
require FORUM_ROOT.'style/'.$forum_user['style'].'/'.$forum_user['style'].'.php';
else
$forum_loader->add_css($base_url.'/style/print.min.css', array('type' => 'url', 'group' => FORUM_CSS_GROUP_SYSTEM, 'media' => 'screen'));