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

Change Post Time 0.0.2

Поддержка старых модов или модов, созданных авторами не из нашего сообщества, а также любые вопросы, связанные с модами для phpBB 3.0.x, кроме относящихся к форуму Для авторов (phpBB 3.0.x).
Правила форума
Местная Конституция | Шаблон запроса | Документация (phpBB3) | Переход на 3.0.6 и выше | FAQ-3 (phpbb3) | Как задавать вопросы | Как устанавливать моды

Ваш вопрос может быть удален без объяснения причин, если на него есть ответы по приведённым ссылкам (а вы рискуете получить предупреждение ;) ).
dimavsr
phpBB 2.0.4
Сообщения: 409
Стаж: 14 лет 1 месяц
Благодарил (а): 33 раза
Контактная информация:

Re: Change Post Time 0.0.2

Сообщение dimavsr »

Установил как здесь Change Post Time 0.0.2.
Вроде работает, но
1) при смене времени и нажатии кнопки "Отправить" в окошке (слева от кнопки "Отправить") время не меняется, а в теме меняется;
2) если сделать сообщение первым в теме (в принципе мод для этого и нужен - при объединении тем выводить наиболее важное и информативное сообщение первым) то отсутствует возможность его выделить (Выделить первое сообщение) при правке
Аватара пользователя
Пчелкин
phpBB 3.3.0
Сообщения: 11234
Стаж: 14 лет 2 месяца
Откуда: fotovideoforum.ru
Благодарил (а): 1782 раза
Поблагодарили: 1340 раз
Контактная информация:

Re: Change Post Time 0.0.2

Сообщение Пчелкин »

Про синхронизацию темы в модераторке слышали?

Добавлено спустя 1 минуту 25 секунд:
И еще...сперва надо старое ПЕРВОЕ сообщение сделать не дублирующим...Все работает нормально...на нескольких форумах...проблема у вас....
dimavsr
phpBB 2.0.4
Сообщения: 409
Стаж: 14 лет 1 месяц
Благодарил (а): 33 раза
Контактная информация:

Re: Change Post Time 0.0.2

Сообщение dimavsr »

Пчелкин писал(а):сперва надо старое ПЕРВОЕ сообщение сделать не дублирующим...
делал
Пчелкин писал(а):Про синхронизацию темы в модераторке слышали?
нет. где это?
Аватара пользователя
Пчелкин
phpBB 3.3.0
Сообщения: 11234
Стаж: 14 лет 2 месяца
Откуда: fotovideoforum.ru
Благодарил (а): 1782 раза
Поблагодарили: 1340 раз
Контактная информация:

Re: Change Post Time 0.0.2

Сообщение Пчелкин »

В модераторке...млин...
dimavsr
phpBB 2.0.4
Сообщения: 409
Стаж: 14 лет 1 месяц
Благодарил (а): 33 раза
Контактная информация:

Re: Change Post Time 0.0.2

Сообщение dimavsr »

Пчелкин писал(а):В модераторке...млин...
нету...
Вложения
5656.JPG
dimavsr
phpBB 2.0.4
Сообщения: 409
Стаж: 14 лет 1 месяц
Благодарил (а): 33 раза
Контактная информация:

Re: Change Post Time 0.0.2

Сообщение dimavsr »

Синхронизировал. Не помогло. В итоге как и было:
1) при смене времени и нажатии кнопки "Отправить" в окошке (слева от кнопки "Отправить") время не меняется, а в теме меняется;
2) если сделать сообщение первым в теме (в принципе мод для этого и нужен - при объединении тем выводить наиболее важное и информативное сообщение первым) то отсутствует возможность его выделить (Выделить первое сообщение) при правке
Аватара пользователя
Пчелкин
phpBB 3.3.0
Сообщения: 11234
Стаж: 14 лет 2 месяца
Откуда: fotovideoforum.ru
Благодарил (а): 1782 раза
Поблагодарили: 1340 раз
Контактная информация:

Re: Change Post Time 0.0.2

Сообщение Пчелкин »

Как-то исправлял так - делал копию такой темы...в ней назначал первым полученное первое сообщение...а старую тему убивал...
Аватара пользователя
Addict
phpBB 1.4.0
Сообщения: 30
Стаж: 15 лет 1 месяц
Откуда: мск
Благодарил (а): 8 раз
Поблагодарили: 3 раза

Re: Change Post Time 0.0.2

Сообщение Addict »

Функция sync не желает делать то, что от неё требуют после внесения в базу изменения времени поста. Почему?

Кстати, попытка после

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

			$sql = 'UPDATE ' . POSTS_TABLE . ' SET post_time = ' . (int) $update_time .
				' WHERE post_id = ' . (int) $post_id;

			$db->sql_query($sql);
