Долгое время был подвержен спам-атакам. Сейчас в базе накопилось довольно много удаленных тем, но они видны в админке. Есть ли какой-нибудь плагин, позволяющий разделаться с ними окончательно?
Вы не вошли в систему. | Войти
Долгое время был подвержен спам-атакам. Сейчас в базе накопилось довольно много удаленных тем, но они видны в админке. Есть ли какой-нибудь плагин, позволяющий разделаться с ними окончательно?
К сожалению, такого плагина пока нет.
решил проблему таким способом
в файл admin-function.php добавил в конце две функции
function del_topik($top_id)
{ global $bbdb;
$bbdb->query("DELETE FROM bb_posts WHERE topic_id=$top_id ");
$bbdb->query("DELETE FROM bb_topicmeta WHERE topic_id=$top_id AND meta_key='deleted_posts'");
$bbdb->query("DELETE FROM bb_topics WHERE topic_status=1 AND topic_id=$top_id ");
return "udaleno";}
function sel_top(){
global $bbdb, $asd;
$bbdb->query("SELECT topic_id FROM bb_topics
WHERE topic_status=1");
$asd=$bbdb->last_result;
return $asd;
в файле content.php в верхней строке добавил global $asd;
ппосле <tr class="thead"> добавил строку <th><?php _e('Номер') ?></th> ,
потом после <tr<?php alt_class('topic'); ?>> добавил строку <td><?php echo "$topic->topic_id";?></td>
перед строкой <?php bb_get_admin_footer(); ?> добавил вот это
<form action='1.php' method='post'>
<?php global $asd; //echo "<pre>"; var_dump($topic_query); echo "</pre>";
//echo "<pre>";var_dump($topics); echo "</pre>";
// echo "sdf";
if ( !is_null(sel_top())){
echo "выберите норем темы для удаления:";
echo "<select name='top_del'>";
foreach ($asd as $key=>$value)
{
echo "<option>";
echo " $value->topic_id ";
echo "</otion>";}
echo "</select>";
echo " <input type=\"submit\" name=\"delete-topic\" value=\"del\">
</form>";}?>
и создал файл под именем 1.php вот с таким содержанием
<?php require_once('../bb-config.php');
require_once('admin-functions.php');
if ($_POST["top_del"]) echo del_topik($_POST["top_del"]);
<?php bb_option('name'); ?>
<a href="<?php bb_option('uri'); ?>/bb-admin/content.php"><?php _e('Visit Siteasd'); ?></a>вот только доделал на лок машине работает нормально
файл admin-function.php добавил в конце две функции
function del_topik($top_id)
{ global $bbdb;
$bbdb->query("DELETE FROM bb_posts WHERE topic_id=$top_id ");
$bbdb->query("DELETE FROM bb_topicmeta WHERE topic_id=$top_id AND meta_key='deleted_posts'");
$bbdb->query("DELETE FROM bb_topics WHERE topic_status=1 AND topic_id=$top_id ");
return "udaleno";}function sel_top(){
global $bbdb, $asd;
$bbdb->query("SELECT topic_id FROM bb_topics
WHERE topic_status=1");
$asd=$bbdb->last_result;
return $asd;
в файле content.php в верхней строке добавил global $asd;
ппосле <tr class="thead"> добавил строку <th><?php _e('Номер') ?></th> ,
потом после <tr<?php alt_class('topic'); ?>> добавил строку <td><?php echo "$topic->topic_id";?></td>
перед строкой <?php bb_get_admin_footer(); ?> добавил вот это
<?php
if ( !is_null(sel_top())){
echo "<form action='content.php' method='post'>";
echo "выберите норем темы для удаления:";
echo "<select name='top_del'>";
foreach ($asd as $key=>$value)
{
echo "<option>";
echo " $value->topic_id ";
echo "</otion>";}
echo "</select>";
echo " <input type=\"submit\" name=\"delete-topic\" value=\"del\">
</form>";}?>
<?php if ($_POST["top_del"]) { del_topik($_POST["top_del"]);
echo'<script type="text/javascript">
document.location.href = "content.php?delet=ok";
</script>';
}?>
<?php if ($_GET["delet"]=='ok')
{echo '<p><font color="red">удалено</font></p>';
$GET['delet']='';}
?>
на локальной машине работает нормально, на основном еще не тестил, файл 1.php не нужен
на всякий случай сделайте копию бд
Вы должны войти в систему, чтобы оставлять сообщения.