//admincp_members.php
//发送分论坛删除指定uids的信息
$header_user_arr['uids_arr'] = $uids;
$header_url = 'http://127.0.0.1/bbs2/delete_user_all.php';
__header_post($header_user_arr,$header_url,$passwd=false);
//在admin.php文件增加一个function
//===========================function __header_post odaboy_1219
/* 传送post数据到指定地址
* $uids:array(),$url:str,$passwd
* $uids = array('1','2','3');
* __header_post($uids,'http://127.0.0.1/test/post_v2.php?odaboy=1',$passwd=false);
* admincp_members.php ;
*/
function __header_post($uids,$url=false,$passwd=false){
if($url==false )exit("kong1 ");
if(!is_array($uids))exit("kong ");
if(is_array($uids))
$data = http_build_query($uids);
/* var_dump($data);
exit; */
$context_options = array (
'http' => array (
'method' => 'POST',
'header'=> "Content-type: application/x-www-form-urlencoded\r\n",
'content' => $data,
'timeout' => 5,
),
);
$context = stream_context_create($context_options);
$fp = fopen($url, 'r', false, $context);
fpassthru($fp);
fclose($fp);
// exit;
}
//===========================function __header_post odaboy_1219 End
下面是delete_use_all.php
/**
* [Discuz!] (C)2001-2099 Comsenz Inc.
* This is NOT a freeware, use is subject to license terms
*
* $Id: delete_user_all.php 22172 2011-12-19 04:25:01Z odaboy $
*/
define('IN_ADMINCP', TRUE);
define('NOROBOT', TRUE);
define('ADMINSCRIPT', basename(__FILE__));
define('CURSCRIPT', 'admin');
define('HOOKTYPE', 'hookscript');
define('APPTYPEID', 0);
require './source/class/class_core.php';
require './source/function/function_forum.php';
$discuz = & discuz_core::instance();
$modarray = array('ajax','announcement','attachment','forumdisplay',
'group','image','index','medal','misc','modcp','notice','post','redirect',
'relatekw','relatethread','rss','topicadmin','trade','viewthread','tag'
);
$modcachelist = array(
'index' => array('announcements', 'onlinelist', 'forumlinks',
'heats', 'historyposts', 'onlinerecord', 'userstats', 'diytemplatenameforum'),
'forumdisplay' => array('smilies', 'announcements_forum', 'globalstick', 'forums',
'onlinelist', 'forumstick', 'threadtable_info', 'threadtableids', 'stamps', 'diytemplatenameforum'),
'viewthread' => array('smilies', 'smileytypes', 'forums', 'usergroups',
'stamps', 'bbcodes', 'smilies', 'custominfo', 'groupicon', 'stamps',
'threadtableids', 'threadtable_info', 'posttable_info', 'diytemplatenameforum'),
'redirect' => array('threadtableids', 'threadtable_info', 'posttable_info'),
'post' => array('bbcodes_display', 'bbcodes', 'smileycodes', 'smilies', 'smileytypes',
'domainwhitelist'),
'space' => array('fields_required', 'fields_optional', 'custominfo'),
'group' => array('grouptype', 'diytemplatenamegroup'),
);
$mod = !in_array($discuz->var['mod'], $modarray) ? 'index' : $discuz->var['mod'];
define('CURMODULE', $mod);
$cachelist = array();
if(isset($modcachelist[CURMODULE])) {
$cachelist = $modcachelist[CURMODULE];
}
if($discuz->var['mod'] == 'group') {
$_G['basescript'] = 'group';
}
$discuz->cachelist = $cachelist;
$discuz->init();
/* echo 1;
var_dump($_POST[uids_arr]);
exit; */
// print_r($_POST[uids_arr]);
foreach($_POST[uids_arr] as $key=>$value){
$_G['gp_uidarray'][$key] = intval($value);
}
$_G['gp_uidarray'] = is_array($_POST[uids_arr])? $_POST[uids_arr] : '0';
if(!empty($_G['gp_uidarray'])) {
$uids = is_array($_G['gp_uidarray']) ? '\''.implode('\', \'', $_G['gp_uidarray']).'\'' : '0';
$query = DB::query("SELECT uid, groupid, adminid FROM ".DB::table('common_member')." WHERE uid IN($uids) AND adminid<>1 AND groupid<>1");
$membernum = DB::num_rows($query);
$uids = array();
while($member = DB::fetch($query)) {
if($membernum < 2000 || !empty($_G['gp_uidarray'])) {
$extra .= '';
}
$uids[] = $member['uid'];
}
}
if(empty($uids)) {
// cpmsg('members_no_find_deluser', '', 'error');
exit('uid=NULL');
}
$numdeleted = $numdeleted ? $numdeleted : count($_G['gp_uidarray']);
$pertask = 1000;
$current = $_G['gp_current'] ? intval($_G['gp_current']) : 0;
// $deleteitem = $_G['gp_deleteitem'] ? trim($_G['gp_deleteitem']) : 'post';
$nextdeleteitem = $deleteitem;
$next = $current + $pertask;
// if($deleteitem == 'post') { //删除post
$threads = $fids = $threadsarray = array();
$query = DB::query("SELECT f.fid, t.tid FROM ".DB::table('forum_thread')." t LEFT JOIN ".DB::table('forum_forum')." f ON t.fid=f.fid WHERE t.authorid IN (".dimplode($uids).") ORDER BY f.fid LIMIT $pertask");
while($thread = DB::fetch($query)) {
$threads[$thread['fid']][] = $thread['tid'];
}
if($threads) {
require_once libfile('function/post');
require_once libfile('function/delete');
foreach($threads as $fid => $tids) {
deletethread($tids);
updateforumcount($fid);
}
if($_G['setting']['globalstick']) {
require_once libfile('function/cache');
updatecache('globalstick');
}
}
// } //删除post End
// if($deleteitem == 'blog') { //删除blog
$blogs = array();
$query = DB::query("SELECT blogid FROM ".DB::table('home_blog')." WHERE uid IN (".dimplode($uids).") LIMIT $pertask");
while($blog = DB::fetch($query)) {
$blogs[] = $blog['blogid'];
}
if($blogs) {
deleteblogs($blogs);
}
// } // 删除blog End
// if($deleteitem == 'pic') { //删除pic
$pics = array();
$query = DB::query("SELECT picid FROM ".DB::table('home_pic')." WHERE uid IN (".dimplode($uids).") LIMIT $pertask");
while($pic = DB::fetch($query)) {
$pics[] = $pic['picid'];
}
if($pics) {
deletepics($pics);
}
// } //删除pic End
// if($deleteitem == 'doing') { //删除doing
$doings = array();
$query = DB::query("SELECT doid FROM ".DB::table('home_doing')." WHERE uid IN (".dimplode($uids).") LIMIT $pertask");
while($doing = DB::fetch($query)) {
$doings[] = $doing['doid'];
}
if($doings) {
deletedoings($doings);
}
// } //删除doing End
// if($deleteitem == 'share') { //删除share
$shares = array();
$query = DB::query("SELECT sid FROM ".DB::table('home_share')." WHERE uid IN (".dimplode($uids).") LIMIT $pertask");
while($share = DB::fetch($query)) {
$shares[] = $share['sid'];
}
if($shares) {
deleteshares($shares);
}
// } //删除share End
// if($deleteitem == 'comment') { //删除comment
$comments = array();
$query = DB::query("SELECT cid FROM ".DB::table('home_comment')." WHERE uid IN (".dimplode($uids).") OR authorid IN (".dimplode($uids).") OR (id IN (".dimplode($uids).") AND idtype='uid') LIMIT $pertask");
while($comment = DB::fetch($query)) {
$comments[] = $comment['cid'];
}
if($comments) {
deletecomments($comments);
}
// } //删除comment End
?> |