Resync Topic Starter

Идеи для расширения функциональности phpBB 2.0.x
Аватара пользователя
VVVas
Former team member
Сообщения: 4463
Стаж: 20 лет 5 месяцев
Поблагодарили: 1 раз

Resync Topic Starter

Сообщение VVVas »

Требуется вот такой мод. Даже можно не мод, а просто sql-запрос. Просто мне надоело, что убив первый пост, я получаю автором темы не человека, пост которого стал первым, а старого автора (сообщение которого убил). А ручками править меня это не прикалывает.

Если грубо то надо всего лишь выбрать

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

SELECT post_id, poster_id FROM phpbb_post
и не потеряв соответствие обновить

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

UPDATE phpbb_topic SET topic_poster = poster_id WHERE post_id = topic_first_post_id;
Может кто подскажет как, а то у меня не получилось?
я люблю daft punk | новый sugoi.ru
Аватара пользователя
Vladson
Former team member
Сообщения: 816
Стаж: 21 год
Откуда: Estonia, Tallinn

Сообщение Vladson »

ОООЧЕНЬ СОВЕТУЮ ПРОТЕСТИТЬ НА ЛОКАЛЕ !!!
(писал почти от руки и не проверял)

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

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

$sql = "SELECT pt.`topic_id`, pp.`poster_id`
	FROM " . TOPICS_TABLE . " pt, " . POSTS_TABLE . " pp
	WHERE pt.`topic_first_post_id` = pp.`post_id`
		AND pt.`topic_poster` <> pp.`poster_id`;";
if ( !($result = $db->sql_query($sql)) )
{
	message_die(GENERAL_ERROR, 'Could not query information', '', __LINE__, __FILE__, $sql);
}
while ( $row = $db->sql_fetchrow($result) )
{
	$temp = $row['topic_id'];
	$update_list[$temp] = $row['poster_id'];
}
unset($temp);
foreach($update_list as $topic_id=>$poster_id)
{
	$sql = "UPDATE " . TOPICS_TABLE . "
		SET `topic_poster` = " . $poster_id . "
		WHERE `topic_id` = " . $topic_id . ";";
	if ( !($result = $db->sql_query($sql)) )
	{
		message_die(GENERAL_ERROR, 'Could not query information', '', __LINE__, __FILE__, $sql);
	}
}
message_die(GENERAL_MESSAGE, 'OK');
?>
Серый цвет - светлый (светлее чёрного), но он и тёмный (темнее белого), он же промежуточный (между чёрным и белым). Теорию относительности никто не отменял. Истина в целом - понятие виртуально-ситуативное.
Аватара пользователя
VVVas
Former team member
Сообщения: 4463
Стаж: 20 лет 5 месяцев
Поблагодарили: 1 раз

Сообщение VVVas »

Извините, локалки нет. Всё что я делаю я делаю на своем форуме. Мега могучее спасибо. Оно живет. Очень рад. Ещё раз спасибо.

PS Приписывай админку и оформляй как мод. Очень полезная вещь.
я люблю daft punk | новый sugoi.ru
Anonymous

Сообщение Anonymous »

Люди, мне тож такой нужен! Скажите плз какой файл исправить?
sigal
phpBB Plus
Сообщения: 442
Стаж: 20 лет 11 месяцев
Откуда: КПРФ ;)

Сообщение sigal »

trace
я читаю ваши посты и офигеваю. тему ваще читаете сверху или пишете что в голову взбредет сразу?
читайте пост автора блин..
Аватара пользователя
VVVas
Former team member
Сообщения: 4463
Стаж: 20 лет 5 месяцев
Поблагодарили: 1 раз

Сообщение VVVas »

Так есть такая маленькая бага. Выявиться могла наверное только у меня, потому что форумы клееные.

Выбираеться topic starter почему-то по наименьщему id поста, а не по дате поста. Вернее мне так кажеться.
Видеть можно в этой теме http://forum.vvvas.ru/viewtopic.php?t=1004

Я склеил темы. Потом решил синхрануть авторов тем. Первый раз прошло без ошибок, но автора сделало кривого. Потом запустил опять и стало ругаться на 21 строку

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

Warning: Invalid argument supplied for foreach() in /xxx/xxx/xxx/public_html/forum.vvvas.ru/resync_topic_starter.php on line 21
я люблю daft punk | новый sugoi.ru
Аватара пользователя
Vladson
Former team member
Сообщения: 816
Стаж: 21 год
Откуда: Estonia, Tallinn

Сообщение Vladson »

VVVas писал(а):Выбираеться topic starter почему-то по наименьщему id поста, а не по дате поста.
А не кажется вам ли что id в базе растёт паралельно дате ? (как не старайтся старше дедушки не станешь) :D

Для особо одарённых повторяю

Этот мод требует доработки и недопустим для запуска на рабочем форуме
(я его сам даже не запускал, просто по памяти накидал)
Серый цвет - светлый (светлее чёрного), но он и тёмный (темнее белого), он же промежуточный (между чёрным и белым). Теорию относительности никто не отменял. Истина в целом - понятие виртуально-ситуативное.
Аватара пользователя
VVVas
Former team member
Сообщения: 4463
Стаж: 20 лет 5 месяцев
Поблагодарили: 1 раз

Сообщение VVVas »

Vladson писал(а):А не кажется вам ли что id в базе растёт паралельно дате ?
У меня нет. Я же написал, я объединял два форума, а потом склеил темы.
Vladson писал(а):Этот мод требует доработки и недопустим для запуска на рабочем форуме
Вот как раз и повод для доработки. :D

Добавлено спустя 59 минут 37 секунд:

На необъединенном форуме мод замечательно работает. И всё делает, а вот на объединенном, вот такая вещь вылазит.
я люблю daft punk | новый sugoi.ru
Аватара пользователя
VVVas
Former team member
Сообщения: 4463
Стаж: 20 лет 5 месяцев
Поблагодарили: 1 раз

Сообщение VVVas »

Я так понимаю, идей пока никаких?
я люблю daft punk | новый sugoi.ru
Аватара пользователя
VVVas
Former team member
Сообщения: 4463
Стаж: 20 лет 5 месяцев
Поблагодарили: 1 раз

Сообщение VVVas »

У кого как успехи? Я всё ещё желаю мод.

Добавлено спустя 10 часов 10 минут 38 секунд:

Так, я видимо торможу. Всё работает. По крайней мере глюка больше не наблюдаю.
Если прилью ещё один форум, тогда глобально и затестю.
я люблю daft punk | новый sugoi.ru

Вернуться в «Запросы модов для phpBB 2.0.x»