[Хак] Время сервера и время сайта в админке при настройке часового пояса.

+28
2.9K
В догонку к ленте активности после смены с промежутка времени на точное время события, чтоб там правильно отображалось время — нужно чтоб время было правильно настроено на сайте в админке в разделе Настройки — Настройки сайта — вкладка время. но как понять какое время сейчас на сервере, на котором находится сайт, и какое время на самом сайте с учётом часовых поясов и смещения в часах. так как вверху в админке где отображается время и дата, дата отображается с сервера с учётом временной зоны (через функцию php), которую вы выставили в настройках сайта во вкладке время. а вот время в админке (вверху в шапке) отображается не сервера, а Java-скриптом показывается текущее время вашего компьютера. а нам надо узнать время сервера и время самого сайта с учтом настройки. меня мучил вопрос — КАК???

решение этой проблемы сделал такое
открываем /admin/applets/config.php
находим код
  1.  
  2. <tr>
  3. <td>
  4. <strong>Смещение в часах:</strong>
  5. </td>
  6. <td width="350">
  7. <select name="timediff" id="timediff" style="width:60px">
  8. <?php for($h=-12; $h<=12; $h++) { ?>
  9. <option value="<?php echo $h; ?>" <?php if ($h == $_CFG['timediff']) { ?>selected="selected"<?php } ?>><?php echo ($h > 0 ? '+'.$h : $h); ?></option>
  10. <?php } ?>
  11. </select>
  12. </td>
  13. </tr>
  14. </table>
  15.  
  16.  
и перед </table> вставляем следующий код
  1.  
  2. <?php
  3. $date_today = date('d-m-Y H:i:s');
  4. $today = date('d-m-Y H:i:s', strtotime(date('Y-m-d H:i:s'))+($inConf->timediff*3600));
  5. ?>
  6. <tr>
  7. <td>
  8. <strong>Текущие дата и время сервера (с учётом часового пояса):</strong>
  9. </td>
  10. <td>
  11. <?php echo $date_today; ?>
  12. </td>
  13. </tr>
  14. <tr>
  15. <td>
  16. <strong>Текущие дата и время на сайте (с учётом смещения в часах):</strong>
  17. </td>
  18. <td>
  19. <?php echo $today; ?>
  20. </td>
  21. </tr>
  22.  
сохраняем и заходим в админку в настройки сайта — вкладку время и видим там ещё 2 строчки
+4
universe universe 12 лет назад #
круто работает. Вот тока пораньше бы я из-за этой даты не мог настроить американский хост пришлось переезжать...
+1
Sergey Platonov Sergey Platonov 12 лет назад #
аппетит приходит во время еды. так и тут, проблема появилась, нужно как то решить, вот и приходится по мере их возникновения, точнее по мере их обострения. у меня проблема появилась после переезда с одного сервера в москве на другой в новосибирск
0
Роман Роман 12 лет назад #
Нормуль +
Главное чтоб в новой версии исправили временное недоразумение :)
0
KS KS 12 лет назад #
Очень полезный хак ! + !
Особенно если иностранных хост и фиг его знает какой там пояс )
0
Дайвер74 Дайвер74 11 лет назад #
+1

Еще от автора

Модуль для бесплатной версии компонента "Попутчики" автора Олег
и так представляю вашему вниманию модуль для бесплатной версии компонента "Попутчики" написанной Олегом.
список всех Event-ов системы
решил отдохнуть минут пять от подготовки к госам - полез сюда на сайт, прочитал такую строку в комментах в одном из последних блогов пришла идея разыс
[Хак] Выйти/войти и остаться на той же странице
где то видел на форуме тему про редирект при логине \ разлогине - как остаться на той же самой странице, если у вас стоит форма входа на всех страница
Используя этот сайт, вы соглашаетесь с тем, что мы используем файлы cookie.