Аватар пользователя B.X

Calamitosus est animus...

Calamitosus est animus futuri anxius. — Несчастна душа, исполненная забот о будущем.

Top.Mail.Ru Каталог webplus.info Яндекс.Метрика

Пользователей онлайн: 0.

«Они считали чувство вины ошибкой, а угрызения совести — слабостью. Они всегда были практичны и никогда — сентиментальны. Но дружба их не имела границ.»

темизация сообщений об офлайне и недоступности базы данных (4.7, 5.0) | [Харзах]-[РУ]

Аватар пользователя B.X

В template.php в вашей теме (если нет, то создаём), добавляем:

<?php
function phptemplate_maintenance_page($content) {
  return 
_phptemplate_callback('maintenance_page', array('content' => $content));
}

function 
_phptemplate_variables($hook$vars) {
  switch(
$hook) {
    case 
'maintenance_page' :
      
$vars['site_name'] = variable_get('site_name''') ;
    break;
  }
  return 
$vars;
}
?>

В созданный файл maintenance_page.tpl.php добавляем (замените заголовки):

<?php echo "<?xml version=\"1.0\" encoding=\"UTF-8\"?>\n" ?> <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd"> <html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en"> <head> <title>::: Harzah.Net | Сайт на обслуживании</title> <meta http-equiv="Content-Type" content="text/html; charset=utf-8" /> <link rel="Shortcut Icon" type="image/x-icon" href="favicon.ico" /> <meta name="generator" content="Drupal" /> <base href="<?php global $base_url; print $base_url;?>" /> <style type="text/css" media="all">@import "themes/slash/maintenance.css";</style> <!--[if IE 6]> <script type="text/javascript" src="themes/slash/mata_pngfix.js"></script> <![endif]--> </head> <body> <div id="message-box"> <?php if ($site_name != ""): ?> <h2><?php print $site_name ?><br />503 - Сервис Недоступен</h2> <?php else: ?> <h2>503 - Сервис Недоступен<br />Приносим Извинения за Неудобство</h2> <?php endif; ?> <div id="message"><?php print $content ?></div> </div> <div> <img src="themes/slash/maintenance-drupalicon.png" width="359" height="460" alt="Drupal Logo" id="drupal-logo" /> </div> </body> </html>

Для того, чтобы изменить ещё и сообщение о недоступности к базе данных, нужно изменить код includes/database.mysql.inc на строке 105:

<?php
drupal_set_header
('HTTP/1.1 503 Service Unavailable');
    
drupal_set_title('Unable to connect to database server');
    print 
theme('maintenance_page''<p>If you still have to install Drupal, proceed to the <a href="https://harzah.ru/'base_path() .'install.php">installation page</a>.</p>
<p>If you have already finished installed Drupal, this either means that the username and password information in your <code>settings.php</code> file is incorrect or that we can\'t connect to the MySQL database server. This could mean your hosting provider\'s database server is down.</p>
<p>The MySQL error was: '
theme('placeholder'mysql_error()) .'.</p>
<p>Currently, the username is '
theme('placeholder'$url['user']) .' and the database server is 'theme('placeholder'$url['host']) .'.</p>
<ul>
  <li>Are you sure you have the correct username and password?</li>
  <li>Are you sure that you have typed the correct hostname?</li>
  <li>Are you sure that the database server is running?</li>
</ul>
<p>For more help, see the <a href="https://harzah.ru/http://drupal.org/node/258">Installation and upgrading handbook</a>. If you are unsure what these terms mean you should probably contact your hosting provider.</p>'
);
    exit;
?>

На этот код (убраны данные, которые могут быть использованы злоумышленниками, незачем кому-то знать где у вас находится база данных, под каким пользователем используется... измените также заголовки и пути связанные с сайтом harzah.net, пути должны быть абсолютные, иначе работает не всегда):

<?php
drupal_set_header
('HTTP/1.1 503 Сервис Недоступен');
    
drupal_set_title('::: Harzah.Net | Нет соединения с сервером базы данных');
    print 
theme('maintenance_page''<head><style type="text/css" media="all">@import "http://harzah.net/themes/slash/maintenance.css";</style><link rel="Shortcut Icon" type="image/x-icon" href="https://harzah.ru/http://harzah.net/files/favicon.ico" /></head><div id="message-box"><h2>::: Harzah.Net<br />503 - Сервис Недоступен</h2><div id="message">Нет соединения с базой данных. Подождите, пожалуйста, некоторое время. Мы скоро вернёмся. Спасибо за ваше терпение. </div></div><div><img src="https://harzah.ru/http://harzah.net/themes/slash/maintenance-drupalicon.png" width="359" height="460" alt="Drupal Logo" id="drupal-logo" />
</div>'
);
    exit;
?>

Несколько неправильно, с точки зрения стандартов, но работает и показывается одинаково во всех трёх браузерах. Для версии 4.7 всё также, только номера строк не везде совпадают и имена функций могут быть немного не те (смотрите по аналогии). Ну и последнее, добавьте в папку вашей темы прикреплённые файлы.

Аватар пользователя RISK

Супер! Обязательно попробую на днях.

Аватар пользователя B.X

с этим изменением по ширине надо что-то делать, всё никак руки не дойдут...
модуль кто бы сделал, что ли?

Аватар пользователя Гость

2 дня искал на drupal.ru, а оно вот оно где я его видел ))))

Аватар пользователя B.X

хех, всегда пожалуйста...
сам искал везде где только можно, не нашёл конкретного решения, пришлось делать самому...
а часть нашёл в Метатеме, правда она что-то не развивается...
вариант не независимый от настроек, поэтому на Друпал.Ру не стал добавлять...

Аватар пользователя Гость

в php 5 не работает =(

Fatal error: Cannot redeclare _phptemplate_variables()
Аватар пользователя B.X

проблема явно не в пхп5, так как у меня всё работало как раз на нём...