Тема: Скрипт для удаления тем без сообщений на vBulletin
Небольшой скрипт сделан в связи с тем, чтов админке vBulletin нету такого пункта, как "удаления тем без сообщений", а есть "удаление сообщений без тем", Сделан в связи с неудачным соединением двух форумов скриптом "vbimpex-master". Создались пустые темы, в которых есть инфа о последнем сообщении.
А первое сообщение находится в другой теме, как и все посты пустой темы.
Найти взаимосвязь "ушедших в другую тему" постов и родной темы я не смог, сделал удалятор таких пустых тем.
Если первый пост в другой теме - удаляю тему.
<html>
<head>
<title>УДАЛЯТОР тем без сообщений</title>
</head>
<body>
<?php
$file_ini = file("boris2.ini");
$host="localhost";
$user=trim($file_ini[0]);
$pwd=trim($file_ini[1]);
$database_name=trim($file_ini[2]);
$db=mysql_connect($host,$user,$pwd);
echo "<br> {$database_name} - {$user} - {$pwd} <br>";
mysql_select_db($database_name,$db);
mysql_query("SET character_set_client='utf8'");
mysql_query("SET character_set_connection='cp1251'");
mysql_query("SET character_set_results='cp1251'");
$allthread = mysql_query("SELECT * FROM thread") or die("Invalid query: " . mysql_error());
while ($row = mysql_fetch_assoc($allthread)) { // все темы
$firstpost = $row['firstpostid'];
$threadid = $row['threadid'];
$findpost = mysql_query("SELECT * FROM post WHERE postid = '$firstpost' "); // нашли последний пост в одной теме.
//print '<br>Для ' . $lastpost .' найдено '.mysql_num_rows($findpost).' записей ';
$post = mysql_fetch_array($findpost);
print $threadid .' --- '. $post[threadid]; // id темы и id темы в первом посте этой темы.
if ($threadid <> $post[threadid] ) {
echo " (удалить)" ;
$del = mysql_query("DELETE FROM thread WHERE threadid ='$threadid'");
}
echo '<br>' ;
}
echo "<br>Конец! ";
?>
</body>
</html>