From 61d61848a414dd266f7765fd89b35ce7b07a4e53 Mon Sep 17 00:00:00 2001 From: Philip Häusler Date: Sat, 17 Dec 2011 15:18:13 +0100 Subject: #1, #3, angels active and t-shirts --- includes/pages/admin_active.php | 117 ++++++++++++++++++++++++++++++++++++++++ 1 file changed, 117 insertions(+) create mode 100644 includes/pages/admin_active.php (limited to 'includes/pages/admin_active.php') diff --git a/includes/pages/admin_active.php b/includes/pages/admin_active.php new file mode 100644 index 00000000..d993395b --- /dev/null +++ b/includes/pages/admin_active.php @@ -0,0 +1,117 @@ +« back | apply'; + } + } + + if (isset ($_REQUEST['active']) && preg_match("/^[0-9]+$/", $_REQUEST['active'])) { + $id = $_REQUEST['active']; + sql_query("UPDATE `User` SET `Aktiv`=1 WHERE `UID`=" . sql_escape($id) . " LIMIT 1"); + $msg = success("Angel has been marked as active."); + } + elseif (isset ($_REQUEST['not_active']) && preg_match("/^[0-9]+$/", $_REQUEST['not_active'])) { + $id = $_REQUEST['not_active']; + sql_query("UPDATE `User` SET `Aktiv`=0 WHERE `UID`=" . sql_escape($id) . " LIMIT 1"); + $msg = success("Angel has been marked as not active."); + } + elseif (isset ($_REQUEST['tshirt']) && preg_match("/^[0-9]+$/", $_REQUEST['tshirt'])) { + $id = $_REQUEST['tshirt']; + sql_query("UPDATE `User` SET `Tshirt`=1 WHERE `UID`=" . sql_escape($id) . " LIMIT 1"); + $msg = success("Angel has got a t-shirt."); + } + elseif (isset ($_REQUEST['not_tshirt']) && preg_match("/^[0-9]+$/", $_REQUEST['not_tshirt'])) { + $id = $_REQUEST['not_tshirt']; + sql_query("UPDATE `User` SET `Tshirt`=0 WHERE `UID`=" . sql_escape($id) . " LIMIT 1"); + $msg = success("Angel has got no t-shirt."); + } + + $users = sql_select("SELECT `User`.*, COUNT(`ShiftEntry`.`id`) as `shift_count`, SUM(`end`-`start`) as `shift_length` FROM `User` LEFT JOIN `ShiftEntry` ON `User`.`UID` = `ShiftEntry`.`UID` LEFT JOIN `Shifts` ON `ShiftEntry`.`SID` = `Shifts`.`SID` WHERE `User`.`Gekommen` = 1 GROUP BY `User`.`UID` ORDER BY `shift_length` DESC" . $limit); + + $table = ""; + if ($search == "") + $tokens = array (); + else + $tokens = explode(" ", $search); + foreach ($users as $usr) { + if (count($tokens) > 0) { + $match = false; + $index = join("", $usr); + foreach ($tokens as $t) + if (strstr($index, trim($t))) { + $match = true; + break; + } + if (!$match) + continue; + } + $table .= ''; + $table .= '' . $usr['Nick'] . ''; + $table .= '' . $usr['shift_count'] . ''; + + if ($usr['shift_count'] == 0) + $table .= '-'; + else + $table .= '' . round($usr['shift_length'] / 60) . ' min (' . round($usr['shift_length'] / 3600) . ' h)'; + + if ($usr['Aktiv'] == 1) + $table .= 'yes'; + else + $table .= ''; + if ($usr['Tshirt'] == 1) + $table .= 'yes'; + else + $table .= ''; + + $actions = array (); + if ($usr['Aktiv'] == 0) + $actions[] = 'set active'; + if ($usr['Aktiv'] == 1 && $usr['Tshirt'] == 0) { + $actions[] = 'remove active'; + $actions[] = 'got t-shirt'; + } + if ($usr['Tshirt'] == 1) + $actions[] = 'remove t-shirt'; + + $table .= '' . join(' | ', $actions) . ''; + + $table .= ''; + } + return template_render('../templates/admin_active.html', array ( + 'search' => $search, + 'count' => $count, + 'set_active' => $set_active, + 'table' => $table, + 'msg' => $msg, + 'link' => page_link_to('admin_active') + )); +} +?> \ No newline at end of file -- cgit v1.2.3-54-g00ecf