| 
<?php
 function bb_delete_thread()
 {
 
 $username=isset(Configs::$_['user_data']['user_id'])?Configs::$_['user_data']['user_id']:'';
 
 //    useClass('EmailSystem');
 
 // $maxID=Configs::$_['bb_thread_id_length'];
 // $minID=(int)$maxID-6;
 
 // Check default post status of user group
 $status='1';
 
 $thread_id=addslashes(getPost('thread_id'));
 $forum_id=addslashes(getPost('forum_id'));
 $author_id=addslashes(getPost('author_id'));
 
 $queryStr='';
 $queryStr.="delete from bb_threads_data where thread_id='".$thread_id."'";
 
 $db=new Database();
 
 $threadData=$db->query("select * from bb_threads_data where thread_id='".$thread_id."'");
 
 if(count($threadData)==0)
 {
 return 'Thread not valid!';
 }
 
 if($threadData[0]['user_id']!=Configs::$_['user_data']['user_id'] )
 {
 // Disallow delete thread
 if(bb_forum_has_permission($forum_id,'BB20010')==true)
 {
 return '[BB20010] - You can not delete this thread!';
 }
 
 // Can delete thread
 if(bb_forum_has_permission($forum_id,'BB10010')==false)
 {
 return '[BB10010] - You can not delete this thread!';
 }
 
 }
 
 $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='".$thread_id."')");
 
 $db->nonquery("delete from bb_post_reactions_data where type='thread' AND post_id='".$thread_id."'");
 
 $attachData=$db->query("select file_path from bb_thread_attach_files_data where data_type='thread' AND post_id='".$thread_id."' ");
 
 $total=count($attachData);
 
 for ($i=0; $i < $total; $i++) {
 if(file_exists(ROOT_PATH.$attachData[$i]['file_path']))
 {
 unlink(ROOT_PATH.$attachData[$i]['file_path']);
 }
 }
 
 $db->nonquery("delete from bb_thread_tag_data where thread_id='".$thread_id."' ");
 
 $db->nonquery("delete from bb_thread_attach_files_data where data_type='thread' AND post_id='".$thread_id."' ");
 
 $pollData=$db->query("select * from bb_poll_data where thread_id='".$thread_id."' ");
 
 $total=count($pollData);
 
 if($total > 0)
 {
 $db->nonquery("delete from bb_poll_data where thread_id='".$thread_id."' ");
 $db->nonquery("delete from bb_poll_answer_data where poll_id='".$pollData[0]['poll_id']."' ");
 $db->nonquery("delete from bb_poll_member_answer_data where poll_id='".$pollData[0]['poll_id']."' ");
 }
 
 //    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='".$thread_id."') ");
 
 $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='".$thread_id."') ");
 
 $db->nonquery($queryStr);
 
 $db->nonquery("delete from bb_posts_data where thread_id='".$thread_id."'");
 
 BB_Forum::updateStats($forum_id);
 BB_Forum::clear_pin_threads($forum_id);
 BB_Forum::clear_ads_threads($forum_id);
 
 BB_System::updateStats();
 
 $savePath=BB_CACHES_PATH.'forums.php';
 
 if(file_exists($savePath))
 {
 unlink($savePath);
 }
 
 return 'Done';
 }
 
 |