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
|
<?php require_once(__DIR__ . '/../checkuser.php'); function index() { global $dbh; // Check permission if (!Util::isAdmin()) { redirectAndExit(Util::link(__DIR__ . '/../main.php')); } $sql = " SELECT staff.*, SEC_TO_TIME(SUM(TIME_TO_SEC(SUBTIME(job.actual_end_time, job.actual_start_time)))) AS staff_man_hour FROM sys_login staff LEFT JOIN sup_job job ON job.staff_id = staff.id AND job.actived = 1 AND job.deleted = 0 AND job.status <> 3 GROUP BY staff.id ORDER BY role, username "; $parameters = array(); $pagination = new MySqlPagination($sql, $parameters); $sql .= $pagination->getSqlLimitAndOffset(); if (!($sth = $dbh->prepare($sql))) { throw new Exception("sql prepare statement failure: $sql"); } $sth->setFetchMode(PDO::FETCH_ASSOC); if (!$sth->execute($parameters)) { throw new Exception("sql execute statement failure: $sql"); } $staffs = $sth->fetchAll(); return array( 'staffs' => $staffs, 'roleOptions' => Staff::roleOptions(), 'pagination' => $pagination->toString(), ); } extract(index()); ?><!DOCTYPE html> <html xmlns="http://www.w3.org/1999/xhtml"> <head> <?php require(__DIR__ . '/../inc/_head_meta.php'); ?> <?php require(__DIR__ . '/../inc/_head_css.php'); ?> <style type="text/css"> body { padding-top: 60px; /* 60px to make the container go all the way to the bottom of the topbar */ padding-bottom: 40px; } </style> <?php require(__DIR__ . '/../inc/_head_script.php'); ?> </head> <body> <?php require(__DIR__ . '/../inc/_navbar.php'); ?> <div class="container"> <?php if (isset($message) && !empty($message)): ?> <div class="alert alert-info"> <button type="button" class="close" data-dismiss="alert">×</button> <h5 class="alert-heading">Note:</h5> <p><?=$message?></p> </div> <?php endif; ?>
<h2>Staff Man Hours</h2> <?=$pagination?>
<table class="table table-striped"> <caption class="text-left hide"><h2>Staff Man Hours</h2></caption> <thead> <tr> <th> </th> <th>User Name</th> <th>Role</th> <th>Status</th> <th>Man Hours</th> </tr> </thead> <tbody> <?php foreach ($staffs as $staff): ?> <tr> <td><a href="modifyform.php?id=<?=$staff['id']?>" class="btn"><i class="icon-pencil"></i></a></td> <td><?=h($staff['username'])?></td> <td><?=h($roleOptions[$staff['role']])?></td> <td> <a href="javascript:void(0)"> <i class="<?=$staff['actived'] == 1 ? 'icon-ok' : 'icon-remove'?>"></i> <?=$staff['actived'] == 1 ? 'Enable' : 'Disable'?> </a> </td> <td><?=h($staff['staff_man_hour'])?></td> </tr> <?php endforeach; ?> </tbody> </table> <?=$pagination?> <div class="scroll_to_top"> <a href="#" class="btn btn-link btn-mini scroll-to-top">Scroll to Top</a> </div> <script type="text/javascript"> $(function() { $('.scroll-to-top').click(function(event) { event.preventDefault(); scrollToTop(); }); }); </script> <?php require(__DIR__ . '/../inc/_footer.php'); ?>
</div> <!-- /container --> </body> </html>
|