3 * Site Admin page for setting up massmailings.
5 * This is frontend of SF massmail facility, which allows to prepare
6 * messages for delivery to target categories of site users. very
7 * delivery is performed via cronjob.
9 * Copyright 1999-2001 (c) VA Linux Systems
10 * Copyright 2010 (c) Franck Villaume - Capgemini
11 * Copyright (C) 2010 Alain Peyrat - Alcatel-Lucent
13 * This file is part of FusionForge.
15 * FusionForge is free software; you can redistribute it and/or modify
16 * it under the terms of the GNU General Public License as published by
17 * the Free Software Foundation; either version 2 of the License, or
18 * (at your option) any later version.
20 * FusionForge is distributed in the hope that it will be useful,
21 * but WITHOUT ANY WARRANTY; without even the implied warranty of
22 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
23 * GNU General Public License for more details.
25 * You should have received a copy of the GNU General Public License
26 * along with FusionForge; if not, write to the Free Software
27 * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA
30 require_once('../env.inc.php');
31 require_once $gfcommon.'include/pre.php';
32 require_once $gfwww.'admin/admin_utils.php';
34 session_require_global_perm ('forge_admin');
36 if (getStringFromRequest('submit')) {
37 if (!form_key_is_valid(getStringFromRequest('form_key'))) {
38 exit_form_double_submit('admin');
40 $mail_type = getStringFromRequest('mail_type');
41 $mail_message = getStringFromRequest('mail_message');
42 $mail_subject = getStringFromRequest('mail_subject');
45 form_release_key(getStringFromRequest('form_key'));
46 exit_missing_param('',array(_('Target Audience')),'admin');
49 if (!trim($mail_message)) {
50 form_release_key(getStringFromRequest('form_key'));
51 exit_missing_param('',array(_('No Message')),'admin');
54 if (trim($mail_subject) == '['.forge_get_config ('forge_name').']') {
55 form_release_key(getStringFromRequest('form_key'));
56 exit_missing_param('',array(_('No Subject')),'admin');
59 $res = db_query_params ('
60 INSERT INTO massmail_queue(type,subject,message,queued_date)
68 if (!$res || db_affected_rows($res)<1) {
69 form_release_key(getStringFromRequest('form_key'));
70 exit_error(_('Scheduling Mailing, Could not schedule mailing, database error: ').db_error(),'admin');
73 $title = _('Massmail admin');
74 site_admin_header(array('title'=>$title));
75 print "<p class=\"feedback\">" ._('Mailing successfully scheduled for delivery'). "</p>";
76 site_admin_footer(array());
80 $title = sprintf(_('Mail Engine for %1$s Subscribers'), forge_get_config ('forge_name'));
81 site_admin_header(array('title'=>$title));
85 <a href="#active">' ._('Active Deliveries').'</a>
88 <p>' ._('Be <span class="important">VERY</span> careful with this form, because submitting it WILL lead to sending email to lots of users.').
93 <form action="'.getStringFromServer('PHP_SELF').'" method="post">'
94 .'<input type="hidden" name="form_key" value="'.form_generate_key().'" />'
95 .'<strong>Target Audience:</strong>'.utils_requiredField().'<br />'.html_build_select_box_from_arrays(
96 array(0,'SITE','COMMNTY','DVLPR','ADMIN','ALL','SFDVLPR'),
99 _('Subscribers to "Site Updates"'),
100 _('Subscribers to "Additional Community Mailings"'),
101 _('All Project Developers'),
102 _('All Project Admins'),
104 forge_get_config ('forge_name'). _('Developers (test)')
106 'mail_type',false,false
114 <strong>' ._('Subject').':</strong>'.utils_requiredField().'
115 <br /><input type="text" name="mail_subject" size="50" value="['.forge_get_config ('forge_name').'] " /></p>
117 <p><strong>'._('Text of Message'). ':</strong>'.utils_requiredField(). _('(will be appended with unsubscription information, if applicable)').'</p>
118 <pre><textarea name="mail_message" cols="70" rows="20">
122 <p><input type="submit" name="submit" value="' ._('Schedule for Mailing').'" /></p>
128 $res = db_query_params ('
131 WHERE finished_date=0
139 $title[]=_('Subject');
141 $title[]=_('Last user_id mailed');
143 print '<a name="active">'._('Active Deliveries').':</a>';
145 echo $GLOBALS['HTML']->listTableTop($title);
148 while ($row = db_fetch_array($res)) {
150 <tr '.$GLOBALS['HTML']->boxGetAltRowStyle($i++).'>
151 <td> <a href="massmail-del.php?id='.$row['id'].'"></a></td>
152 <td>'.$row['id'].'</td>
153 <td>'.$row['type'].'</td>
154 <td>'.$row['subject'].'</td>
155 <td>'.date(_('Y-m-d H:i'), $row['queued_date']).'</td>
156 <td> '.$row['last_userid'].'</td>
161 echo $GLOBALS['HTML']->listTableBottom();
163 site_admin_footer(array());
167 // c-file-style: "bsd"