<?php
function bb_clean_thread_data()
{
//Ki?m tra Cookie, n?u ko ??ng nh?p thì tr? v? false
$cookie_username=isset(Configs::$_['user_data']['user_id'])?Configs::$_['user_data']['user_id']:'';
try {
isValidAccessAPI();
} catch (\Exception $e) {
echo responseData($e->getMessage(),'yes');return false;
}
$thread_start_date=addslashes(getPost('thread_start_date'));
$thread_end_date=addslashes(getPost('thread_end_date'));
$thread_username=addslashes(getPost('thread_username'));
$thread_group_id=addslashes(getPost('thread_group_id'));
$thread_forum_id=addslashes(getPost('thread_forum_id'));
$thread_prefix_id=addslashes(getPost('thread_prefix_id'));
$thread_min_views=addslashes(getPost('thread_min_views'));
$thread_max_views=addslashes(getPost('thread_max_views'));
$thread_total_replies=addslashes(getPost('thread_total_replies'));
if(strlen($thread_min_views)==0)
{
$thread_min_views=0;
}
if(strlen($thread_max_views)==0)
{
$thread_max_views=10000000;
}
if(strlen($thread_total_replies)==0)
{
$thread_total_replies=100000;
}
$queryStr='';
$db=new Database();
$queryStr="delete from bb_post_reactions_data where thread_id IN (select thread_id from bb_threads_data where CAST(ent_dt as date) BETWEEN '".$thread_start_date."' AND '".$thread_end_date."'";
if(isset($thread_username[2]))
{
$queryStr.=" AND author='".$thread_username."'";
}
if(isset($thread_prefix_id[2]))
{
$queryStr.=" AND prefix_id='".$thread_prefix_id."'";
}
if(isset($thread_forum_id[2]))
{
$queryStr.=" AND forum_id='".$thread_forum_id."'";
}
$queryStr.=" AND views BETWEEN '".$thread_min_views."' AND '".$thread_max_views."'";
$queryStr.=" AND total_replies<='".$thread_total_replies."')";
$db->nonquery($queryStr);
$queryStr="select file_path from bb_thread_attach_files_data where data_type='thread' AND thread_id IN (select thread_id from bb_threads_data where CAST(ent_dt as date) BETWEEN '".$thread_start_date."' AND '".$thread_end_date."'";
if(isset($thread_username[2]))
{
$queryStr.=" AND author='".$thread_username."'";
}
if(isset($thread_prefix_id[2]))
{
$queryStr.=" AND prefix_id='".$thread_prefix_id."'";
}
if(isset($thread_forum_id[2]))
{
$queryStr.=" AND forum_id='".$thread_forum_id."'";
}
$queryStr.=" AND views BETWEEN '".$thread_min_views."' AND '".$thread_max_views."'";
$queryStr.=" AND total_replies<='".$thread_total_replies."')";
$loadData=$db->query($queryStr);
$total=count($loadData);
for ($i=0; $i < $total; $i++) {
if(file_exists(ROOT_PATH.$loadData[$i]['file_path']))
{
unlink(ROOT_PATH.$loadData[$i]['file_path']);
}
}
$queryStr="delete from bb_thread_attach_files_data where data_type='thread' AND thread_id IN (select thread_id from bb_threads_data where CAST(ent_dt as date) BETWEEN '".$thread_start_date."' AND '".$thread_end_date."'";
if(isset($thread_username[2]))
{
$queryStr.=" AND author='".$thread_username."'";
}
if(isset($thread_prefix_id[2]))
{
$queryStr.=" AND prefix_id='".$thread_prefix_id."'";
}
if(isset($thread_forum_id[2]))
{
$queryStr.=" AND forum_id='".$thread_forum_id."'";
}
$queryStr.=" AND views BETWEEN '".$thread_min_views."' AND '".$thread_max_views."'";
$queryStr.=" AND total_replies<='".$thread_total_replies."')";
$db->nonquery($queryStr);
$queryStr="delete from bb_thread_tag_data where thread_id IN (select thread_id from bb_threads_data where CAST(ent_dt as date) BETWEEN '".$thread_start_date."' AND '".$thread_end_date."'";
if(isset($thread_username[2]))
{
$queryStr.=" AND author='".$thread_username."'";
}
if(isset($thread_prefix_id[2]))
{
$queryStr.=" AND prefix_id='".$thread_prefix_id."'";
}
if(isset($thread_forum_id[2]))
{
$queryStr.=" AND forum_id='".$thread_forum_id."'";
}
$queryStr.=" AND views BETWEEN '".$thread_min_views."' AND '".$thread_max_views."'";
$queryStr.=" AND total_replies<='".$thread_total_replies."')";
$db->nonquery($queryStr);
$queryStr="delete from bb_threads_data where CAST(ent_dt as date) BETWEEN '".$thread_start_date."' AND '".$thread_end_date."'";
if(isset($thread_username[2]))
{
$queryStr.=" AND author='".$thread_username."'";
}
if(isset($thread_prefix_id[2]))
{
$queryStr.=" AND prefix_id='".$thread_prefix_id."'";
}
if(isset($thread_forum_id[2]))
{
$queryStr.=" AND forum_id='".$thread_forum_id."'";
}
$queryStr.=" AND views BETWEEN '".$thread_min_views."' AND '".$thread_max_views."'";
$queryStr.=" AND total_replies<='".$thread_total_replies."'";
// Replies
$repliesAttachData=$db->query("select file_path from bb_thread_attach_files_data where data_type='post' AND post_id IN (select post_id from bb_posts_data where thread_id NOT IN (select thread_id from bb_threads_data)) ");
$total=count($repliesAttachData);
for ($i=0; $i < $total; $i++) {
if(file_exists(ROOT_PATH.$repliesAttachData[$i]['file_path']))
{
unlink(ROOT_PATH.$repliesAttachData[$i]['file_path']);
}
}
$db->query("delete from bb_thread_attach_files_data where data_type='post' AND post_id IN (select post_id from bb_posts_data where thread_id NOT IN (select thread_id from bb_threads_data)) ");
$db->nonquery("delete from bb_post_reactions_data where type='post' AND post_id IN (select post_id from bb_posts_data where thread_id NOT IN (select thread_id from bb_threads_data))");
$db->nonquery($queryStr);
BB_Forum::updateStats($thread_forum_id);
BB_Forum::clear_pin_threads($thread_forum_id);
BB_Forum::clear_ads_threads($thread_forum_id);
BB_System::updateStats();
return 'OK';
}
|