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

📄 members.inc.php

📁 论坛软件系统亦称电子公告板(BBS)系统
💻 PHP
📖 第 1 页 / 共 5 页
字号:
			default : echo '<input class="button" type="submit" name="searchsubmit" value="'.$lang['members_search'].'">&nbsp;&nbsp<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)."&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)."&birthday=".rawurlencode($birthday)."&current=$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)."&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));

⌨️ 快捷键说明

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