| 
<?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';
 }
 |