Exemplo n.º 1
0
 function delete_forum()
 {
     global $wgRequest;
     self::get_all_forums();
     $current_id = $cid = $wgRequest->getVal('fID');
     $move_to_id = $cid = $wgRequest->getVal('move_to');
     if (strlen($current_id) == 0) {
         return awcs_forum_error('admin_no_forum_to_delete');
     }
     if (strlen($move_to_id) == 0) {
         return awcs_forum_error('admin_no_forum_to_move_to');
     }
     if ($current_id == $move_to_id) {
         return awcs_forum_error('admin_deletemovethesameforum');
     }
     if (empty($this->forum_info[$move_to_id])) {
         return awcs_forum_error('admin_no_forum_to_move_to');
     }
     if (empty($this->forum_info[$current_id])) {
         return awcs_forum_error('admin_no_forum_to_delete');
     }
     $t_count = 0;
     $p_count = 0;
     foreach ($this->forum_info as $id => $info) {
         if ($id == $current_id or $id == $move_to_id) {
             $t_count = $t_count + $info['f_threads'];
             $p_count = $p_count + $info['f_replies'];
         }
     }
     $dbw = wfGetDB(DB_MASTER);
     $dbw->update('awc_f_forums', array('f_threads' => $t_count, 'f_replies' => $p_count), array('f_id' => $move_to_id), '');
     $dbw->update('awc_f_threads', array('t_forumid' => $move_to_id), array('t_forumid' => $current_id), '');
     require_once awc_dir . 'includes/mod_post.php';
     awcs_forum_mod_post::update_forum_last_thread($move_to_id);
     $dbw->delete('awc_f_forums', array('f_id' => $current_id), '');
     $info['msg'] = 'forum_was_deleted';
     $info['url'] = awc_url . 'sf/id' . $move_to_id;
     return awcf_redirect($info);
 }