Компьютерный форум OSzone.net  

Компьютерный форум OSzone.net (http://forum.oszone.net/index.php)
-   Вебмастеру (http://forum.oszone.net/forumdisplay.php?f=22)
-   -   Simple Machines (движок форума) (http://forum.oszone.net/showthread.php?t=30912)

Greyman 01-11-2004 14:03 212007

Привет, Человеки. Памажите советом, плиз... На одном из форумов поднял проблему, которую местные админы самостоятельно разрешить не могут, совет треба:
Цитата:

Цитата Мое
А можно настроить, чтоб уведомления по ЭП тоже приходили в соответствии с местным временем? А то сейчас они на 3ч спешат относительно Москвы. Хотелось бы эти 3-и часа убрать, а в идеале использовать настройки времени из профеля пользователя. Ась?

Цитата:

Цитата Админ
С рассылкой по ЭП ничем помочь не могу.

Цитата:

Цитата Мое
Что, даже на 3 часа время поправить?...:(

Цитата:

Цитата Админ
насчет часов не могу исправить, потому как это не исправляется средствами форума, надо копаться в коде.
Если есть знающие хорошо пхп, то можете попробовать. исходники форума есть на http://simplemachines.org

Может кто знает решение? Или топик подходящий, где это обсуждалось/ можо_обсудить? Я бы туда кинул ссылку. Ась?

Vlad Drakula 01-11-2004 22:27 212008

Greyman
ну... конечно на форуме должен быть хоть один админ, который может хирургически вмешиваться в код в таких случаях...

Greyman
здесь конечно есть люди которые это могут исправить, но вот будет ли уних время на это, у меня например просто нету времени, даже для того чтобы сделать все что надо...

Prisoner 02-11-2004 02:40 212009

Greyman
Минутку, что-то я сегодня не врубной :\. Вот есть событие (обновление топика, создание темы и т.д.) о котором нужно выслать уведомление некому адресату A с часовым поясом смотри_профиль. Обычно это делается сразу по событию, т.е. что-то произошло скриптом сразу рассылается уведомление всем подписчикам (я так думаю - это наиболее просто реализовать). Что тут необходимо делать со временем я не пойму.

Greyman 02-11-2004 06:33 212010

Prisoner
Ты меня спрашиваешь? Это я спрашиваю...:) Ну нет там продвинутых админов, там он вообще никак не связан с тематикой ИТ. Ну создали ребята сайт, ну взяли для форума движек, который понравился, а досконально в нем разбираться лень. Вот я и думал, может кто знаком к конкретной реализацией, ну или есть свободное время чтоб глянуть и сказать в каком файле какую строчку исправить. О том, что это д/б довольно просто - даже мне ясно. Но вот конкретная реализация - я ПХП никогда не занимался. Ну если не выгорит, то вот в декабре чуток времени свободного появиться, может сам и помотрю. Не думаю что там по аналогии нельзя будет разобраться.
Цитата:

Обычно это делается сразу по событию, т.е. что-то произошло скриптом сразу рассылается уведомление всем подписчикам
Хм-м-м... Уведомления же и так приходят. Я же вроде цитаты привел, разве из них не видно...:( Просто в уведомлениях время создания этого уведомления стоит на 3 часа больше, чем Московское. Вот я и хочу, чтоб время все же писалось Московское, т.е. где-то ввести поправку на эти два часа, а в идеале брать поправку на время из профиля конкретного юзера, для которого идет уведомление. Неужели я многого хочу...:(

archy 02-11-2004 10:28 212011

Greyman
Если речь идет о поле Date в заголовке письма, это нельзя изменить - этим занимается почтовый сервер, форум тут не причем. Время там указывается GMT[-+]#, остальное уже показывает ваша почтовая программа.

PS: Или все таки можно поменять Date если указать его в функции mail? Хотя я уверен, что это правильно :)

Greyman 02-11-2004 13:08 212012

archy
Цитата:

Если речь идет о поле Date в заголовке письма
Именно о нем родимом...
Цитата:

это нельзя изменить
А его и не надо менять. Его надо задавать при создании письма. И при этом поправку на смещение желательно брать динамически, а не статически.
Цитата:

этим занимается почтовый сервер, форум тут не причем.
Тот "сервер, который этим занимается" входит в состав движка форума со всеми вытекающими.

* * * *Так понятнее?

archy 03-11-2004 00:23 212013

Только что проверил, можно менять это поле в скрипте, но не вижу в этом смысла, если имеется большое кол-во пользователей на форуме, это может серьезно нагрузить его!
Неужели так напрягает?

Добавлено:

Менять так (если php) :
Код:

mail($rcpt_to, $subj, $msg, $headers . "\nDate: " . $my_extra_super_mega_date);
Опять же если юзаются стандартные финкции для отправки почты


[s]Исправлено: archy, 0:30 3-11-2004[/s]

Добавлено:

Опять же нормальный почтовик показывает эту дату в соответствии с локальным TZ (часовым поясом)!

Prisoner 03-11-2004 02:52 212014

Все в общем-то как и говорит archy. Несколько точнее: есть в составе движка файл Subs-Post.php - включаемый файл с функциями по отправке почты. В оном присутствует функция bool sendmail($to, $subject, $message, $from = null, $send_html = false) которая и отправляет (на мой взгляд - сам форум я не устанавливал и ограничился поверхностным исследованием) почту получателям. Так вот. В этой функции есть следующая строка:
Код:

$headers .= 'Date: ' . gmdate('D, d M Y H:i:s') . ' +0000' . "\r\n";
Вот вместо ноликов и нужно вставлять смещение времени для каждого письма. Следовательно, нужно добавить параметр функции TOffset и передавать через него временное смещение при каждой отправке почты. Это не так трудно сделать т.к. функция используется в девяти файлах.


Время: 01:59.

Время: 01:59.
© OSzone.net 2001-