Уважаемые пользователи!
C 7 ноября 2020 года phpBB Group прекратила выпуск обновлений и завершила дальнейшее развитие phpBB версии 3.2.
С 1 августа 2024 года phpBB Group прекращает поддержку phpBB 3.2 на официальном сайте.
Сайт официальной русской поддержки phpBB Guru продолжит поддержку phpBB 3.2 до 31 декабря 2024 года.
С учетом этого, настоятельно рекомендуется обновить конференции до версии 3.3.

Время сообщений в базе

Проблемы с установкой или работой phpBB 2.0.x? Ищите ответы здесь!
j0cker
phpBB 1.2.0
Сообщения: 17
Стаж: 18 лет 8 месяцев

Время сообщений в базе

Сообщение j0cker »

Настал и мой черед. :)
Парни, сразу скажу, что Поиском не пользовался, поскольку не могу сообразить как сформулировать запрос.
Беда вот в чем, мой форум переехал на другой хост, проблем с переносом никаких, делал все уже не в первый раз (phpBB админю с версии 2.0.0 уже четвертый год скоро). Но проблема возникла потому. что на старом хосте его админ не уцследил за системными часами, потому мессаги форума отмечены датой, на сутки опережающей действительную. Видимо session_id и все такое прочее также сейчас назначаются неверно.
Юзеры могут войти, могут читать, но писать не даёт, дескать "Вы не можете отправить сообщение сразу после написанного".
Ждать сутки, пока выровняется время? тоже выход, но далеко не лучший.
Был бы признателен, если поможете советом или линком, возможно это уже обсуждалось.
Аватара пользователя
[R: R@m$e$ :U]
phpBB Maniac
Сообщения: 1464
Стаж: 19 лет 3 месяца
Откуда: Novosibirsk,RU

Сообщение [R: R@m$e$ :U] »

хм.. вроде такого не обсуждалось... помочь можно максимум тем, что запустить скрипт, который дату каждого сообщения уменьшит на сутки... вот только при большой базе, процесс затянется...
Руководство пользователя | FAQ | Правила | Как устанавливать MOD'ы
ВОСПОЛЬЗУЙСЯ ПОИСКОМ, ТАМ ЕСТЬ БОЛЬШИНСТВО ОТВЕТОВ
ЕСЛИ НЕ ПОМОГЛО, ИСПОЛЬЗУЙ ШАБЛОН ЗАПРОСА, ПОМОГИ В РЕШЕНИИ ЗАДАЧИ
БЕСПЛАТНО ПОМОГУ ТОЛЬКО НА ФОРУМЕ!!! (ЛС НЕ В СЧЕТ)

Оставь благодарность, подтверди работоспособность совета.

ВСЕ ПРАВА НА МОДЫ ОТДАНЫ m157y
j0cker
phpBB 1.2.0
Сообщения: 17
Стаж: 18 лет 8 месяцев

Сообщение j0cker »

