-
Notifications
You must be signed in to change notification settings - Fork 6
/
do_all_mail.php
257 lines (235 loc) · 9.88 KB
/
do_all_mail.php
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
209
210
211
212
213
214
215
216
217
218
219
220
221
222
223
224
225
226
227
228
229
230
231
232
233
234
235
236
237
238
239
240
241
242
243
244
245
246
247
248
249
250
251
252
253
254
255
256
257
<?php
/**
* @package do_all_mail.php
* @author John Doe <john.doe@example.com>
* @since 2009-06-30
* @version 2011-03-15
*/
/*
6/30/09 initial release
7/28/10 Added inclusion of startup.inc.php for checking of network status and setting of file name variables to support no-maps versions of scripts.
12/18/10 set signal added
3/15/11 changed stylesheet.php to stylesheet.php
*/
error_reporting(E_ALL); //
@session_start();
require_once 'incs/functions.inc.php'; //7/28/10
?>
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 3.2 Final//EN">
<HTML>
<HEAD>
<TITLE><?php print LessExtension(basename(__FILE__));?> </TITLE>
<META NAME="Description" CONTENT="Email to units" />
<META HTTP-EQUIV="Content-Type" CONTENT="text/html; charset=UTF-8" />
<META HTTP-EQUIV="Expires" CONTENT="0" />
<META HTTP-EQUIV="Cache-Control" CONTENT="NO-CACHE" />
<META HTTP-EQUIV="Pragma" CONTENT="NO-CACHE" />
<META HTTP-EQUIV="Content-Script-Type" CONTENT="text/javascript" />
<META HTTP-EQUIV="Script-date" CONTENT="6/13/09" />
<LINK REL="StyleSheet" HREF="stylesheet.php?version=<?php print time();?>" TYPE="text/css" /> <!-- 3/15/11 -->
<STYLE>
#.plain { background-color: #FFFFFF;}
</STYLE>
<?php
//dump($_POST);
if (empty($_POST)) {
$colors = array();
$colors[$GLOBALS['LEVEL_SUPER'] ] = "#FFFFFF"; // white
$colors[$GLOBALS['LEVEL_ADMINISTRATOR'] ] = "#C0C0C0"; // gray
$colors[$GLOBALS['LEVEL_USER'] ] = "#FFFF00"; // yellow
$colors[$GLOBALS['LEVEL_GUEST'] ] = "#CCFF00"; // mint
$colors[$GLOBALS['LEVEL_MEMBER'] ] = "#FFCC00"; // orange
$colors[$GLOBALS['LEVEL_UNIT'] ] = "#00CCCC"; // lt. blue
$query = "SELECT * FROM `$GLOBALS[mysql_prefix]user` WHERE `email` IS NOT NULL
ORDER BY `level` ASC,`user` ASC" ;
$result = mysql_query($query) or do_error($query, 'mysql query failed', mysql_error(), basename( __FILE__), __LINE__);
$rows = array();
while ($row = stripslashes_deep(mysql_fetch_assoc($result), MYSQL_ASSOC)) {
if (is_email($row['email'])) {
$rows[] = $row;
}
}
?>
<SCRIPT>
/**
*
* @returns {unresolved}
*/
String.prototype.trim = function () {
return this.replace(/^\s*(\S*(\s+\S+)*)\s*$/, "$1");
};
/**
*
* @returns {Array}
*/
function $() {
var elements = new Array();
for (var i = 0; i < arguments.length; i++) {
var element = arguments[i];
if (typeof element == 'string')
element = document.getElementById(element);
if (arguments.length == 1)
return element;
elements.push(element);
}
return elements;
}
/**
*
* @returns {undefined}
*/
function do_step_1() {
document.mail_form.submit();
}
/**
*
* @returns {Boolean}
*/
function do_step_2() {
if (document.mail_form.frm_text.value.trim()=="") {
alert ("<?php print gettext('Message text is required');?>");
document.mail_form.frm_text.focus();
return false;
}
var sep = "";
for (i=0;i<document.mail_form.elements.length; i++) {
if ((document.mail_form.elements[i].type =='checkbox') && (document.mail_form.elements[i].checked)) { // frm_add_str
document.mail_form.frm_add_str.value += sep + document.mail_form.elements[i].value;
sep = "|";
}
}
if (document.mail_form.frm_add_str.value.trim()=="") {
alert ("<?php print gettext('Addressees required');?>");
return false;
}
document.mail_form.submit();
}
/**
*
* @param {type} lines
* @returns {undefined}
*/
function reSizeScr(lines) {
var the_width = 600;
var the_height = ((lines * 23)+380); // values derived via trial/error (more of the latter, mostly)
window.resizeTo(the_width,the_height);
}
/**
*
* @returns {undefined}
*/
function do_clear() {
for (i=0;i<document.mail_form.elements.length; i++) {
if (document.mail_form.elements[i].type =='checkbox') {
document.mail_form.elements[i].checked = false;
}
} // end for ()
$('clr_spn').style.display = "none";
$('chk_spn').style.display = "block";
} // end function do_clear
/**
*
* @returns {undefined}
*/
function do_check() {
for (i=0;i<document.mail_form.elements.length; i++) {
if (document.mail_form.elements[i].type =='checkbox') {
document.mail_form.elements[i].checked = true;
}
} // end for ()
$('clr_spn').style.display = "block";
$('chk_spn').style.display = "none";
} // end function do_clear
</SCRIPT>
</HEAD>
<?php
if (count($rows)>0) {
?>
<BODY onLoad = "reSizeScr(<?php print count($rows);?>);"><CENTER> <!-- 1/12/09 -->
<CENTER><H3><?php print gettext('Mail to Users');?></H3>
<?php
if (count($rows)>2) {
?>
<SPAN ID='clr_spn' STYLE = 'display:block' onClick = 'do_clear();'>» <U><?php print gettext('Un-check all');?></U></SPAN>
<SPAN ID='chk_spn' STYLE = 'display:none' onClick = 'do_check();'>» <U><?php print gettext('Check all');?></U></SPAN>
<?php
}
?>
<P>
<FORM NAME='mail_form' METHOD='post' ACTION='<?php print basename(__FILE__); ?>'>
<INPUT TYPE='hidden' NAME='frm_add_str' VALUE=''/> <!-- for pipe-delim'd addr string -->
<TABLE ALIGN = 'center' BORDER=0 WIDTH=500>
<?php
print "<TABLE ALIGN = 'center' BORDER=0 WIDTH=500>\n";
for ($i=0; $i < count($rows); $i++) {
$row = stripslashes_deep($rows[$i]);
print "\t<TR CLASS= '{$evenodd[($i)%2]}'>
<TD ALIGN='right'><INPUT TYPE='checkbox' CHECKED NAME='cb{($i+1)}'VALUE='{$row['email']}'> </TD>
<TD><SPAN style = \"background-color:{$colors[$row['level']]}\"> {$row['user']} </SPAN>
(<I>{$row['email']}</I>) </TD>
<TD ALIGN='left'>{$row['name_f']} {$row['name_mi']} {$row['name_l']}</TD>
</TR>\n";
} // end for()
?>
<TR CLASS='<?php print $evenodd[($i)%2]; ?>'><TD><?php print gettext('Subject');?>: </TD><TD COLSPAN=2><INPUT TYPE = 'text' NAME = 'frm_subj' SIZE = 60 /></TD></TR>
<SCRIPT>
/**
*
* @param {type} inval
* @returns {undefined}
*/
function set_signal(inval) { // 12/18/10
var temp_ary = inval.split("|", 2); // inserted separator
document.mail_form.frm_text.value+=" " + temp_ary[1] + ' ';
document.mail_form.frm_text.focus();
} // end function set_signal()
</SCRIPT>
<TR CLASS='<?php print $evenodd[($i+1)%2]; ?>'><TD><?php print gettext('Message');?>:</TD><TD COLSPAN=2> <TEXTAREA NAME='frm_text' COLS=60 ROWS=4></TEXTAREA></TD></TR>
<TR CLASS='<?php print $evenodd[($i+1)%2]; ?>'> <!-- 11/15/10 -->
<TD></TD><TD CLASS="td_label"><?php print gettext('Signal');?> »
<SELECT NAME='signals' onChange = 'set_signal(this.options[this.selectedIndex].text); this.options[0].selected=true;'> <!-- 11/17/10 -->
<OPTION VALUE=0 SELECTED><?php print gettext('Select');?></OPTION>
<?php
$query = "SELECT * FROM `$GLOBALS[mysql_prefix]codes` ORDER BY `sort` ASC, `code` ASC";
$result = mysql_query($query) or do_error($query, 'mysql query failed', mysql_error(),basename( __FILE__), __LINE__);
while ($row_sig = stripslashes_deep(mysql_fetch_assoc($result))) {
print "\t<OPTION VALUE='{$row_sig['code']}'>{$row_sig['code']}|{$row_sig['text']}</OPTION>\n"; // pipe separator
}
?>
</SELECT>
</TD></TR>
<TR CLASS='<?php print $evenodd[($i)%2]; ?>'><TD ALIGN='center' COLSPAN=3><BR /><BR />
<INPUT TYPE='button' VALUE='<?php print gettext('Send');?>' onClick = "do_step_2();"/>
<INPUT TYPE='reset' VALUE='<?php print gettext('Reset');?>'/>
<INPUT TYPE='button' VALUE='<?php print gettext('Cancel');?>' onClick = 'window.close();'/><BR /><BR />
</TD></TR>
</TABLE></FORM>
Levels:
<SPAN style = 'background-color:<?php print $colors[$GLOBALS['LEVEL_SUPER']];?>'><?php print gettext('Super');?></SPAN>
<SPAN style = 'background-color:<?php print $colors[$GLOBALS['LEVEL_ADMINISTRATOR']];?>'><?php print gettext('Admin');?></SPAN>
<SPAN style = 'background-color:<?php print $colors[$GLOBALS['LEVEL_USER']];?>'><?php print gettext('Operator');?></SPAN>
<SPAN style = 'background-color:<?php print $colors[$GLOBALS['LEVEL_GUEST']];?>'><?php print gettext('Guest');?></SPAN>
<SPAN style = 'background-color:<?php print $colors[$GLOBALS['LEVEL_MEMBER']];?>'><?php print gettext('Member');?></SPAN>
<SPAN style = 'background-color:<?php print $colors[$GLOBALS['LEVEL_UNIT']];?>'><?php print gettext('Unit');?></SPAN>
<?php
} // end if(mysql_affected_rows()>0)
else {
?>
<BODY onLoad = "reSizeScr(2);"><CENTER> <!-- 1/12/09 -->
<CENTER><H3><?php print gettext('Mail to Users');?></H3>
<BR /><BR />
<H3><?php print gettext('No addresses available!');?></H3><BR /><BR />
<INPUT TYPE='button' VALUE='<?php print gettext('Cancel');?>' onClick = 'window.close();'/><BR /><BR />
<?php
}
} // end if (empty($_POST)) {
else {
do_send ($_POST['frm_add_str'], "", $_POST['frm_subj'], $_POST['frm_text'], 0, 0); // ($to_str, $subject_str, $text_str )
?>
<BODY onLoad = "reSizeScr(2);"><CENTER> <!-- 1/12/09 -->
<CENTER><BR /><BR /><BR /><H3><?php print gettext('Mail sent');?></H3>
<BR /><BR /><BR /><INPUT TYPE='button' VALUE='<?php print gettext('Finished');?>' onClick = 'window.close();'/><BR /><BR />
<?php
} // end else
?> </BODY>
</HTML>