выполнить простой запрос на изменение информации о первом посте в таблице тем

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

			$sql = 'UPDATE ' . TOPICS_TABLE . ' SET topic_first_post_id = ' . (int) $post_id .
				' WHERE topic_id = ' . $post_info['topic_id'];

			$db->sql_query($sql);
также заканчивается ничем.

$db->_sql_error() ошибок не показывает, $db->sql_affectedrows() = 1... Но запрос не выполняется, UPDATE не происходит.

Разобраться пока не удалось.

Запрос формируется правильно, прямой запрос проходит успешно.

Если бы функция sync работала, было бы правильнее использовать такой код:

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

	// Resync topic/forum if needed
	if ($post_info['topic_last_post_id'] == $post_id || $post_info['forum_last_post_id'] == $post_id || $post_info['topic_first_post_id'] == $post_id)
	{
		sync('topic', 'topic_id', $post_info['topic_id'], false, false);
		sync('forum', 'forum_id', $post_info['forum_id'], false, false);
	}
У меня кончились идеи. А мод по-прежнему нужен. Помогите, гуру! :(
Shredder
Former team member
Сообщения: 2217
Стаж: 15 лет 3 месяца
Благодарил (а): 236 раз
Поблагодарили: 561 раз
Контактная информация:

Re: Change Post Time 0.0.2

Сообщение Shredder »

Addict
Я делал некоторые исправления в моде, когда устанавливал одному человеку. Но до 100%-й рабочести доводить не пришлось, т.к. человек тот пропал, а самому мне этот мод не нужен. В моей версии осталось исправить баги с первым и последним сообщением в темах, - если происходит изменение времени их создания, то функция sync не помогает, как и другие методы. Насколько помню, для исправления этого бага нужно вносить правки в саму функцию, чтобы она синхронизировала не по id поста, а по дате создания сообщений.
Аватара пользователя
Addict
phpBB 1.4.0
Сообщения: 30
Стаж: 15 лет 1 месяц
Откуда: мск
Благодарил (а): 8 раз
Поблагодарили: 3 раза

Re: Change Post Time 0.0.2

Сообщение Addict »

Благодарю за ответ. Дело в том, что после выполнения запроса в БД на изменение времени поста более никакой запрос не выполняется, даже самый банальный, хотя БД отвечает, что, дескать, "затронута 1 строка". Я намерен посвятить этому ещё какое-то время, ибо изобретать костыли - дело крайне неблагодарное, а рабочий мод очень нужен.
Аватара пользователя
Пчелкин
phpBB 3.3.0
Сообщения: 11234
Стаж: 14 лет 2 месяца
Откуда: fotovideoforum.ru
Благодарил (а): 1782 раза
Поблагодарили: 1340 раз
Контактная информация:

Re: Change Post Time 0.0.2

Сообщение Пчелкин »

После исправления времени создания первого поста он не хочет прилепляться на все страниц темы? Правильно понял?
Аватара пользователя
Addict
phpBB 1.4.0
Сообщения: 30
Стаж: 15 лет 1 месяц
Откуда: мск
Благодарил (а): 8 раз
Поблагодарили: 3 раза

Re: Change Post Time 0.0.2

Сообщение Addict »

Правильно. В том смысле, что пост становится первым по времени, но тема об этом не знает, ибо у темы есть свои поля, в которых хранятся данные о первом и последнем посте. Без внесения изменений в данные темы пост первым не является. Прилепить возможно только тот пост, о котором эти данные есть.

Кстати, попробовал закомментить запрос на изменение времени, но данный запрос:

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

$sql = 'UPDATE ' . TOPICS_TABLE . ' SET topic_first_post_id = ' . (int) $post_id .
				' WHERE topic_id = ' . $post_info['topic_id'];

			$db->sql_query($sql);
всё равно не срабатывает, хотя формируется он правильно, и в phpmyadmin обрабатывается успешно (уже писал об этом).
Аватара пользователя
Татьяна5
Поддержка
Поддержка
Сообщения: 12372
Стаж: 12 лет 7 месяцев
Благодарил (а): 223 раза
Поблагодарили: 3517 раз
Контактная информация:

Re: Change Post Time 0.0.2

Сообщение Татьяна5 »

Проверьте значения $post_id и $post_info['topic_id'] перед выполнением запроса (что-то мне подсказывает, что $post_info['topic_id'] может быть пустым)
Аватара пользователя
Addict
phpBB 1.4.0
Сообщения: 30
Стаж: 15 лет 1 месяц
Откуда: мск
Благодарил (а): 8 раз
Поблагодарили: 3 раза

Re: Change Post Time 0.0.2

Сообщение Addict »

Может быть, я делаю слишком тупо и неправильно, но для проверки вывел echo $sql, который, конечно, коробит стили, но наверху страницы пишет: UPDATE ***_topics SET topic_first_post_id = 100060 WHERE topic_id = 257, и (ещё раз :) ) этот запрос успешно выполняется, но не форумом. :(
Закрыто

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