было бы неплохо хоть для примера привести как должен сей скрипт выглядеть. боюсь, что сам я его не сваяю. :(\
пусть затянется (база действительно очень велика), мне важно найти способ, чтобы подстраховаться на будущее, косяк уже второй раз за все годы случается, и видимо не в последний.
Аватара пользователя
[R: R@m$e$ :U]
phpBB Maniac
Сообщения: 1464
Стаж: 19 лет 3 месяца
Откуда: Novosibirsk,RU

Сообщение [R: R@m$e$ :U] »

j0cker
вот простой пример...

Код: Выделить всё

<? 
define('IN_PHPBB', true);
$phpbb_root_path = './';
include($phpbb_root_path . 'extension.inc');
include($phpbb_root_path . 'common.'.$phpEx);
include($phpbb_root_path . 'includes/functions_selects.'.$phpEx);

//
// Start session management
//
$userdata = session_pagestart($user_ip, PAGE_INDEX);
init_userprefs($userdata);
//
// End session management
//

if ( $userdata['user_level'] != ADMIN )
{
	message_die(GENERAL_ERROR, "You are not Authorised to do this");
}

$sql = 'SELECT post_time, post_id
	FROM ' . POSTS_TABLE;
if ( !($result = $db->sql_query($sql)) )
{
	message_die(GENERAL_ERROR, 'Could not obtain posts information', '', __LINE__, __FILE__, $sql);
}

while ( $row = $db->sql_fetchrow($result) )
{
	$sql1 = 'UPDATE ' . POSTS_TABLE . '
		SET post_time = \'' . ($row['post_time'] + 86400) . '\'
		WHERE post_id = ' . $row['post_id'] . ";";
	if ( !($result1 = $db->sql_query($sql1)) )
	{
		message_die(GENERAL_ERROR, 'Could not update post information', '', __LINE__, __FILE__, $sql);
	}
}

message_die(GENERAL_MESSAGE, '<span style="color: green">OK</span>'); 
?>
работает только, если у тебя есть права админа... получает все посты из бд.... затем к дате каждого ($row['post_time']) добавляет сутки (+ 86400)....
Руководство пользователя | FAQ | Правила | Как устанавливать MOD'ы
ВОСПОЛЬЗУЙСЯ ПОИСКОМ, ТАМ ЕСТЬ БОЛЬШИНСТВО ОТВЕТОВ
ЕСЛИ НЕ ПОМОГЛО, ИСПОЛЬЗУЙ ШАБЛОН ЗАПРОСА, ПОМОГИ В РЕШЕНИИ ЗАДАЧИ
БЕСПЛАТНО ПОМОГУ ТОЛЬКО НА ФОРУМЕ!!! (ЛС НЕ В СЧЕТ)

Оставь благодарность, подтверди работоспособность совета.

ВСЕ ПРАВА НА МОДЫ ОТДАНЫ m157y
Аватара пользователя
VVVas
Former team member
Сообщения: 4463
Стаж: 19 лет 5 месяцев
Поблагодарили: 1 раз

Сообщение VVVas »

мод db_maintenance, ставится легко, имеет функцию как раз для решения этой проблемы, в описании так прям и написано.
я люблю daft punk | новый sugoi.ru
j0cker
phpBB 1.2.0
Сообщения: 17
Стаж: 18 лет 8 месяцев

Сообщение j0cker »

отлично, всем спасибо.
db_maintanance поищу, на этом сайте, как я вижу его нет?
но скрипт [R: R@m$e$ :U] решает проблему. только вот в
SET post_time = \'' . ($row['post_time'] + 86400) заменить надо + на минус, иначе он прибавляет сутки. :)
Аватара пользователя
[R: R@m$e$ :U]
phpBB Maniac
Сообщения: 1464
Стаж: 19 лет 3 месяца
Откуда: Novosibirsk,RU

Сообщение [R: R@m$e$ :U] »

j0cker
я же сразу и сказал, что добавляет сутки... =) просто там меняем плюс на минус... и если надо...добавляем умножение... =)
Руководство пользователя | FAQ | Правила | Как устанавливать MOD'ы
ВОСПОЛЬЗУЙСЯ ПОИСКОМ, ТАМ ЕСТЬ БОЛЬШИНСТВО ОТВЕТОВ
ЕСЛИ НЕ ПОМОГЛО, ИСПОЛЬЗУЙ ШАБЛОН ЗАПРОСА, ПОМОГИ В РЕШЕНИИ ЗАДАЧИ
БЕСПЛАТНО ПОМОГУ ТОЛЬКО НА ФОРУМЕ!!! (ЛС НЕ В СЧЕТ)

Оставь благодарность, подтверди работоспособность совета.

ВСЕ ПРАВА НА МОДЫ ОТДАНЫ m157y
j0cker
phpBB 1.2.0
Сообщения: 17
Стаж: 18 лет 8 месяцев

Сообщение j0cker »

[R: R@m$e$ :U], да, спасибо, я был невнимателен..
Аватара пользователя
[R: R@m$e$ :U]
phpBB Maniac
Сообщения: 1464
Стаж: 19 лет 3 месяца
Откуда: Novosibirsk,RU

Сообщение [R: R@m$e$ :U] »

j0cker
да не.. все ок... =) рад был помочь...
Руководство пользователя | FAQ | Правила | Как устанавливать MOD'ы
ВОСПОЛЬЗУЙСЯ ПОИСКОМ, ТАМ ЕСТЬ БОЛЬШИНСТВО ОТВЕТОВ
ЕСЛИ НЕ ПОМОГЛО, ИСПОЛЬЗУЙ ШАБЛОН ЗАПРОСА, ПОМОГИ В РЕШЕНИИ ЗАДАЧИ
БЕСПЛАТНО ПОМОГУ ТОЛЬКО НА ФОРУМЕ!!! (ЛС НЕ В СЧЕТ)

Оставь благодарность, подтверди работоспособность совета.

ВСЕ ПРАВА НА МОДЫ ОТДАНЫ m157y

Вернуться в «Поддержка phpBB 2.0.x»