📄 members.inc.php
字号:
default : echo '<input class="button" type="submit" name="searchsubmit" value="'.$lang['members_search'].'">  <input class="button" type="submit" name="deletesubmit" value="'.$lang['members_delete'].'">'; break;
}
?>
</center>
<?
}
if(submitcheck('searchsubmit', 1) || submitcheck('deletesubmit', 1) || submitcheck('newslettersubmit') || submitcheck('sendsubmit', 1) || submitcheck('creditsubmit') || submitcheck('updatecreditsubmit', 1)) {
$memberperpage = 100;
$page = !ispage($page) ? 1 : $page;
$start_limit = ($page - 1) * $memberperpage;
$dateoffset = date('Z') - ($timeoffset * 3600);
$conditions = '';
$conditions .= $username != '' ? " AND ".($cins ? '' : 'BINARY')." username LIKE '".str_replace(array('%', '*', '_'), array('\%', '%', '\_'), $username)."'" : '';
$conditions .= $srchemail != '' ? " AND email LIKE '".str_replace('*', '%', $srchemail)."'" : '';
$conditions .= !empty($admingroupid) && !in_array('all', $admingroupid) != '' ? " AND adminid IN ('".implode('\',\'', $admingroupid)."')" : '';
$conditions .= !empty($usergroupid) && !in_array('all', $usergroupid) != '' ? " AND groupid IN ('".implode('\',\'', $usergroupid)."')" : '';
$conditions .= !empty($extusergroupid) && !in_array('all', $extusergroupid) != '' ? " AND extgroupids IN ('".implode('\',\'', $extusergroupid)."')" : '';
if(is_array($higher)) {
foreach($higher as $credit => $value) {
if($value != '') {
$conditions .= " AND $credit>'$value'";
}
}
}
if(is_array($lower)) {
foreach($lower as $credit => $value) {
if($value != '') {
$conditions .= " AND $credit<'$value'";
}
}
}
$conditions .= $postshigher != '' ? " AND posts>'$postshigher'" : '';
$conditions .= $postslower != '' ? " AND posts<'$postslower'" : '';
$conditions .= $regip != '' ? " AND regip LIKE '$regip%'" : '';
$conditions .= $lastip != '' ? " AND lastip LIKE '$lastip%'" : '';
$conditions .= $regdatebefore != '' ? " AND regdate<'".(strtotime($regdatebefore) + $dateoffset)."'" : '';
$conditions .= $regdateafter != '' ? " AND regdate>'".(strtotime($regdateafter) + $dateoffset)."'" : '';
$conditions .= $lastvisitafter != '' ? " AND lastvisit>'".(strtotime($lastvisitafter) + $dateoffset)."'" : '';
$conditions .= $lastvisitbefore != '' ? " AND lastvisit<'".(strtotime($lastvisitbefore) + $dateoffset)."'" : '';
$conditions .= $lastpostafter != '' ? " AND lastpost>'".(strtotime($lastpostafter) + $dateoffset)."'" : '';
$conditions .= $lastpostbefore != '' ? " AND lastpost<'".(strtotime($lastpostbefore) + $dateoffset)."'" : '';
$conditions .= $birthyear != '' || $birthmonth != '' || $birthday != '' ? " AND bday LIKE '".(($birthyear ? $birthyear : '%').'-'.($birthmonth ? $birthmonth : '%').'-'.($birthday ? $birthday : '%'))."'" : '';
$conditions .= submitcheck('newslettersubmit') || submitcheck('sendsubmit', 1) ? " AND newsletter='1'" : '';
if(!$conditions && !$uidarray && submitcheck('deletesubmit', 1)) {
cpmsg('members_search_invalid');
} else {
$conditions = '1'.$conditions;
}
$urladd = '';
foreach(array('admingroupid', 'usergroupid', 'extusergroupid') as $key) {
if(is_array($$key) && !in_array('all', $$key)) {
foreach($$key as $gid => $value) {
if($value != '') {
$urladd .= '&'.$key.'[]='.rawurlencode($value);
}
}
}
}
foreach(array('lower', 'higher') as $key) {
if(is_array($$key)) {
foreach($$key as $column => $value) {
$urladd .= '&'.$key.'['.$column.']='.rawurlencode($value);
}
}
}
$query = $db->query("SELECT COUNT(*) FROM {$tablepre}members WHERE $conditions");
$membernum = $db->result($query, 0);
if(submitcheck('newslettersubmit') || submitcheck('creditsubmit')) {
if(submitcheck('creditsubmit', 1)) {
$next = 'updatecreditsubmit';
$variable = 'creditsnotify';
} else {
$next = 'sendsubmit';
$variable = 'newsletter';
}
?>
<br><table width="100%" border="0" cellpadding="0" cellspacing="0" class="tableborder">
<tr class="header"><td colspan="9"><?=$lang['members_search_result']?> <?=$membernum?></td></tr>
<?
if(!$membernum) {
echo '<tr><td bgcolor="'.ALTBG2.'" colspan="2">'.$lang['members_search_nonexistence'].'</td></tr></table><br></form>';
} else {
if($next == 'updatecreditsubmit') {
$creditscols = $creditsvalue = '';
for($i = 1; $i <= 8; $i++) {
$creditscols .= '<td width="10%">'.(isset($extcredits[$i]) ? $extcredits[$i]['title'] : 'extcredits'.$i).'</td>';
$creditsvalue .= '<td class="altbg'.($i % 2 + 1).'">'.(isset($extcredits[$i]) ? '<input type="text" size="3" name="addextcredits['.$i.']" value="0"> '.$extcredits['$i']['unit'] : '<input type="text" size="3" value="N/A" disabled>').'</td>';
}
?>
<tr class="category" align="center"><td width="20%"><?=$lang['credits_title']?></td><?=$creditscols?></tr>
<tr align="center"><td class="altbg1"><?=$lang['members_credits_value']?></td><?=$creditsvalue?></tr>
</table>
<br>
<table width="100%" border="0" cellpadding="0" cellspacing="0" class="tableborder">
<tr class="header"><td colspan="2"><input class="checkbox" type="checkbox" name="sendcreditsletter" value="1" onclick="$('messagebody').disabled=!this.checked" class="checkbox"> <?=$lang['members_credits_notify']?></td></tr>
<?
}
$subject = $message = '';
$query = $db->query("SELECT value FROM {$tablepre}settings WHERE variable='$variable'");
if($settings = $db->result($query, 0)) {
$settings = unserialize($settings);
$subject = $settings['subject'];
$message = $settings['message'];
}
?>
<tbody id="messagebody">
<tr>
<td class="altbg1"><?=$lang['subject']?>:</td>
<td class="altbg2"><input type="text" name="subject" size="80" value=<?=dhtmlspecialchars($subject)?>></td>
</tr>
<tr>
<td class="altbg1" valign="top"><?=$lang['message']?>:</td><td class="altbg2">
<textarea cols="80" rows="10" name="message"><?=dhtmlspecialchars($message)?></textarea></td></tr>
<tr>
<td class="altbg1"><?=$lang['members_newsletter_send_via']?></td>
<td class="altbg2">
<input class="radio" type="radio" value="email" name="sendvia"> <?=$lang['email']?>
<input class="radio" type="radio" value="pm" checked name="sendvia"> <?=$lang['pm']?>
</td></tr>
<tr>
<td class="altbg1"><?=$lang['members_newsletter_num']?></td>
<td class="altbg2"><input type="text" name="pertask" value="100" size="10"></td>
</tr>
</tbody>
</table><br>
<center><input class="button" type="submit" name="<?=$next?>" value="<?=$lang['submit']?>"></center></form>
<?
}
}
if(submitcheck('sendsubmit', 1) || submitcheck('updatecreditsubmit', 1)) {
if(submitcheck('updatecreditsubmit', 1)) {
$submit = 'updatecreditsubmit';
$variable = 'creditsnotify';
} else {
$submit = 'sendsubmit';
$variable = 'newsletter';
}
if(!empty($current)) {
$subject = $message = '';
$query = $db->query("SELECT value FROM {$tablepre}settings WHERE variable='$variable'");
if($settings = $db->result($query, 0)) {
$settings = unserialize($settings);
$subject = $settings['subject'];
$message = $settings['message'];
}
} else {
$current = 0;
if(($submit == 'sendsubmit' || !empty($sendcreditsletter)) && (!($subject = trim($subject)) || !($message = trim(str_replace("\t", ' ', $message))))) {
cpmsg('members_newsletter_sm_invalid');
}
if($submit == 'updatecreditsubmit') {
$updatesql = '';
if(is_array($addextcredits) && !empty($addextcredits)) {
foreach($addextcredits as $key => $value) {
$value = intval($value);
if(isset($extcredits[$key]) && !empty($value)) {
$updatesql .= ", extcredits{$key}=extcredits{$key}+($value)";
}
}
}
if(!empty($updatesql)) {
$db->query("UPDATE {$tablepre}members set uid=uid $updatesql WHERE $conditions", 'UNBUFFTERED');
} else {
cpmsg('members_credits_invalid');
}
if(!$sendcreditsletter) {
cpmsg('members_credits_succeed');
}
}
$db->query("REPLACE INTO {$tablepre}settings (variable, value) VALUES ('$variable', '".
addslashes(serialize(array('subject' => $subject, 'message' => $message)))."')");
}
$pertask = intval($pertask);
$current = intval($current);
$subject = '[Discuz!] '.$subject;
$uids = $emails = $comma = '';
if($sendvia == 'pm') {
$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, groupid, email FROM {$tablepre}members WHERE $conditions LIMIT $current, $pertask");
} else {
$query = $db->query("SELECT uid, 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')");
} elseif($sendvia == 'email') {
$emails .= $comma.$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&sendvia=".rawurlencode($sendvia)."$urladd&cins=".rawurlencode($cins)."&username=".rawurlencode($username)."&srchemail=".rawurlencode($srchemail)."®datebefore=".rawurlencode($regdatebefore)."®dateafter=".rawurlencode($regdateafter)."&postshigher=".rawurlencode($postshigher)."&postslower=".rawurlencode($postslower)."®ip=".rawurlencode($regip)."&lastip=".rawurlencode($lastip)."&lastvisitafter=".rawurlencode($lastvisitafter)."&lastvisitbefore=".rawurlencode($lastvisitbefore)."&lastpostafter=".rawurlencode($lastpostafter)."&lastpostbefore=".rawurlencode($lastpostbefore)."&birthyear=".rawurlencode($birthyear)."&birthmonth=".rawurlencode($birthmonth)."&birthday=".rawurlencode($birthday)."¤t=$next&pertask=$pertask");
} 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)."®datebefore=".rawurlencode($regdatebefore)."®dateafter=".rawurlencode($regdateafter)."&postshigher=".rawurlencode($postshigher)."&postslower=".rawurlencode($postslower)."®ip=".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));
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -