admmassemail.php

来自「eGroupWare is a multi-user, web-based gr」· PHP 代码 · 共 130 行

PHP
130
字号
<?php/**************************************************************************** copyright            : (C) 2001-2003 Advanced Internet Designs Inc.* email                : forum@prohost.org* $Id: admmassemail.php,v 1.3 2004/02/26 21:15:42 iliaa Exp $** This program is free software; you can redistribute it and/or modify it * under the terms of the GNU General Public License as published by the * Free Software Foundation; either version 2 of the License, or * (at your option) any later version.***************************************************************************/	require('./GLOBALS.php'); fud_egw();	fud_use('adm.inc', true);	fud_use('widgets.inc', true);	fud_use('smtp.inc');	/* find groups with members */	$groups = array();	$c = uq('select count(*), g.id, g.name from '.$DBHOST_TBL_PREFIX.'group_members gm INNER JOIN '.$DBHOST_TBL_PREFIX.'groups g ON g.id=gm.group_id WHERE gm.user_id NOT IN(0,2147483647) GROUP BY g.id, g.name');	while (list($cnt, $gid, $gname) = db_rowarr($c)) {		$groups[$gid] = array($gname, $cnt);	}	$err = 0;	if (!empty($_POST['subject']) && !empty($_POST['body'])) {		if (!$_POST['group']) {			$c = uq('SELECT email FROM '.$DBHOST_TBL_PREFIX.'users '.(isset($POST['ignore_override']) ? '' : 'WHERE (users_opt & 8)=0'));		} else if (!isset($groups[$_POST['group']])) {			echo '<font color="+1" color="red">Invalid group id</font><br />';			$err = 1;			$c = uq('SELECT id FROM '.$DBHOST_TBL_PREFIX.'users WHERE id=-1');		} else {			$c = uq('SELECT email FROM '.$DBHOST_TBL_PREFIX.'group_members gm INNER JOIN '.$DBHOST_TBL_PREFIX.'users u ON u.id=gm.user_id WHERE gm.group_id='.$_POST['group'].(isset($POST['ignore_override']) ? '' : ' AND (users_opt & 8)=0'));		}		$email_block = 50;		$total = $email_block_stat = 0;		$send_to = $ADMIN_EMAIL;		$to = array();		if (!($FUD_OPT_1 & 512)) {			if (version_compare("4.3.3RC2", PHP_VERSION, ">")) {				$_POST['body'] = str_replace("\n.", "\n..", $_POST['body']);			}			while ($r = db_rowarr($c)) {				$to[] = $r[0];				if (!(++$email_block_stat % $email_block)) {					$email_block_stat = 0;					$send_to = array_pop($to);					$bcc = implode(', ', $to) . "\r\n";					mail($send_to, $_POST['subject'], $_POST['body'], "From: ".$ADMIN_EMAIL."\r\nReply-To: ".$ADMIN_EMAIL."\r\nErrors-To: ".$ADMIN_EMAIL."\r\nX-Mailer: FUDforum v".$GLOBALS['FORUM_VERSION']."\r\nBcc: ".$bcc);					$to = array();				}				++$total;			}			if (count($to)) {				$send_to = array_pop($to);				$bcc = implode(', ', $to) . "\r\n";				mail($send_to, $_POST['subject'], $_POST['body'], "From: ".$ADMIN_EMAIL."\r\nReply-To: ".$ADMIN_EMAIL."\r\nErrors-To: ".$ADMIN_EMAIL."\r\nX-Mailer: FUDforum v".$GLOBALS['FORUM_VERSION']."\r\nBcc: ".$bcc);			}		} else {			$smtp = new fud_smtp;			$smtp->msg = str_replace("\n.", "\n..", $_POST['body']);			$smtp->subject = $_POST['subject'];			$smtp->from = $ADMIN_EMAIL;			$smtp->headers = "Reply-To: ".$ADMIN_EMAIL."\r\nErrors-To: ".$ADMIN_EMAIL."\r\n";			while ($r = db_rowarr($c)) {				$to[] = $r[0];				if (!(++$email_block_stat % $email_block)) {					$email_block_stat = 0;					$smtp->to = $to;					$smtp->send_smtp_email();					$to = array();				}				++$total;			}			if (count($to)) {				$smtp->to = $to;				$smtp->send_smtp_email();			}		}		if (!$err) {			echo '<font size="+1" color="green">'.$total.' E-mails were sent</font><br />';		}	}	require($WWW_ROOT_DISK . 'adm/admpanel.php');?><h2>Mass Mail System</h2><form method="post" name="a_frm"><?php echo _hs; ?><table class="datatable solidtable"><?php	if ($groups) {		echo '<tr class="field"><td valign=top>Send E-mails To</td><td><select name="group">';		echo '<option value="0">All Forum Members</option>';		foreach ($groups as $k => $v) {			echo '<option value="'.$k.'">'.$v[1].' member(s) of group '.htmlspecialchars($v[0]).'</option>';		}		echo '</select></td></tr>';	} else {		echo '<input type="hidden" name="group" value="0">';	}?>	<tr class="field">		<td valign=top>Subject</td>		<td><input type="text" name="subject" value=""></td>	</tr>	<tr class="field">		<td colspan=2 valign=top>			<b>Body</b><br>			<textarea name="body" cols=80 rows=25></textarea>		</td>	</tr>	<tr class="fieldaction">		<td colspan=2 align=right>			<input type="checkbox" name="ignore_override" value="1"> Ignore User Override <input type="submit" value="Send" name="btn_submit">		</td>	</tr></table></form><?php require($WWW_ROOT_DISK . 'adm/admclose.php'); ?>

⌨️ 快捷键说明

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