d1pro Опубликовано 25 Июля 2004 Жалоба Поделиться Опубликовано 25 Июля 2004 Значит так, пишу сей хак, вроде бы все сделал. Но есть одна проблемочка - не могу отловить, в какой момент обновление данных происходит (ну типа последнего визита и т.п.) - нужно для того, чтобы записать последний ай-пишник и метод входа (инфа для админа ). В create_session кидал код, в login и еще хз куда, что-то не то все. Как было UNKNOWN так и есть .Еще не очень понятно работа с GMT (а конкретно с определением полночи для текущего посетителя). Здесь вроде как работает нормально, но мало ли чего.Так же хак проходит обкатку на моем форуме, так что можно посмотреть там. Цитата Ссылка на комментарий Поделиться на других сайтах Прочее
Batang Опубликовано 26 Июля 2004 Жалоба Поделиться Опубликовано 26 Июля 2004 Могу сказать тока одно: время (часовой пояс) какой в профиле стоит, такой и бери. А для перевода стрелок на летнее/зимнее время бери плюс на конец марта Цитата Ссылка на комментарий Поделиться на других сайтах Прочее
Остап Опубликовано 26 Июля 2004 Жалоба Поделиться Опубликовано 26 Июля 2004 d1pro Я мучался с этим хаком для 1.2 ... Он определяет полночь ДЛЯ СЕРВЕРА, а не для пользователей, а так же с АННАУН я разобрался по другому - я апдэйчу мэмбэрс ( не совсем помню где что и как ) вроде бы в Криэйт_Мэмбэр_Сэссшн в фанкшинс пхп ... Цитата Ссылка на комментарий Поделиться на других сайтах Прочее
d1pro Опубликовано 26 Июля 2004 Автор Жалоба Поделиться Опубликовано 26 Июля 2004 Остап Ну дык известно мне, а я вот сделал что от профиля пользователя зависит . А в лог пишется в "серверных" днях. Почти готово, только вот глюки поустранять (IP не пишется если есть cookie - не заходит видимо просто в create_session) и вот щас обнаружил, что если часовой пояс меньше пояса сервера, то не совсем правильно полночь определяется... Щас доделаю уже скоро... Цитата Ссылка на комментарий Поделиться на других сайтах Прочее
Остап Опубликовано 26 Июля 2004 Жалоба Поделиться Опубликовано 26 Июля 2004 d1pro Разберёшься со временем, выбрось кусок ... Я не смог это победить, а хотелось бы чтоб не по серверу в 12 а для каждого по своему ... Цитата Ссылка на комментарий Поделиться на других сайтах Прочее
d1pro Опубликовано 28 Июля 2004 Автор Жалоба Поделиться Опубликовано 28 Июля 2004 Так, со временем вроде порядок, вот кусок кода, правда накосячил наверное . //all this GMT stuff is really annoying //but we should go around this if our members live in other time zones than server //so we getting server timestamp what for end-user will be his midnight time $realtimestamp = mktime(0,0,0,date("m,d,Y")); $timestamp = $realtimestamp; //do we have time_offset or use server defaults? if ($ibforums->member['time_offset'] != "") { $servertime = $ibforums->vars['time_offset'] * 3600; $clienttime = $ibforums->member['time_offset'] * 3600; if ( $ibforums->vars['time_adjust'] ) { $servertime += ($ibforums->vars['time_adjust'] * 60); } //I really don't know why this happens, but when dst is not in use, there is time lagging within 1 hour. //comment it out if you expiriencing problems if ($ibforums->member['dst_in_use'] == "0") { $clienttime -= 3600; } if ($servertime > $clienttime) { $timestamp += ($servertime - $clienttime) - 86400; } else { $timestamp -= $clienttime - $servertime; } } //we should get members what was online today for both server and client $use_timestamp = min ($timestamp, $realtimestamp);Можно брать $timestamp - это будет (по идее) полночь для текущего пользователя).Проверять проще всего таким образомecho $timestamp." ".$std->get_date($timestamp, 'LONG');Если показывает Сегодня 0:00, значит полночь правильно определилась .А вот с гостями как-то не очень получается... Цитата Ссылка на комментарий Поделиться на других сайтах Прочее
d1pro Опубликовано 28 Июля 2004 Автор Жалоба Поделиться Опубликовано 28 Июля 2004 Не знаю, стоит ли проводить бета-тестирование . Вроде бы все... Ну может еще мелочи... Правда вот не знаю, стоит ли кидать этот хак в базу, так как несмотря на собственную реализацию всего и вся некоторые идеи есть от других аналогичных хаков... Цитата Ссылка на комментарий Поделиться на других сайтах Прочее
d1pro Опубликовано 30 Июля 2004 Автор Жалоба Поделиться Опубликовано 30 Июля 2004 Так, кусок, что написан сверху есть crap . Глючит на границах дня. Можно сделать гораздо проще и чтоб работало $realtimestamp = mktime(0,0,0,date("m,d,Y")); $timestamp = time() - (($std->get_time(time(), "H" ) * 3600) + ($std->get_time(time(), "i" ) * 60) + $std->get_time(time(), "s" ) ); Цитата Ссылка на комментарий Поделиться на других сайтах Прочее
PhreakeR Опубликовано 30 Июля 2004 Жалоба Поделиться Опубликовано 30 Июля 2004 Кидай,Кидай!Полезный хак!Ещё было бы прикольно, если писалось кто КОГДА был на форуме сегодня. Цитата Ссылка на комментарий Поделиться на других сайтах Прочее
d1pro Опубликовано 30 Июля 2004 Автор Жалоба Поделиться Опубликовано 30 Июля 2004 FriCkeR Это можно косвенно определить по положению в списке (дальше - позже), а так же там подсказка с этими данными выскакивает при наведении мыши на ник. Цитата Ссылка на комментарий Поделиться на других сайтах Прочее
Рекомендуемые сообщения
Присоединиться к обсуждению
Вы можете ответить сейчас, а зарегистрироваться позже. Если у вас уже есть аккаунт, войдите, чтобы ответить от своего имени.