backoffice/html/mailing/admin/message.php
2011-06-21 13:28:10 +00:00

134 lines
4.9 KiB
PHP

<script language="Javascript" src="js/jslib.js" type="text/javascript"></script>
<hr />
<?php
require_once dirname(__FILE__).'/accesscheck.php';
$id = sprintf('%d',$_GET["id"]);
if (!$id) {
print $GLOBALS['I18N']->get('Please select a message to display') . "\n";
exit;
}
$access = accessLevel('message');
#print "Access: $access";
switch ($access) {
case 'owner':
$subselect = ' where owner = ' . $_SESSION["logindetails"]["id"];
$owner_select_and = ' and owner = ' . $_SESSION["logindetails"]["id"];
break;
case 'all':
$subselect = '';
$owner_select_and = '';
break;
case 'none':
default:
$subselect = ' where id = 0';
$owner_select_and = ' and owner = 0';
break;
}
if ($_POST['resend'] && is_array($_POST['list'])) {
if ($_POST['list']['all']) {
$res = Sql_query("select * from $tables[list]");
while($list = Sql_fetch_array($res))
if ($list["active"])
$result = Sql_query("insert into $tables[listmessage] (messageid,listid,entered) values($id,$list[id],now())");
} else {
foreach($_POST['list'] as $key => $val) {
if ($val == 'signup') {
$result = Sql_query("insert into $tables[listmessage] (messageid,listid,entered) values($id,$key,now())");
}
}
}
Sql_Query("update $tables[message] set status = \"submitted\" where id = $id");
}
require $coderoot . 'structure.php';
print '<p>'.PageLink2('send&amp;id='.$id,$GLOBALS['I18N']->get('Edit this message')).'</p>';
$result = Sql_query("SELECT * FROM {$tables['message']} where id = $id $owner_select_and");
if (!Sql_Affected_Rows()) {
print $GLOBALS['I18N']->get('No such message');
return;
}
echo "<table border=\"1\">";
while ($msg = Sql_fetch_array($result)) {
foreach($DBstruct["message"] as $field => $val) {
# Correct for bug 0009687
# Skip 'astextandhtml' and add this count to 'ashtml'
# change the name of sendformat
if ($field != 'ashtml') {
if ($field == 'astextandhtml') {
$field = 'ashtml';
$msg[$field] += $msg['astextandhtml'];
};
if ($field == 'sendformat' and $msg[$field] = 'text and HTML')
$msg[$field] = 'HTML';
printf('<tr><td valign="top">%s</td><td valign="top">%s</td></tr>',$GLOBALS['I18N']->get($field),$msg["htmlformatted"]?stripslashes($msg[$field]):nl2br(stripslashes($msg[$field])));
}
}
}
if (ALLOW_ATTACHMENTS) {
print '<tr><td colspan=2><h3>' . $GLOBALS['I18N']->get('Attachments for this message') . '</h3></td></tr>';
$req = Sql_Query("select * from {$tables["message_attachment"]},{$tables["attachment"]}
where {$tables["message_attachment"]}.attachmentid = {$tables["attachment"]}.id and
{$tables["message_attachment"]}.messageid = $id");
if (!Sql_Affected_Rows())
print '<tr><td colspan=2>' . $GLOBALS['I18N']->get('No attachments') . '</td></tr>';
while ($att = Sql_Fetch_array($req)) {
printf ('<tr><td>%s:</td><td>%s</td></tr>', $GLOBALS['I18N']->get('Filename') ,$att["remotefile"]);
printf ('<tr><td>%s:</td><td>%s</td></tr>', $GLOBALS['I18N']->get('Size'), formatBytes($att["size"]));
printf ('<tr><td>%s:</td><td>%s</td></tr>', $GLOBALS['I18N']->get('Mime Type'),$att["mimetype"]);
printf ('<tr><td>%s:</td><td>%s</td></tr>', $GLOBALS['I18N']->get('Description'), $att["description"]);
}
# print '</table>';
}
print '<tr><td colspan="2"<h3>' . $GLOBALS['I18N']->get('Lists this message has been sent to') . ':</h3></td></tr>';
$lists_done = array();
$result = Sql_Query("select $tables[list].name,$tables[list].id from $tables[listmessage],$tables[list] where $tables[listmessage].messageid = $id and $tables[listmessage].listid = $tables[list].id");
if (!Sql_Affected_Rows())
print '<tr><td colspan="2">' . $GLOBALS['I18N']->get('None yet') . '</td></tr>';
while ($lst = Sql_fetch_array($result)) {
array_push($lists_done,$lst[id]);
printf ('<tr><td>%d</td><td>%s</td></tr>',$lst['id'],$lst['name']);
}
?>
</table>
<a name="resend"></a><p><?php echo $GLOBALS['I18N']->get('Send this (same) message to (a) new list(s)'); ?>:</p>
<?php echo formStart()?>
<input type=hidden name="id" value="<?php echo $id?>">
<ul>
<?php
$result = Sql_query("SELECT * FROM $tables[list] $subselect");
while ($row = Sql_fetch_array($result)) {
if (!in_array($row[id],$lists_done)) {
print '<li><input type="checkbox" name="list[' . $row["id"] . ']" value="signup" ';
if ($list[$row["id"]] == 'signup')
print 'checked';
print ">".$row['name'];
if ($row["active"])
print ' (<font color="red">' . $GLOBALS['I18N']->get('List is Active') . '</font>)';
else
print ' (<font color="red">' . $GLOBALS['I18N']->get('List is not Active') . '</font>)';
$some = 1;
}
}
if (!$some)
print $GLOBALS['I18N']->get('<b>Note:</b> this message has already been sent to all lists. To resend it to new users use the "Requeue" function.');
else
print '<br /><input type="submit" name="resend" value="'.$GLOBALS['I18N']->get('Resend').'"></form>';
?>