⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 members.inc.php

📁 极限网络智能办公系统 Office Automation V3.0官方100%源代码.
💻 PHP
📖 第 1 页 / 共 5 页
字号:
                                $query = $db->query("SELECT groupid FROM {$tablepre}usergroups WHERE maxpmnum>0");
                                while($group = $db->fetch_array($query)) {
                                        $groupmaxpm[$group['groupid']] = 1;
                                }
                                $query = $db->query("SELECT uid, username, groupid, email FROM {$tablepre}members WHERE $conditions LIMIT $current, $pertask");
                        } else {
                                $query = $db->query("SELECT uid, username, email FROM {$tablepre}members WHERE $conditions LIMIT $current, $pertask");
                        }

                        while($member = $db->fetch_array($query)) {
                                if($sendvia == 'pm' && isset($groupmaxpm[$member['groupid']])) {
                                        $uids .= $comma.$member['uid'];
                                        $db->query("INSERT INTO {$tablepre}pms (msgfrom, msgfromid, msgtoid, folder, new, subject, dateline, message)
                                                VALUES('$discuz_user', '$discuz_uid', '$member[uid]', 'inbox', '1', '".dhtmlspecialchars($subject)."', '$timestamp', '$message')");
					$comma = ',';
                                } elseif($sendvia == 'email') {
                                        $emails .= $comma."$member[username] <$member[email]>";
					$comma = ',';
                                }
                        }

			if($uids || $emails) {
				if($sendvia == 'pm') {
					$db->query("UPDATE {$tablepre}members SET newpm='1' WHERE uid IN ($uids)");
				} elseif($sendvia == 'email') {
					sendmail($emails, $subject, $message);
				}
				$next = $current + $pertask;
				cpmsg("$lang[members_newsletter_send]: $lang[members_newsletter_processing]", "admincp.php?action=members&{$submit}=yes&current=$next&pertask=$pertask&sendvia=".rawurlencode($sendvia).$conditionurladd);
			} else {
				cpmsg(($submit == 'sendsubmit') ? 'members_newsletter_succeed' : 'members_credits_notify_succeed');
			}

		} elseif(submitcheck('searchsubmit', 1)) {

			$multipage = multi($membernum, $memberperpage, $page, "admincp.php?action=members&searchsubmit=yes$urladd&cins=".rawurlencode($cins)."&username=".rawurlencode($username)."&srchemail=".rawurlencode($srchemail)."&regdatebefore=".rawurlencode($regdatebefore)."&regdateafter=".rawurlencode($regdateafter)."&postshigher=".rawurlencode($postshigher)."&postslower=".rawurlencode($postslower)."&regip=".rawurlencode($regip)."&lastip=".rawurlencode($lastip)."&lastvisitafter=".rawurlencode($lastvisitafter)."&lastvisitbefore=".rawurlencode($lastvisitbefore)."&lastpostafter=".rawurlencode($lastpostafter)."&lastpostbefore=".rawurlencode($lastpostbefore)."&birthyear=".rawurlencode($birthyear)."&birthmonth=".rawurlencode($birthmonth)."&day=".rawurlencode($birthday));

			$usergroups = array();
			$query = $db->query("SELECT groupid, type, grouptitle FROM {$tablepre}usergroups");
			while($group = $db->fetch_array($query)) {
				switch($group['type']) {
					case 'system': $group['grouptitle'] = '<b>'.$group['grouptitle'].'</b>'; break;
					case 'special': $group['grouptitle'] = '<i>'.$group['grouptitle'].'</i>'; break;
				}
				$usergroups[$group['groupid']] = $group;
			}

			$altbg1 = 'altbg'.((count($extcredits) + 3) % 2 ? '2' : '1');
			$altbg2 = $altbg1 == 'altbg1' ? 'altbg2' : 'altbg1';

			$query = $db->query("SELECT uid, username, adminid, groupid, credits, extcredits1, extcredits2,
				extcredits3, extcredits4, extcredits5, extcredits6, extcredits7, extcredits8, posts FROM {$tablepre}members WHERE $conditions LIMIT $start_limit, $memberperpage");

			while($member = $db->fetch_array($query)) {
				$memberextcredits = array();
				foreach($extcredits as $id => $credit) {
					$memberextcredits[] = $extcredits[$id]['title'].': '.$member['extcredits'.$id];
				}
				$members .= "<tr align=\"center\" class=\"smalltxt\"><td class=\"altbg1\"><input type=\"checkbox\" name=\"uidarray[]\" value=\"$member[uid]\"".($member['adminid'] == 1 ? 'disabled' : '')." class=\"checkbox\"></td>\n".
					"<td class=\"altbg2\"><a href=\"viewpro.php?uid=$member[uid]\" target=\"_blank\">$member[username]</a></td>\n".
					"<td class=\"altbg1\" title=\"".implode("\n", $memberextcredits)."\">$member[credits]</td>\n<td class=\"$altbg1\">$member[posts]</td>\n".
					"<td class=\"$altbg2\">{$usergroups[$member[adminid]][grouptitle]}</td>\n".
					"<td class=\"$altbg1\">{$usergroups[$member[groupid]][grouptitle]}</td>\n".
					"<td class=\"$altbg2\"><a href=\"admincp.php?action=editgroups&uid=$member[uid]\">[$lang[usergroup]]</a> ".
					"<a href=\"admincp.php?action=access&uid=$member[uid]\">[$lang[access]]</a> ".
					($extcredits ? "<a href=\"admincp.php?action=editcredits&uid=$member[uid]\">[$lang[credits]]</a> " : "<span disabled>[$lang[edit]]</span> ").
					"<a href=\"admincp.php?action=editmedals&uid=$member[uid]\">[$lang[medals]]</a> ".
					"<a href=\"admincp.php?action=memberprofile&uid=$member[uid]\">[$lang[detail]]</a></td></tr>\n";
			}

			showtips('members_tips');

?>
<?=$multipage?>

<table width="100%" border="0" cellpadding="0" cellspacing="0" class="tableborder" style="table-layout: fixed">
<form method="post" action="admincp.php?action=members">
<input type="hidden" name="formhash" value="<?=FORMHASH?>">
<tr align="center" class="header">
<td width="48"><input type="checkbox" name="chkall" onclick="checkall(this.form, 'uidarray')" class="checkbox"><?=$lang['del']?></td>
<td width="100"><?=$lang['username']?></td><td width="60"><?=$lang['credits']?></td><td width="60"><?=$lang['posts']?></td><td width="80"><?=$lang['admingroup']?><td width="80"><?=$lang['usergroup']?></td><td width="250"><?=$lang['edit']?></td></tr>
<?=$members?>
</table>
<?=$multipage?>
<br><center><input class="button" type="submit" name="deletesubmit" value="<?=$lang['submit']?>"></center>
</form>
<?

		} elseif(submitcheck('deletesubmit', 1)) {

			$uids = 0;
			$extra = '';

			if(empty($uidarray)) {
				$query = $db->query("SELECT uid, groupid, adminid FROM {$tablepre}members WHERE $conditions AND adminid<>1 AND groupid<>1");
			} else {
				$uids = is_array($uidarray) ? '\''.implode('\', \'', $uidarray).'\'' : '0';
				$query = $db->query("SELECT uid, groupid, adminid FROM {$tablepre}members WHERE uid IN($uids) AND adminid<>1 AND groupid<>1");
			}

			$membernum = $db->num_rows($query);

			$uids = '0';
			while($member = $db->fetch_array($query)) {
				if($membernum < 2000 || !empty($uidarray)) {
					$extra .= '<input type="hidden" name="uidarray[]" value="'.$member['uid'].'">';
				}
				$uids .= ','.$member['uid'];
			}

			$extraincludepost .= '<br><br><input type="checkbox" name="includepost" value="1" class="checkbox">'.$lang['members_delete_post'];

			if(!$confirmed) {
				if($membernum) {
					cpmsg('members_delete_confirm', "admincp.php?action=members&deletesubmit=yes&confirmed=yes".$conditionurladd, 'form', $extra.$extraincludepost);
				} else {
					cpmsg('members_no_find_deluser');
				}
			} else {

				if(empty($includepost)) {

					if((empty($membernum) || empty($uids))) {
						cpmsg('members_no_find_deluser');
					} else {
						$query = $db->query("DELETE FROM {$tablepre}members WHERE uid IN ($uids)");
						$numdeleted = $db->affected_rows();
						$db->query("DELETE FROM {$tablepre}access WHERE uid IN ($uids)", 'UNBUFFERED');
						$db->query("DELETE FROM {$tablepre}memberfields WHERE uid IN ($uids)", 'UNBUFFERED');
						$db->query("DELETE FROM {$tablepre}buddys WHERE uid IN ($uids) OR buddyid IN ($uids)", 'UNBUFFERED');
						$db->query("DELETE FROM {$tablepre}favorites WHERE uid IN ($uids)", 'UNBUFFERED');
						$db->query("DELETE FROM {$tablepre}moderators WHERE uid IN ($uids)", 'UNBUFFERED');
						$db->query("DELETE FROM {$tablepre}pms WHERE msgfromid IN ($uids) OR msgtoid IN ($uids)", 'UNBUFFERED');
						$db->query("DELETE FROM {$tablepre}subscriptions WHERE uid IN ($uids)", 'UNBUFFERED');
						cpmsg('members_delete_succeed');
					}

				} else {

					$numdeleted = $numdeleted ? $numdeleted : count($uidarray);
					$pertask = 1000;
					$current = intval($current);

					$next = $current + $pertask;
					$threads = $fids = $threadsarray = array();

					$query = $db->query("SELECT f.fid, t.tid FROM {$tablepre}threads t LEFT JOIN {$tablepre}forums f ON t.fid=f.fid WHERE t.authorid IN ($uids) ORDER BY f.fid LIMIT $pertask");
					while($thread = $db->fetch_array($query)) {
						$threads[$thread['fid']] .= ($threads[$thread['fid']] ? ',' : '').$thread['tid'];
					}

					$nextlink = "admincp.php?action=members&confirmed=yes&deletesubmit=yes&includepost=yes&current=$next&pertask=$pertask&lastprocess=$processed".$conditionurladd;
					if($threads) {
						foreach($threads as $fid=>$tids) {
							$query = $db->query("SELECT attachment, thumb, remote FROM {$tablepre}attachments WHERE tid IN ($tids)");
							while($attach = $db->fetch_array($query)) {
								dunlink($attach['attachment'], $attach['thumb'], $attach['remote']);
							}

							foreach(array('threads', 'threadsmod', 'relatedthreads', 'posts', 'polls', 'polloptions', 'trades', 'activities', 'activityapplies', 'attachments', 'favorites', 'mythreads', 'myposts', 'subscriptions') as $value) {
								$db->query("DELETE FROM {$tablepre}$value WHERE tid IN ($tids)", 'UNBUFFERED');
							}

							require_once DISCUZ_ROOT.'./include/post.func.php';
							updateforumcount($fid);
						}
						if($globalstick && $stickmodify) {
							require_once DISCUZ_ROOT.'./include/cache.func.php';
							updatecache('globalstick');
						}

?>
<br><br><br><br><br><br>
<table width="100%" border="0" cellpadding="0" cellspacing="0" class="tableborder">
<tr class="header"><td><?=$lang['discuz_message']?></td></tr><tr><td class="altbg2" align="center" style="text-align: center;">
<br><br>
<?=$lang['members_delete_post']?>: <?php eval('echo "'.$lang['members_delete_processing'].'";');?>
<form action="<?=$nextlink?>" id="deleteform" method="post">
<?=$extra?>
<br><br><a href="###" onclick="$('deleteform').submit();"><?=$lang['message_redirect']?></a>
</form>

<script>
setTimeout("$('deleteform').submit();", 3000);
</script>
<br><br>
</td></tr></table>
<br><br><br>
<?

						cpfooter();
						dexit();

					} elseif($uids) {

						$query = $db->query("DELETE FROM {$tablepre}members WHERE uid IN ($uids)");
						$numdeleted = $db->affected_rows();
						$db->query("DELETE FROM {$tablepre}access WHERE uid IN ($uids)", 'UNBUFFERED');
						$db->query("DELETE FROM {$tablepre}memberfields WHERE uid IN ($uids)", 'UNBUFFERED');
						$db->query("DELETE FROM {$tablepre}buddys WHERE uid IN ($uids) OR buddyid IN ($uids)", 'UNBUFFERED');
						$db->query("DELETE FROM {$tablepre}favorites WHERE uid IN ($uids)", 'UNBUFFERED');
						$db->query("DELETE FROM {$tablepre}moderators WHERE uid IN ($uids)", 'UNBUFFERED');
						$db->query("DELETE FROM {$tablepre}pms WHERE msgfromid IN ($uids) OR msgtoid IN ($uids)", 'UNBUFFERED');
						$db->query("DELETE FROM {$tablepre}subscriptions WHERE uid IN ($uids)", 'UNBUFFERED');

						$query = $db->query("SELECT uid, attachment, thumb, remote FROM {$tablepre}attachments WHERE uid IN ($uids) LIMIT $pertask");
						while($attach = $db->fetch_array($query)) {
							dunlink($attach['attachment'], $attach['thumb'], $attach['remote']);
						}

						$db->query("DELETE FROM {$tablepre}attachments WHERE uid IN ($uids)");

						$db->query("DELETE FROM {$tablepre}posts WHERE authorid IN ($uids)");

						cpmsg('members_delete_succeed');

					} else {

						cpmsg('members_no_find_deluser');

					}
				}
			}
		}

	} else {
		echo '</form>';
	}

} elseif($action == 'membersmerge') {

	if(!submitcheck('mergesubmit')) {
		shownav('menu_members_merge');

?>
<form method="post" action="admincp.php?action=membersmerge">
<input type="hidden" name="formhash" value="<?=FORMHASH?>">
<table width="100%" border="0" cellpadding="0" cellspacing="0" class="tableborder">
<tr class="header"><td colspan="3"><?=$lang['members_merge']?></td></tr>
<tr align="center"><td class="altbg1" width="40%"><?=$lang['members_merge_source']?> 1:</td>
<td class="altbg2" width="60%"><input type="text" name="source[]" size="20"></td></tr>
<tr align="center"><td class="altbg1" width="40%"><?=$lang['members_merge_source']?> 2:</td>
<td class="altbg2" width="60%"><input type="text" name="source[]" size="20"></td></tr>
<tr align="center"><td class="altbg1" width="40%"><?=$lang['members_merge_source']?> 3:</td>
<td class="altbg2" width="60%"><input type="text" name="source[]" size="20"></td></tr>
<tr align="center"><td class="altbg1" width="40%"><?=$lang['members_merge_target']?>:</td>
<td class="altbg2" width="60%"><input type="text" name="target" size="20"></td></tr>
</table><br><center><input class="button" type="submit" name="mergesubmit" value="<?=$lang['submit']?>"></center></form>
<?

	} else {

		$suids = $susernames = $comma = $tuid = $tusername = $sourcemember = $targetmember = '';

		if(is_array($source)) {
			$query = $db->query("SELECT uid, username, adminid, groupid FROM {$tablepre}members WHERE username IN ('".implode('\',\'', $source)."') AND username<>''");
			while($member = $db->fetch_array($query)) {
				if($member['adminid'] == 1 || $member['groupid'] == 1) {
					cpmsg('members_dont_contain_admin_merge');
				}
				$suids .= $comma.$member['uid'];
				$susernames .= $comma.'\''.addslashes($member['username']).'\'';
				$sourcemember .= $comma.$member['username'];

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -