summaryrefslogtreecommitdiff
path: root/src/views/pages/users/index.html.php
blob: 159ff765a8a4e92bef90f4f425392983775f1e4e (plain)
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
<?php global $VARS;
$t = $VARS['template'];
$attribs = $VARS['attribs'];
$users = $VARS['users'];
require_once('Login.class.php');

$t->header('Users');

$t->paragraph($t->link($t->url('users.csv'), "Download this as a spreadsheet.", true));

$t->openTag('form', array('action'=>$t->url('users/index'),
                          'method'=>'post'));

if (Login::isLoggedIn()) {
	$t->tag('input', array('type'=>'submit',
	                       'value'=>'Save/Update'));
}

$t->openTag('table', array('class'=>'sortable', 'id'=>'bar'));

function table_head($attribs, $t) {
	$t->openTag('tr');
	foreach ($attribs as $attrib) {
		switch ($attrib['type']) {
		case 'bool': $class = 'small'; break;
		default: $class = ''; break;
		}
		$t->tag('th', array('class'=>$class), $attrib['name']);
	}
	if (Login::isLoggedIn()) {
		$t->tag('th', array(), '-');
	}
	$t->closeTag('tr');
}

$t->openTag('thead');
table_head($attribs, $t);
$t->closeTag('thead');

$t->openTag('tfoot');
table_head($attribs, $t);
$t->closeTag('tfoot');

$t->openTag('tbody');

foreach ($users as $user) {
	$t->openTag('tr');
	
	foreach ($attribs as $attrib) {
		$t->openTag('td');

		$props = $user[$attrib['key']];

		$bool = $attrib['type']=='bool';
		if ($bool) {
			$value = $props['value']=='true';
		} else {
			$value    = $props['value'];
		}
		$editable = $props['editable'];
		$post_key = $props['post_key'];
		
		$arr = array('name'=>$post_key);
		if (!$editable) {
			$arr['readonly'] = 'readonly';
			if ($bool) $arr['disabled'] = $disabled;
		}
		if ($bool) {
			$t->tag('input', array('type'=>'hidden', 'name'=>$post_key, 'value'=>'false'));
			if ($value==true) {
				$arr['checked'] = 'checked';
			}
			$arr['value'] = 'true';
			$arr['type'] = 'checkbox';
		} else {
			$t->tag('span', array('class'=>'cell_width'), $value);
			$arr['value'] = $value;
			$arr['type'] = 'text';
		}
		
		$t->tag('input', array('name'=>'_old['.$arr['name'].']',
		                       'value'=>$arr['value'],
		                       'type'=>'hidden'));
		$t->tag('input', $arr);
		$t->closeTag('td');
	}
	
	if (Login::isLoggedIn()) {
		$t->openTag('td');
		$t->link($t->url('users/'.$user['auth_name']['value']), 'More');
		$t->closeTag('td');
	}
	$t->closeTag('tr');
}

$t->closeTag('tbody');
$t->closeTag('table');

if (Login::isLoggedIn()) {
	$t->tag('input', array('type'=>'submit',
	                       'value'=>'Save/Update'));
}

$t->footer();