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
|
<?
/* RemSaint
*
* (c) 2002 Peter Palfrader <pp@3node.com>
*/
/**
* RemSaint
*
* @author Peter Palfrader/3node
* @version $Id$
*/
require_once("../include/Namespace.inc");
require_once("../include/Tools.inc");
require_once("../include/Template.inc");
$namespace = new Namespace(
array( have_database => 1,
have_session => 1,
have_user => 1 )
) or
die("Nobody loves me. I don't even have space for a name.");
$rules = Array();
$rules['list']['manage'] = array(type => 'integer', optional => 1);
$rules['list']['sort'] = array(type => 'string', optional => 1);
$arguments = param_check($GLOBALS, $rules, array(params_required=>false));
$user = false;
$userref = false;
$manage = $arguments['manage'] ? 1 : 0;
if (! $namespace->user->check_login())
$manage = 0;
else {
$user = $namespace->session->data['user']['username'];
$userref = $namespace->session->data['user']['ref'];
}
$orderby='nick';
$sort='nick';
if ($arguments['sort'] == 'type1') {
$orderby='-reliability_type1';
$sort='reliability_type1';
};
if ($arguments['sort'] == 'type2') {
$orderby='-reliability_type2';
$sort='reliability_type2';
};
if ($arguments['sort'] == 'status') {
$orderby='in_critical, in_warning';
$sort = 'status';
};
$data = array();
# YYYY-MM-DD HH24:MI TZ
if ($manage)
$data['remailers'] = $namespace->database->query_all("SELECT subscription.ref, remailer.ref, remailer.in_warning, remailer.in_critical, remailer.nick, remailer.reliability_type1, remailer.reliability_type2, to_char(remailer.last_update, 'YYYY-MM-DD') AS last_update, listed1, listed2, subscription.notify_warning, subscription.notify_critical, subscription.notify_recovery, true AS t, false AS f FROM remailer LEFT OUTER JOIN (SELECT * FROM subscription WHERE subscription.account_ref=?) as subscription ON remailer.ref=subscription.remailer_ref ORDER BY $orderby", array($userref));
else
$data['remailers'] = $namespace->database->query_all("SELECT ref, in_warning, in_critical, nick, reliability_type1, reliability_type2, to_char(last_update, 'YYYY-MM-DD') AS last_update, listed1, listed2, true AS t, false AS f FROM remailer ORDER BY $orderby");
$data['manage'] = $manage;
$data['sort'] = $sort;
$data['user'] = $user;
$data['this'] = $PHP_SELF;
$template = new Template('remsaint-status.html', $namespace->config->template_path);
$template->parse($data);
print $template->output();
$namespace->stop();
# vim:set ts=4:
# vim:set shiftwidth=4:
?>
|