Topic: Автопостер для форума
Привет. Тут начал писать автопостер для punbb. Чот не очень пишется.
Задача:
Есть большой массив готовых постов в виде: id форума|заголовок темы|сообщение
Нужно добавлять эти сообщения раз в 20 минут от фейковых пользователей.
Я знаю, тут есть Pan Posting но это немного не то. Он не позволяет полностью автоматизировать задачу.
Что я уже сделал.
Исходные данные для тестов:
$ip = "127.0.0.1";
$today = time();
$user = 'Admin';
$user_id = 2;
$forum_id = 2;
$subject = 'Это заголовок';
$message = 'Это текст';
Ок. Завели все данные. Теперь нужно получить дополнительные параметры. Вот тут жопа. Приходится делать аж три заброса к базе:
$sql = mysql_query("SELECT*FROM `topics` ORDER BY `id` DESC LIMIT 1");
while($record = mysql_fetch_array($sql))
{
$newid = $record['id'] + 1;
$first_post_id = $record['first_post_id'] + 1;
}
$sql = mysql_query("SELECT*FROM `posts` ORDER BY `id` DESC LIMIT 1");
while($record = mysql_fetch_array($sql))
{
$post_id = $record['id'] + 1;
}
$sql = mysql_query("SELECT*FROM `forums` where `id`=".$forum_id." LIMIT 1");
while($record = mysql_fetch_array($sql))
{
$num_topics = $record['num_topics'] +1;
$num_posts = $record['num_posts'] +1;
}
Дальше еще хуже. Идут два запроса на добавление данных:
$sql = mysql_query("INSERT into `topics` (`poster`, `subject`, `posted`, `first_post_id`, `last_post`, `last_post_id`, `last_poster`, `forum_id`)
values ('".$user."', '".$subject."', '".$today."', '".$first_post_id."', '".$today."', '".$first_post_id."', '".$user."', '".$forum_id."');");
$sql2 = mysql_query("INSERT into `posts` (`poster`, `poster_id`, `poster_ip`, `message`, `posted`, `topic_id`)
values ('".$user."', '".$user_id."', '".$ip."', '".$message."', '".$today."', '".$newid."');");
И один запрос на обновление:
$sql3 =mysql_query ("UPDATE `forums` SET `num_topics` = '".$num_topics."', `num_posts` = '".$num_posts."', `last_post` = '".$today."', `last_post_id` = '".$post_id."', `last_poster` = '".$user."' WHERE id='".$forum_id."';");
Мало того, что я это пока писал - чуть не родил. Шесть запросов к БД - походу перебор. Можно ли упростить?
Вопрос два:
На главной странице показывает ссылку правильно:
сайт/viewtopic.php?pid=22#p22
А вот на viewforum - страницы категории на один меньше:
сайт/viewtopic.php?pid=21#p21
Тут я уже башку совсем сломал.
Буду благодарен за любую помощь. Обязуюсь в конце поделиться скриптом с народом.