summaryrefslogtreecommitdiff
path: root/includes/pages
diff options
context:
space:
mode:
Diffstat (limited to 'includes/pages')
-rw-r--r--includes/pages/admin_active.php277
-rw-r--r--includes/pages/admin_arrive.php255
-rw-r--r--includes/pages/admin_free.php113
-rw-r--r--includes/pages/admin_groups.php111
-rw-r--r--includes/pages/admin_import.php410
-rw-r--r--includes/pages/admin_log.php37
-rw-r--r--includes/pages/admin_news.php38
-rw-r--r--includes/pages/admin_questions.php114
-rw-r--r--includes/pages/admin_rooms.php273
-rw-r--r--includes/pages/admin_shifts.php447
-rw-r--r--includes/pages/admin_user.php241
-rw-r--r--includes/pages/guest_credits.php11
-rw-r--r--includes/pages/guest_login.php470
-rw-r--r--includes/pages/guest_start.php6
-rw-r--r--includes/pages/guest_stats.php45
-rw-r--r--includes/pages/user_atom.php58
-rw-r--r--includes/pages/user_ical.php82
-rw-r--r--includes/pages/user_messages.php116
-rw-r--r--includes/pages/user_myshifts.php153
-rw-r--r--includes/pages/user_news.php274
-rw-r--r--includes/pages/user_questions.php61
-rw-r--r--includes/pages/user_settings.php271
-rw-r--r--includes/pages/user_shifts.php219
23 files changed, 2066 insertions, 2016 deletions
diff --git a/includes/pages/admin_active.php b/includes/pages/admin_active.php
index a1e31b11..46e88e23 100644
--- a/includes/pages/admin_active.php
+++ b/includes/pages/admin_active.php
@@ -1,45 +1,47 @@
<?php
-function admin_active_title() {
- return _("Active angels");
+function admin_active_title()
+{
+ return _("Active angels");
}
-function admin_active() {
- global $tshirt_sizes, $shift_sum_formula;
+function admin_active()
+{
+ global $tshirt_sizes, $shift_sum_formula;
- $msg = "";
- $search = "";
- $forced_count = sql_num_query("SELECT * FROM `User` WHERE `force_active`=1");
- $count = $forced_count;
- $limit = "";
- $set_active = "";
+ $msg = "";
+ $search = "";
+ $forced_count = sql_num_query("SELECT * FROM `User` WHERE `force_active`=1");
+ $count = $forced_count;
+ $limit = "";
+ $set_active = "";
- if (isset($_REQUEST['search'])) {
- $search = strip_request_item('search');
- }
+ if (isset($_REQUEST['search'])) {
+ $search = strip_request_item('search');
+ }
- $show_all_shifts = isset($_REQUEST['show_all_shifts']);
+ $show_all_shifts = isset($_REQUEST['show_all_shifts']);
- if (isset($_REQUEST['set_active'])) {
- $valid = true;
+ if (isset($_REQUEST['set_active'])) {
+ $valid = true;
- if (isset($_REQUEST['count']) && preg_match("/^[0-9]+$/", $_REQUEST['count'])) {
- $count = strip_request_item('count');
- if ($count < $forced_count) {
- error(sprintf(_("At least %s angels are forced to be active. The number has to be greater."), $forced_count));
- redirect(page_link_to('admin_active'));
- }
- } else {
- $valid = false;
- $msg .= error(_("Please enter a number of angels to be marked as active."), true);
- }
+ if (isset($_REQUEST['count']) && preg_match("/^[0-9]+$/", $_REQUEST['count'])) {
+ $count = strip_request_item('count');
+ if ($count < $forced_count) {
+ error(sprintf(_("At least %s angels are forced to be active. The number has to be greater."), $forced_count));
+ redirect(page_link_to('admin_active'));
+ }
+ } else {
+ $valid = false;
+ $msg .= error(_("Please enter a number of angels to be marked as active."), true);
+ }
- if ($valid) {
- $limit = " LIMIT " . $count;
- }
- if (isset($_REQUEST['ack'])) {
- sql_query("UPDATE `User` SET `Aktiv` = 0 WHERE `Tshirt` = 0");
- $users = sql_select("
+ if ($valid) {
+ $limit = " LIMIT " . $count;
+ }
+ if (isset($_REQUEST['ack'])) {
+ sql_query("UPDATE `User` SET `Aktiv` = 0 WHERE `Tshirt` = 0");
+ $users = sql_select("
SELECT `User`.*, COUNT(`ShiftEntry`.`id`) as `shift_count`, $shift_sum_formula as `shift_length`
FROM `User`
LEFT JOIN `ShiftEntry` ON `User`.`UID` = `ShiftEntry`.`UID`
@@ -47,138 +49,138 @@ function admin_active() {
WHERE `User`.`Gekommen` = 1 AND `User`.`force_active`=0
GROUP BY `User`.`UID`
ORDER BY `force_active` DESC, `shift_length` DESC" . $limit);
- $user_nicks = [];
- foreach ($users as $usr) {
- sql_query("UPDATE `User` SET `Aktiv` = 1 WHERE `UID`='" . sql_escape($usr['UID']) . "'");
- $user_nicks[] = User_Nick_render($usr);
- }
- sql_query("UPDATE `User` SET `Aktiv`=1 WHERE `force_active`=TRUE");
- engelsystem_log("These angels are active now: " . join(", ", $user_nicks));
+ $user_nicks = [];
+ foreach ($users as $usr) {
+ sql_query("UPDATE `User` SET `Aktiv` = 1 WHERE `UID`='" . sql_escape($usr['UID']) . "'");
+ $user_nicks[] = User_Nick_render($usr);
+ }
+ sql_query("UPDATE `User` SET `Aktiv`=1 WHERE `force_active`=TRUE");
+ engelsystem_log("These angels are active now: " . join(", ", $user_nicks));
- $limit = "";
- $msg = success(_("Marked angels."), true);
- } else {
- $set_active = '<a href="' . page_link_to('admin_active') . '&amp;serach=' . $search . '">&laquo; ' . _("back") . '</a> | <a href="' . page_link_to('admin_active') . '&amp;search=' . $search . '&amp;count=' . $count . '&amp;set_active&amp;ack">' . _("apply") . '</a>';
+ $limit = "";
+ $msg = success(_("Marked angels."), true);
+ } else {
+ $set_active = '<a href="' . page_link_to('admin_active') . '&amp;serach=' . $search . '">&laquo; ' . _("back") . '</a> | <a href="' . page_link_to('admin_active') . '&amp;search=' . $search . '&amp;count=' . $count . '&amp;set_active&amp;ack">' . _("apply") . '</a>';
+ }
}
- }
- if (isset($_REQUEST['active']) && preg_match("/^[0-9]+$/", $_REQUEST['active'])) {
- $user_id = $_REQUEST['active'];
- $user_source = User($user_id);
- if ($user_source != null) {
- sql_query("UPDATE `User` SET `Aktiv`=1 WHERE `UID`='" . sql_escape($user_id) . "' LIMIT 1");
- engelsystem_log("User " . User_Nick_render($user_source) . " is active now.");
- $msg = success(_("Angel has been marked as active."), true);
- } else {
- $msg = error(_("Angel not found."), true);
- }
- } elseif (isset($_REQUEST['not_active']) && preg_match("/^[0-9]+$/", $_REQUEST['not_active'])) {
- $user_id = $_REQUEST['not_active'];
- $user_source = User($user_id);
- if ($user_source != null) {
- sql_query("UPDATE `User` SET `Aktiv`=0 WHERE `UID`='" . sql_escape($user_id) . "' LIMIT 1");
- engelsystem_log("User " . User_Nick_render($user_source) . " is NOT active now.");
- $msg = success(_("Angel has been marked as not active."), true);
- } else {
- $msg = error(_("Angel not found."), true);
- }
- } elseif (isset($_REQUEST['tshirt']) && preg_match("/^[0-9]+$/", $_REQUEST['tshirt'])) {
- $user_id = $_REQUEST['tshirt'];
- $user_source = User($user_id);
- if ($user_source != null) {
- sql_query("UPDATE `User` SET `Tshirt`=1 WHERE `UID`='" . sql_escape($user_id) . "' LIMIT 1");
- engelsystem_log("User " . User_Nick_render($user_source) . " has tshirt now.");
- $msg = success(_("Angel has got a t-shirt."), true);
- } else {
- $msg = error("Angel not found.", true);
- }
- } elseif (isset($_REQUEST['not_tshirt']) && preg_match("/^[0-9]+$/", $_REQUEST['not_tshirt'])) {
- $user_id = $_REQUEST['not_tshirt'];
- $user_source = User($user_id);
- if ($user_source != null) {
- sql_query("UPDATE `User` SET `Tshirt`=0 WHERE `UID`='" . sql_escape($user_id) . "' LIMIT 1");
- engelsystem_log("User " . User_Nick_render($user_source) . " has NO tshirt.");
- $msg = success(_("Angel has got no t-shirt."), true);
- } else {
- $msg = error(_("Angel not found."), true);
+ if (isset($_REQUEST['active']) && preg_match("/^[0-9]+$/", $_REQUEST['active'])) {
+ $user_id = $_REQUEST['active'];
+ $user_source = User($user_id);
+ if ($user_source != null) {
+ sql_query("UPDATE `User` SET `Aktiv`=1 WHERE `UID`='" . sql_escape($user_id) . "' LIMIT 1");
+ engelsystem_log("User " . User_Nick_render($user_source) . " is active now.");
+ $msg = success(_("Angel has been marked as active."), true);
+ } else {
+ $msg = error(_("Angel not found."), true);
+ }
+ } elseif (isset($_REQUEST['not_active']) && preg_match("/^[0-9]+$/", $_REQUEST['not_active'])) {
+ $user_id = $_REQUEST['not_active'];
+ $user_source = User($user_id);
+ if ($user_source != null) {
+ sql_query("UPDATE `User` SET `Aktiv`=0 WHERE `UID`='" . sql_escape($user_id) . "' LIMIT 1");
+ engelsystem_log("User " . User_Nick_render($user_source) . " is NOT active now.");
+ $msg = success(_("Angel has been marked as not active."), true);
+ } else {
+ $msg = error(_("Angel not found."), true);
+ }
+ } elseif (isset($_REQUEST['tshirt']) && preg_match("/^[0-9]+$/", $_REQUEST['tshirt'])) {
+ $user_id = $_REQUEST['tshirt'];
+ $user_source = User($user_id);
+ if ($user_source != null) {
+ sql_query("UPDATE `User` SET `Tshirt`=1 WHERE `UID`='" . sql_escape($user_id) . "' LIMIT 1");
+ engelsystem_log("User " . User_Nick_render($user_source) . " has tshirt now.");
+ $msg = success(_("Angel has got a t-shirt."), true);
+ } else {
+ $msg = error("Angel not found.", true);
+ }
+ } elseif (isset($_REQUEST['not_tshirt']) && preg_match("/^[0-9]+$/", $_REQUEST['not_tshirt'])) {
+ $user_id = $_REQUEST['not_tshirt'];
+ $user_source = User($user_id);
+ if ($user_source != null) {
+ sql_query("UPDATE `User` SET `Tshirt`=0 WHERE `UID`='" . sql_escape($user_id) . "' LIMIT 1");
+ engelsystem_log("User " . User_Nick_render($user_source) . " has NO tshirt.");
+ $msg = success(_("Angel has got no t-shirt."), true);
+ } else {
+ $msg = error(_("Angel not found."), true);
+ }
}
- }
- $users = sql_select("
+ $users = sql_select("
SELECT `User`.*, COUNT(`ShiftEntry`.`id`) as `shift_count`, ${shift_sum_formula} as `shift_length`
FROM `User` LEFT JOIN `ShiftEntry` ON `User`.`UID` = `ShiftEntry`.`UID`
LEFT JOIN `Shifts` ON `ShiftEntry`.`SID` = `Shifts`.`SID` " . ($show_all_shifts ? "" : "AND (`Shifts`.`end` < " . time() . " OR `Shifts`.`end` IS NULL)") . "
WHERE `User`.`Gekommen` = 1
GROUP BY `User`.`UID`
ORDER BY `force_active` DESC, `shift_length` DESC" . $limit);
- $matched_users = [];
- if ($search == "") {
- $tokens = [];
- } else {
- $tokens = explode(" ", $search);
- }
- foreach ($users as &$usr) {
- if (count($tokens) > 0) {
- $match = false;
- foreach ($tokens as $t) {
- if (stristr($usr['Nick'], trim($t))) {
- $match = true;
- break;
- }
- }
- if (! $match) {
- continue;
- }
+ $matched_users = [];
+ if ($search == "") {
+ $tokens = [];
+ } else {
+ $tokens = explode(" ", $search);
}
- $usr['nick'] = User_Nick_render($usr);
- $usr['shirt_size'] = $tshirt_sizes[$usr['Size']];
- $usr['work_time'] = round($usr['shift_length'] / 60) . ' min (' . round($usr['shift_length'] / 3600) . ' h)';
- $usr['active'] = glyph_bool($usr['Aktiv'] == 1);
- $usr['force_active'] = glyph_bool($usr['force_active'] == 1);
- $usr['tshirt'] = glyph_bool($usr['Tshirt'] == 1);
+ foreach ($users as &$usr) {
+ if (count($tokens) > 0) {
+ $match = false;
+ foreach ($tokens as $t) {
+ if (stristr($usr['Nick'], trim($t))) {
+ $match = true;
+ break;
+ }
+ }
+ if (! $match) {
+ continue;
+ }
+ }
+ $usr['nick'] = User_Nick_render($usr);
+ $usr['shirt_size'] = $tshirt_sizes[$usr['Size']];
+ $usr['work_time'] = round($usr['shift_length'] / 60) . ' min (' . round($usr['shift_length'] / 3600) . ' h)';
+ $usr['active'] = glyph_bool($usr['Aktiv'] == 1);
+ $usr['force_active'] = glyph_bool($usr['force_active'] == 1);
+ $usr['tshirt'] = glyph_bool($usr['Tshirt'] == 1);
- $actions = [];
- if ($usr['Aktiv'] == 0) {
- $actions[] = '<a href="' . page_link_to('admin_active') . '&amp;active=' . $usr['UID'] . ($show_all_shifts ? '&amp;show_all_shifts=' : '') . '&amp;search=' . $search . '">' . _("set active") . '</a>';
- }
- if ($usr['Aktiv'] == 1 && $usr['Tshirt'] == 0) {
- $actions[] = '<a href="' . page_link_to('admin_active') . '&amp;not_active=' . $usr['UID'] . ($show_all_shifts ? '&amp;show_all_shifts=' : '') . '&amp;search=' . $search . '">' . _("remove active") . '</a>';
- $actions[] = '<a href="' . page_link_to('admin_active') . '&amp;tshirt=' . $usr['UID'] . ($show_all_shifts ? '&amp;show_all_shifts=' : '') . '&amp;search=' . $search . '">' . _("got t-shirt") . '</a>';
- }
- if ($usr['Tshirt'] == 1) {
- $actions[] = '<a href="' . page_link_to('admin_active') . '&amp;not_tshirt=' . $usr['UID'] . ($show_all_shifts ? '&amp;show_all_shifts=' : '') . '&amp;search=' . $search . '">' . _("remove t-shirt") . '</a>';
- }
+ $actions = [];
+ if ($usr['Aktiv'] == 0) {
+ $actions[] = '<a href="' . page_link_to('admin_active') . '&amp;active=' . $usr['UID'] . ($show_all_shifts ? '&amp;show_all_shifts=' : '') . '&amp;search=' . $search . '">' . _("set active") . '</a>';
+ }
+ if ($usr['Aktiv'] == 1 && $usr['Tshirt'] == 0) {
+ $actions[] = '<a href="' . page_link_to('admin_active') . '&amp;not_active=' . $usr['UID'] . ($show_all_shifts ? '&amp;show_all_shifts=' : '') . '&amp;search=' . $search . '">' . _("remove active") . '</a>';
+ $actions[] = '<a href="' . page_link_to('admin_active') . '&amp;tshirt=' . $usr['UID'] . ($show_all_shifts ? '&amp;show_all_shifts=' : '') . '&amp;search=' . $search . '">' . _("got t-shirt") . '</a>';
+ }
+ if ($usr['Tshirt'] == 1) {
+ $actions[] = '<a href="' . page_link_to('admin_active') . '&amp;not_tshirt=' . $usr['UID'] . ($show_all_shifts ? '&amp;show_all_shifts=' : '') . '&amp;search=' . $search . '">' . _("remove t-shirt") . '</a>';
+ }
- $usr['actions'] = join(' ', $actions);
+ $usr['actions'] = join(' ', $actions);
- $matched_users[] = $usr;
- }
+ $matched_users[] = $usr;
+ }
- $shirt_statistics = [];
- foreach (array_keys($tshirt_sizes) as $size) {
- if ($size != '') {
- $shirt_statistics[] = [
+ $shirt_statistics = [];
+ foreach (array_keys($tshirt_sizes) as $size) {
+ if ($size != '') {
+ $shirt_statistics[] = [
'size' => $size,
'needed' => sql_select_single_cell("SELECT count(*) FROM `User` WHERE `Size`='" . sql_escape($size) . "' AND `Gekommen`=1"),
- 'given' => sql_select_single_cell("SELECT count(*) FROM `User` WHERE `Size`='" . sql_escape($size) . "' AND `Tshirt`=1")
+ 'given' => sql_select_single_cell("SELECT count(*) FROM `User` WHERE `Size`='" . sql_escape($size) . "' AND `Tshirt`=1")
];
+ }
}
- }
- $shirt_statistics[] = [
+ $shirt_statistics[] = [
'size' => '<b>' . _("Sum") . '</b>',
'needed' => '<b>' . User_arrived_count() . '</b>',
- 'given' => '<b>' . sql_select_single_cell("SELECT count(*) FROM `User` WHERE `Tshirt`=1") . '</b>'
+ 'given' => '<b>' . sql_select_single_cell("SELECT count(*) FROM `User` WHERE `Tshirt`=1") . '</b>'
];
- return page_with_title(admin_active_title(), [
+ return page_with_title(admin_active_title(), [
form([
form_text('search', _("Search angel:"), $search),
form_checkbox('show_all_shifts', _("Show all shifts"), $show_all_shifts),
- form_submit('submit', _("Search"))
+ form_submit('submit', _("Search"))
], page_link_to('admin_active')),
$set_active == "" ? form([
form_text('count', _("How much angels should be active?"), $count),
- form_submit('set_active', _("Preview"))
+ form_submit('set_active', _("Preview"))
]) : $set_active,
msg(),
table([
@@ -189,14 +191,13 @@ function admin_active() {
'active' => _("Active?"),
'force_active' => _("Forced"),
'tshirt' => _("T-shirt?"),
- 'actions' => ""
+ 'actions' => ""
], $matched_users),
'<h2>' . _("Shirt statistics") . '</h2>',
table([
'size' => _("Size"),
'needed' => _("Needed shirts"),
- 'given' => _("Given shirts")
- ], $shirt_statistics)
+ 'given' => _("Given shirts")
+ ], $shirt_statistics)
]);
}
-?>
diff --git a/includes/pages/admin_arrive.php b/includes/pages/admin_arrive.php
index 4a1ee8d7..c2e97072 100644
--- a/includes/pages/admin_arrive.php
+++ b/includes/pages/admin_arrive.php
@@ -1,145 +1,147 @@
<?php
-function admin_arrive_title() {
- return _("Arrived angels");
+function admin_arrive_title()
+{
+ return _("Arrived angels");
}
-function admin_arrive() {
- $msg = "";
- $search = "";
- if (isset($_REQUEST['search'])) {
- $search = strip_request_item('search');
- }
-
- if (isset($_REQUEST['reset']) && preg_match("/^[0-9]*$/", $_REQUEST['reset'])) {
- $user_id = $_REQUEST['reset'];
- $user_source = User($user_id);
- if ($user_source != null) {
- sql_query("UPDATE `User` SET `Gekommen`=0, `arrival_date` = NULL WHERE `UID`='" . sql_escape($user_id) . "' LIMIT 1");
- engelsystem_log("User set to not arrived: " . User_Nick_render($user_source));
- success(_("Reset done. Angel has not arrived."));
- redirect(user_link($user_source));
- } else {
- $msg = error(_("Angel not found."), true);
+function admin_arrive()
+{
+ $msg = "";
+ $search = "";
+ if (isset($_REQUEST['search'])) {
+ $search = strip_request_item('search');
}
- } elseif (isset($_REQUEST['arrived']) && preg_match("/^[0-9]*$/", $_REQUEST['arrived'])) {
- $user_id = $_REQUEST['arrived'];
- $user_source = User($user_id);
- if ($user_source != null) {
- sql_query("UPDATE `User` SET `Gekommen`=1, `arrival_date`='" . time() . "' WHERE `UID`='" . sql_escape($user_id) . "' LIMIT 1");
- engelsystem_log("User set has arrived: " . User_Nick_render($user_source));
- success(_("Angel has been marked as arrived."));
- redirect(user_link($user_source));
- } else {
- $msg = error(_("Angel not found."), true);
- }
- }
- $users = sql_select("SELECT * FROM `User` ORDER BY `Nick`");
- $arrival_count_at_day = [];
- $planned_arrival_count_at_day = [];
- $planned_departure_count_at_day = [];
- $users_matched = [];
- if ($search == "") {
- $tokens = [];
- } else {
- $tokens = explode(" ", $search);
- }
- foreach ($users as $usr) {
- if (count($tokens) > 0) {
- $match = false;
- $index = join(" ", $usr);
- foreach ($tokens as $t) {
- if (stristr($index, trim($t))) {
- $match = true;
- break;
+ if (isset($_REQUEST['reset']) && preg_match("/^[0-9]*$/", $_REQUEST['reset'])) {
+ $user_id = $_REQUEST['reset'];
+ $user_source = User($user_id);
+ if ($user_source != null) {
+ sql_query("UPDATE `User` SET `Gekommen`=0, `arrival_date` = NULL WHERE `UID`='" . sql_escape($user_id) . "' LIMIT 1");
+ engelsystem_log("User set to not arrived: " . User_Nick_render($user_source));
+ success(_("Reset done. Angel has not arrived."));
+ redirect(user_link($user_source));
+ } else {
+ $msg = error(_("Angel not found."), true);
+ }
+ } elseif (isset($_REQUEST['arrived']) && preg_match("/^[0-9]*$/", $_REQUEST['arrived'])) {
+ $user_id = $_REQUEST['arrived'];
+ $user_source = User($user_id);
+ if ($user_source != null) {
+ sql_query("UPDATE `User` SET `Gekommen`=1, `arrival_date`='" . time() . "' WHERE `UID`='" . sql_escape($user_id) . "' LIMIT 1");
+ engelsystem_log("User set has arrived: " . User_Nick_render($user_source));
+ success(_("Angel has been marked as arrived."));
+ redirect(user_link($user_source));
+ } else {
+ $msg = error(_("Angel not found."), true);
}
- }
- if (! $match) {
- continue;
- }
}
-
- $usr['nick'] = User_Nick_render($usr);
- if ($usr['planned_departure_date'] != null) {
- $usr['rendered_planned_departure_date'] = date('Y-m-d', $usr['planned_departure_date']);
+
+ $users = sql_select("SELECT * FROM `User` ORDER BY `Nick`");
+ $arrival_count_at_day = [];
+ $planned_arrival_count_at_day = [];
+ $planned_departure_count_at_day = [];
+ $users_matched = [];
+ if ($search == "") {
+ $tokens = [];
} else {
- $usr['rendered_planned_departure_date'] = '-';
+ $tokens = explode(" ", $search);
}
- $usr['rendered_planned_arrival_date'] = date('Y-m-d', $usr['planned_arrival_date']);
- $usr['rendered_arrival_date'] = $usr['arrival_date'] > 0 ? date('Y-m-d', $usr['arrival_date']) : "-";
- $usr['arrived'] = $usr['Gekommen'] == 1 ? _("yes") : "";
- $usr['actions'] = $usr['Gekommen'] == 1 ? '<a href="' . page_link_to('admin_arrive') . '&reset=' . $usr['UID'] . '&search=' . $search . '">' . _("reset") . '</a>' : '<a href="' . page_link_to('admin_arrive') . '&arrived=' . $usr['UID'] . '&search=' . $search . '">' . _("arrived") . '</a>';
+ foreach ($users as $usr) {
+ if (count($tokens) > 0) {
+ $match = false;
+ $index = join(" ", $usr);
+ foreach ($tokens as $t) {
+ if (stristr($index, trim($t))) {
+ $match = true;
+ break;
+ }
+ }
+ if (! $match) {
+ continue;
+ }
+ }
- if ($usr['arrival_date'] > 0) {
- $day = date('Y-m-d', $usr['arrival_date']);
- if (! isset($arrival_count_at_day[$day])) {
- $arrival_count_at_day[$day] = 0;
- }
- $arrival_count_at_day[$day] ++;
- }
+ $usr['nick'] = User_Nick_render($usr);
+ if ($usr['planned_departure_date'] != null) {
+ $usr['rendered_planned_departure_date'] = date('Y-m-d', $usr['planned_departure_date']);
+ } else {
+ $usr['rendered_planned_departure_date'] = '-';
+ }
+ $usr['rendered_planned_arrival_date'] = date('Y-m-d', $usr['planned_arrival_date']);
+ $usr['rendered_arrival_date'] = $usr['arrival_date'] > 0 ? date('Y-m-d', $usr['arrival_date']) : "-";
+ $usr['arrived'] = $usr['Gekommen'] == 1 ? _("yes") : "";
+ $usr['actions'] = $usr['Gekommen'] == 1 ? '<a href="' . page_link_to('admin_arrive') . '&reset=' . $usr['UID'] . '&search=' . $search . '">' . _("reset") . '</a>' : '<a href="' . page_link_to('admin_arrive') . '&arrived=' . $usr['UID'] . '&search=' . $search . '">' . _("arrived") . '</a>';
- if ($usr['planned_arrival_date'] != null) {
- $day = date('Y-m-d', $usr['planned_arrival_date']);
- if (! isset($planned_arrival_count_at_day[$day])) {
- $planned_arrival_count_at_day[$day] = 0;
- }
- $planned_arrival_count_at_day[$day] ++;
- }
+ if ($usr['arrival_date'] > 0) {
+ $day = date('Y-m-d', $usr['arrival_date']);
+ if (! isset($arrival_count_at_day[$day])) {
+ $arrival_count_at_day[$day] = 0;
+ }
+ $arrival_count_at_day[$day] ++;
+ }
- if ($usr['planned_departure_date'] != null && $usr['Gekommen'] == 1) {
- $day = date('Y-m-d', $usr['planned_departure_date']);
- if (! isset($planned_departure_count_at_day[$day])) {
- $planned_departure_count_at_day[$day] = 0;
- }
- $planned_departure_count_at_day[$day] ++;
- }
+ if ($usr['planned_arrival_date'] != null) {
+ $day = date('Y-m-d', $usr['planned_arrival_date']);
+ if (! isset($planned_arrival_count_at_day[$day])) {
+ $planned_arrival_count_at_day[$day] = 0;
+ }
+ $planned_arrival_count_at_day[$day] ++;
+ }
+
+ if ($usr['planned_departure_date'] != null && $usr['Gekommen'] == 1) {
+ $day = date('Y-m-d', $usr['planned_departure_date']);
+ if (! isset($planned_departure_count_at_day[$day])) {
+ $planned_departure_count_at_day[$day] = 0;
+ }
+ $planned_departure_count_at_day[$day] ++;
+ }
- $users_matched[] = $usr;
- }
+ $users_matched[] = $usr;
+ }
- ksort($arrival_count_at_day);
- ksort($planned_arrival_count_at_day);
- ksort($planned_departure_count_at_day);
+ ksort($arrival_count_at_day);
+ ksort($planned_arrival_count_at_day);
+ ksort($planned_departure_count_at_day);
- $arrival_at_day = [];
- $arrival_sum = 0;
- foreach ($arrival_count_at_day as $day => $count) {
- $arrival_sum += $count;
- $arrival_at_day[$day] = [
+ $arrival_at_day = [];
+ $arrival_sum = 0;
+ foreach ($arrival_count_at_day as $day => $count) {
+ $arrival_sum += $count;
+ $arrival_at_day[$day] = [
'day' => $day,
'count' => $count,
- 'sum' => $arrival_sum
+ 'sum' => $arrival_sum
];
- }
+ }
- $planned_arrival_at_day = [];
- $planned_arrival_sum = 0;
- foreach ($planned_arrival_count_at_day as $day => $count) {
- $planned_arrival_sum += $count;
- $planned_arrival_at_day[$day] = [
+ $planned_arrival_at_day = [];
+ $planned_arrival_sum = 0;
+ foreach ($planned_arrival_count_at_day as $day => $count) {
+ $planned_arrival_sum += $count;
+ $planned_arrival_at_day[$day] = [
'day' => $day,
'count' => $count,
- 'sum' => $planned_arrival_sum
+ 'sum' => $planned_arrival_sum
];
- }
+ }
- $planned_departure_at_day = [];
- $planned_departure_sum = 0;
- foreach ($planned_departure_count_at_day as $day => $count) {
- $planned_departure_sum += $count;
- $planned_departure_at_day[$day] = [
+ $planned_departure_at_day = [];
+ $planned_departure_sum = 0;
+ foreach ($planned_departure_count_at_day as $day => $count) {
+ $planned_departure_sum += $count;
+ $planned_departure_at_day[$day] = [
'day' => $day,
'count' => $count,
- 'sum' => $planned_departure_sum
+ 'sum' => $planned_departure_sum
];
- }
+ }
- return page_with_title(admin_arrive_title(), [
+ return page_with_title(admin_arrive_title(), [
msg(),
form([
form_text('search', _("Search"), $search),
- form_submit('submit', _("Search"))
+ form_submit('submit', _("Search"))
]),
table([
'nick' => _("Nickname"),
@@ -147,55 +149,54 @@ function admin_arrive() {
'arrived' => _("Arrived?"),
'rendered_arrival_date' => _("Arrival date"),
'rendered_planned_departure_date' => _("Planned departure"),
- 'actions' => ""
+ 'actions' => ""
], $users_matched),
div('row', [
div('col-md-4', [
heading(_("Planned arrival statistics"), 2),
bargraph('planned_arrives', 'day', [
'count' => _("arrived"),
- 'sum' => _("arrived sum")
+ 'sum' => _("arrived sum")
], [
'count' => '#090',
- 'sum' => '#888'
+ 'sum' => '#888'
], $planned_arrival_at_day),
table([
'day' => _("Date"),
'count' => _("Count"),
- 'sum' => _("Sum")
- ], $planned_arrival_at_day)
+ 'sum' => _("Sum")
+ ], $planned_arrival_at_day)
]),
div('col-md-4', [
heading(_("Arrival statistics"), 2),
bargraph('arrives', 'day', [
'count' => _("arrived"),
- 'sum' => _("arrived sum")
+ 'sum' => _("arrived sum")
], [
'count' => '#090',
- 'sum' => '#888'
+ 'sum' => '#888'
], $arrival_at_day),
table([
'day' => _("Date"),
'count' => _("Count"),
- 'sum' => _("Sum")
- ], $arrival_at_day)
+ 'sum' => _("Sum")
+ ], $arrival_at_day)
]),
div('col-md-4', [
heading(_("Planned departure statistics"), 2),
bargraph('planned_departures', 'day', [
'count' => _("arrived"),
- 'sum' => _("arrived sum")
+ 'sum' => _("arrived sum")
], [
'count' => '#090',
- 'sum' => '#888'
+ 'sum' => '#888'
], $planned_departure_at_day),
table([
'day' => _("Date"),
'count' => _("Count"),
- 'sum' => _("Sum")
- ], $planned_departure_at_day)
- ])
- ])
+ 'sum' => _("Sum")
+ ], $planned_departure_at_day)
+ ])
+ ])
]);
}
-?>
diff --git a/includes/pages/admin_free.php b/includes/pages/admin_free.php
index 427de61a..db0c239f 100644
--- a/includes/pages/admin_free.php
+++ b/includes/pages/admin_free.php
@@ -1,37 +1,39 @@
<?php
-function admin_free_title() {
- return _("Free angels");
+function admin_free_title()
+{
+ return _("Free angels");
}
-function admin_free() {
- global $privileges;
+function admin_free()
+{
+ global $privileges;
- $search = "";
- if (isset($_REQUEST['search'])) {
- $search = strip_request_item('search');
- }
+ $search = "";
+ if (isset($_REQUEST['search'])) {
+ $search = strip_request_item('search');
+ }
- $angeltypesearch = "";
- if (empty($_REQUEST['angeltype'])) {
- $_REQUEST['angeltype'] = '';
- } else {
- $angeltypesearch = " INNER JOIN `UserAngelTypes` ON (`UserAngelTypes`.`angeltype_id` = '" . sql_escape($_REQUEST['angeltype']) . "' AND `UserAngelTypes`.`user_id` = `User`.`UID`";
- if (isset($_REQUEST['confirmed_only'])) {
- $angeltypesearch .= " AND `UserAngelTypes`.`confirm_user_id`";
+ $angeltypesearch = "";
+ if (empty($_REQUEST['angeltype'])) {
+ $_REQUEST['angeltype'] = '';
+ } else {
+ $angeltypesearch = " INNER JOIN `UserAngelTypes` ON (`UserAngelTypes`.`angeltype_id` = '" . sql_escape($_REQUEST['angeltype']) . "' AND `UserAngelTypes`.`user_id` = `User`.`UID`";
+ if (isset($_REQUEST['confirmed_only'])) {
+ $angeltypesearch .= " AND `UserAngelTypes`.`confirm_user_id`";
+ }
+ $angeltypesearch .= ") ";
}
- $angeltypesearch .= ") ";
- }
- $angel_types_source = sql_select("SELECT `id`, `name` FROM `AngelTypes` ORDER BY `name`");
- $angel_types = [
- '' => 'alle Typen'
+ $angel_types_source = sql_select("SELECT `id`, `name` FROM `AngelTypes` ORDER BY `name`");
+ $angel_types = [
+ '' => 'alle Typen'
];
- foreach ($angel_types_source as $angel_type) {
- $angel_types[$angel_type['id']] = $angel_type['name'];
- }
+ foreach ($angel_types_source as $angel_type) {
+ $angel_types[$angel_type['id']] = $angel_type['name'];
+ }
- $users = sql_select("
+ $users = sql_select("
SELECT `User`.*
FROM `User`
${angeltypesearch}
@@ -41,52 +43,52 @@ function admin_free() {
GROUP BY `User`.`UID`
ORDER BY `Nick`");
- $free_users_table = [];
- if ($search == "") {
- $tokens = [];
- } else {
- $tokens = explode(" ", $search);
- }
- foreach ($users as $usr) {
- if (count($tokens) > 0) {
- $match = false;
- $index = join("", $usr);
- foreach ($tokens as $t) {
- if (stristr($index, trim($t))) {
- $match = true;
- break;
- }
- }
- if (! $match) {
- continue;
- }
+ $free_users_table = [];
+ if ($search == "") {
+ $tokens = [];
+ } else {
+ $tokens = explode(" ", $search);
}
+ foreach ($users as $usr) {
+ if (count($tokens) > 0) {
+ $match = false;
+ $index = join("", $usr);
+ foreach ($tokens as $t) {
+ if (stristr($index, trim($t))) {
+ $match = true;
+ break;
+ }
+ }
+ if (! $match) {
+ continue;
+ }
+ }
- $free_users_table[] = [
+ $free_users_table[] = [
'name' => User_Nick_render($usr),
'shift_state' => User_shift_state_render($usr),
'dect' => $usr['DECT'],
'jabber' => $usr['jabber'],
'email' => $usr['email_by_human_allowed'] ? $usr['email'] : glyph('eye-close'),
- 'actions' => in_array('admin_user', $privileges) ? button(page_link_to('admin_user') . '&amp;id=' . $usr['UID'], _("edit"), 'btn-xs') : ''
+ 'actions' => in_array('admin_user', $privileges) ? button(page_link_to('admin_user') . '&amp;id=' . $usr['UID'], _("edit"), 'btn-xs') : ''
];
- }
- return page_with_title(admin_free_title(), [
+ }
+ return page_with_title(admin_free_title(), [
form([
div('row', [
div('col-md-4', [
- form_text('search', _("Search"), $search)
+ form_text('search', _("Search"), $search)
]),
div('col-md-4', [
- form_select('angeltype', _("Angeltype"), $angel_types, $_REQUEST['angeltype'])
+ form_select('angeltype', _("Angeltype"), $angel_types, $_REQUEST['angeltype'])
]),
div('col-md-2', [
- form_checkbox('confirmed_only', _("Only confirmed"), isset($_REQUEST['confirmed_only']))
+ form_checkbox('confirmed_only', _("Only confirmed"), isset($_REQUEST['confirmed_only']))
]),
div('col-md-2', [
- form_submit('submit', _("Search"))
- ])
- ])
+ form_submit('submit', _("Search"))
+ ])
+ ])
]),
table([
'name' => _("Nick"),
@@ -94,8 +96,7 @@ function admin_free() {
'dect' => _("DECT"),
'jabber' => _("Jabber"),
'email' => _("E-Mail"),
- 'actions' => ''
- ], $free_users_table)
+ 'actions' => ''
+ ], $free_users_table)
]);
}
-?>
diff --git a/includes/pages/admin_groups.php b/includes/pages/admin_groups.php
index 388e2c68..04e4320d 100644
--- a/includes/pages/admin_groups.php
+++ b/includes/pages/admin_groups.php
@@ -1,97 +1,98 @@
<?php
-function admin_groups_title() {
- return _("Grouprights");
+function admin_groups_title()
+{
+ return _("Grouprights");
}
-function admin_groups() {
- $html = "";
- $groups = sql_select("SELECT * FROM `Groups` ORDER BY `Name`");
- if (! isset($_REQUEST["action"])) {
- $groups_table = [];
- foreach ($groups as $group) {
- $privileges = sql_select("SELECT * FROM `GroupPrivileges` JOIN `Privileges` ON (`GroupPrivileges`.`privilege_id` = `Privileges`.`id`) WHERE `group_id`='" . sql_escape($group['UID']) . "'");
- $privileges_html = [];
+function admin_groups()
+{
+ $html = "";
+ $groups = sql_select("SELECT * FROM `Groups` ORDER BY `Name`");
+ if (! isset($_REQUEST["action"])) {
+ $groups_table = [];
+ foreach ($groups as $group) {
+ $privileges = sql_select("SELECT * FROM `GroupPrivileges` JOIN `Privileges` ON (`GroupPrivileges`.`privilege_id` = `Privileges`.`id`) WHERE `group_id`='" . sql_escape($group['UID']) . "'");
+ $privileges_html = [];
- foreach ($privileges as $priv) {
- $privileges_html[] = $priv['name'];
- }
+ foreach ($privileges as $priv) {
+ $privileges_html[] = $priv['name'];
+ }
- $groups_table[] = [
+ $groups_table[] = [
'name' => $group['Name'],
'privileges' => join(', ', $privileges_html),
- 'actions' => button(page_link_to('admin_groups') . '&action=edit&id=' . $group['UID'], _("edit"), 'btn-xs')
+ 'actions' => button(page_link_to('admin_groups') . '&action=edit&id=' . $group['UID'], _("edit"), 'btn-xs')
];
- }
+ }
- return page_with_title(admin_groups_title(), [
+ return page_with_title(admin_groups_title(), [
table([
'name' => _("Name"),
'privileges' => _("Privileges"),
- 'actions' => ''
- ], $groups_table)
+ 'actions' => ''
+ ], $groups_table)
]);
- } else {
- switch ($_REQUEST["action"]) {
+ } else {
+ switch ($_REQUEST["action"]) {
case 'edit':
if (isset($_REQUEST['id']) && preg_match("/^-[0-9]{1,11}$/", $_REQUEST['id'])) {
- $group_id = $_REQUEST['id'];
+ $group_id = $_REQUEST['id'];
} else {
- return error("Incomplete call, missing Groups ID.", true);
+ return error("Incomplete call, missing Groups ID.", true);
}
$group = sql_select("SELECT * FROM `Groups` WHERE `UID`='" . sql_escape($group_id) . "' LIMIT 1");
if (count($group) > 0) {
- list($group) = $group;
- $privileges = sql_select("SELECT `Privileges`.*, `GroupPrivileges`.`group_id` FROM `Privileges` LEFT OUTER JOIN `GroupPrivileges` ON (`Privileges`.`id` = `GroupPrivileges`.`privilege_id` AND `GroupPrivileges`.`group_id`='" . sql_escape($group_id) . "') ORDER BY `Privileges`.`name`");
- $privileges_html = "";
- $privileges_form = [];
- foreach ($privileges as $priv) {
- $privileges_form[] = form_checkbox('privileges[]', $priv['desc'] . ' (' . $priv['name'] . ')', $priv['group_id'] != "", $priv['id']);
- $privileges_html .= sprintf('<tr><td><input type="checkbox" ' . 'name="privileges[]" value="%s" %s />' . '</td> <td>%s</td> <td>%s</td></tr>', $priv['id'], ($priv['group_id'] != "" ? 'checked="checked"' : ''), $priv['name'], $priv['desc']);
- }
+ list($group) = $group;
+ $privileges = sql_select("SELECT `Privileges`.*, `GroupPrivileges`.`group_id` FROM `Privileges` LEFT OUTER JOIN `GroupPrivileges` ON (`Privileges`.`id` = `GroupPrivileges`.`privilege_id` AND `GroupPrivileges`.`group_id`='" . sql_escape($group_id) . "') ORDER BY `Privileges`.`name`");
+ $privileges_html = "";
+ $privileges_form = [];
+ foreach ($privileges as $priv) {
+ $privileges_form[] = form_checkbox('privileges[]', $priv['desc'] . ' (' . $priv['name'] . ')', $priv['group_id'] != "", $priv['id']);
+ $privileges_html .= sprintf('<tr><td><input type="checkbox" ' . 'name="privileges[]" value="%s" %s />' . '</td> <td>%s</td> <td>%s</td></tr>', $priv['id'], ($priv['group_id'] != "" ? 'checked="checked"' : ''), $priv['name'], $priv['desc']);
+ }
- $privileges_form[] = form_submit('submit', _("Save"));
- $html .= page_with_title(_("Edit group"), [
- form($privileges_form, page_link_to('admin_groups') . '&action=save&id=' . $group_id)
+ $privileges_form[] = form_submit('submit', _("Save"));
+ $html .= page_with_title(_("Edit group"), [
+ form($privileges_form, page_link_to('admin_groups') . '&action=save&id=' . $group_id)
]);
} else {
- return error("No Group found.", true);
+ return error("No Group found.", true);
}
break;
case 'save':
if (isset($_REQUEST['id']) && preg_match("/^-[0-9]{1,11}$/", $_REQUEST['id'])) {
- $group_id = $_REQUEST['id'];
+ $group_id = $_REQUEST['id'];
} else {
- return error("Incomplete call, missing Groups ID.", true);
+ return error("Incomplete call, missing Groups ID.", true);
}
$group = sql_select("SELECT * FROM `Groups` WHERE `UID`='" . sql_escape($group_id) . "' LIMIT 1");
if (! is_array($_REQUEST['privileges'])) {
- $_REQUEST['privileges'] = [];
+ $_REQUEST['privileges'] = [];
}
if (count($group) > 0) {
- list($group) = $group;
- sql_query("DELETE FROM `GroupPrivileges` WHERE `group_id`='" . sql_escape($group_id) . "'");
- $privilege_names = [];
- foreach ($_REQUEST['privileges'] as $priv) {
- if (preg_match("/^[0-9]{1,}$/", $priv)) {
- $group_privileges_source = sql_select("SELECT * FROM `Privileges` WHERE `id`='" . sql_escape($priv) . "' LIMIT 1");
- if (count($group_privileges_source) > 0) {
- sql_query("INSERT INTO `GroupPrivileges` SET `group_id`='" . sql_escape($group_id) . "', `privilege_id`='" . sql_escape($priv) . "'");
- $privilege_names[] = $group_privileges_source[0]['name'];
- }
+ list($group) = $group;
+ sql_query("DELETE FROM `GroupPrivileges` WHERE `group_id`='" . sql_escape($group_id) . "'");
+ $privilege_names = [];
+ foreach ($_REQUEST['privileges'] as $priv) {
+ if (preg_match("/^[0-9]{1,}$/", $priv)) {
+ $group_privileges_source = sql_select("SELECT * FROM `Privileges` WHERE `id`='" . sql_escape($priv) . "' LIMIT 1");
+ if (count($group_privileges_source) > 0) {
+ sql_query("INSERT INTO `GroupPrivileges` SET `group_id`='" . sql_escape($group_id) . "', `privilege_id`='" . sql_escape($priv) . "'");
+ $privilege_names[] = $group_privileges_source[0]['name'];
+ }
+ }
}
- }
- engelsystem_log("Group privileges of group " . $group['Name'] . " edited: " . join(", ", $privilege_names));
- redirect(page_link_to("admin_groups"));
+ engelsystem_log("Group privileges of group " . $group['Name'] . " edited: " . join(", ", $privilege_names));
+ redirect(page_link_to("admin_groups"));
} else {
- return error("No Group found.", true);
+ return error("No Group found.", true);
}
break;
}
- }
- return $html;
+ }
+ return $html;
}
-?>
diff --git a/includes/pages/admin_import.php b/includes/pages/admin_import.php
index 0669029d..e1674670 100644
--- a/includes/pages/admin_import.php
+++ b/includes/pages/admin_import.php
@@ -1,96 +1,98 @@
<?php
-function admin_import_title() {
- return _("Frab import");
+function admin_import_title()
+{
+ return _("Frab import");
}
-function admin_import() {
- global $rooms_import;
- global $user;
- $html = "";
- $import_dir = __DIR__ . '/../../import';
+function admin_import()
+{
+ global $rooms_import;
+ global $user;
+ $html = "";
+ $import_dir = __DIR__ . '/../../import';
- $step = "input";
- if (isset($_REQUEST['step']) && in_array($step, [
+ $step = "input";
+ if (isset($_REQUEST['step']) && in_array($step, [
'input',
'check',
- 'import'
+ 'import'
])) {
- $step = $_REQUEST['step'];
- }
+ $step = $_REQUEST['step'];
+ }
- if ($test_handle = @fopen($import_dir . '/tmp', 'w')) {
- fclose($test_handle);
- @unlink($import_dir . '/tmp');
- } else {
- error(_('Webserver has no write-permission on import directory.'));
- }
+ if ($test_handle = @fopen($import_dir . '/tmp', 'w')) {
+ fclose($test_handle);
+ @unlink($import_dir . '/tmp');
+ } else {
+ error(_('Webserver has no write-permission on import directory.'));
+ }
- $import_file = $import_dir . '/import_' . $user['UID'] . '.xml';
- $shifttype_id = null;
- $add_minutes_start = 15;
- $add_minutes_end = 15;
+ $import_file = $import_dir . '/import_' . $user['UID'] . '.xml';
+ $shifttype_id = null;
+ $add_minutes_start = 15;
+ $add_minutes_end = 15;
- $shifttypes_source = ShiftTypes();
- if ($shifttypes_source === false) {
- engelsystem_error('Unable to load shifttypes.');
- }
- $shifttypes = [];
- foreach ($shifttypes_source as $shifttype) {
- $shifttypes[$shifttype['id']] = $shifttype['name'];
- }
+ $shifttypes_source = ShiftTypes();
+ if ($shifttypes_source === false) {
+ engelsystem_error('Unable to load shifttypes.');
+ }
+ $shifttypes = [];
+ foreach ($shifttypes_source as $shifttype) {
+ $shifttypes[$shifttype['id']] = $shifttype['name'];
+ }
- switch ($step) {
+ switch ($step) {
case 'input':
$valid = false;
if (isset($_REQUEST['submit'])) {
- $valid = true;
-
- if (isset($_REQUEST['shifttype_id']) && isset($shifttypes[$_REQUEST['shifttype_id']])) {
- $shifttype_id = $_REQUEST['shifttype_id'];
- } else {
- $valid = false;
- error(_('Please select a shift type.'));
- }
+ $valid = true;
- if (isset($_REQUEST['add_minutes_start']) && is_numeric(trim($_REQUEST['add_minutes_start']))) {
- $add_minutes_start = trim($_REQUEST['add_minutes_start']);
- } else {
- $valid = false;
- error(_("Please enter an amount of minutes to add to a talk's begin."));
- }
+ if (isset($_REQUEST['shifttype_id']) && isset($shifttypes[$_REQUEST['shifttype_id']])) {
+ $shifttype_id = $_REQUEST['shifttype_id'];
+ } else {
+ $valid = false;
+ error(_('Please select a shift type.'));
+ }
- if (isset($_REQUEST['add_minutes_end']) && is_numeric(trim($_REQUEST['add_minutes_end']))) {
- $add_minutes_end = trim($_REQUEST['add_minutes_end']);
- } else {
- $valid = false;
- error(_("Please enter an amount of minutes to add to a talk's end."));
- }
+ if (isset($_REQUEST['add_minutes_start']) && is_numeric(trim($_REQUEST['add_minutes_start']))) {
+ $add_minutes_start = trim($_REQUEST['add_minutes_start']);
+ } else {
+ $valid = false;
+ error(_("Please enter an amount of minutes to add to a talk's begin."));
+ }
- if (isset($_FILES['xcal_file']) && ($_FILES['xcal_file']['error'] == 0)) {
- if (move_uploaded_file($_FILES['xcal_file']['tmp_name'], $import_file)) {
- libxml_use_internal_errors(true);
- if (simplexml_load_file($import_file) === false) {
+ if (isset($_REQUEST['add_minutes_end']) && is_numeric(trim($_REQUEST['add_minutes_end']))) {
+ $add_minutes_end = trim($_REQUEST['add_minutes_end']);
+ } else {
$valid = false;
- error(_('No valid xml/xcal file provided.'));
- unlink($import_file);
- }
+ error(_("Please enter an amount of minutes to add to a talk's end."));
+ }
+
+ if (isset($_FILES['xcal_file']) && ($_FILES['xcal_file']['error'] == 0)) {
+ if (move_uploaded_file($_FILES['xcal_file']['tmp_name'], $import_file)) {
+ libxml_use_internal_errors(true);
+ if (simplexml_load_file($import_file) === false) {
+ $valid = false;
+ error(_('No valid xml/xcal file provided.'));
+ unlink($import_file);
+ }
+ } else {
+ $valid = false;
+ error(_('File upload went wrong.'));
+ }
} else {
- $valid = false;
- error(_('File upload went wrong.'));
+ $valid = false;
+ error(_('Please provide some data.'));
}
- } else {
- $valid = false;
- error(_('Please provide some data.'));
- }
}
if ($valid) {
- redirect(page_link_to('admin_import') . "&step=check&shifttype_id=" . $shifttype_id . "&add_minutes_end=" . $add_minutes_end . "&add_minutes_start=" . $add_minutes_start);
+ redirect(page_link_to('admin_import') . "&step=check&shifttype_id=" . $shifttype_id . "&add_minutes_end=" . $add_minutes_end . "&add_minutes_start=" . $add_minutes_start);
} else {
- $html .= div('well well-sm text-center', [
- _('File Upload') . mute(glyph('arrow-right')) . mute(_('Validation')) . mute(glyph('arrow-right')) . mute(_('Import'))
+ $html .= div('well well-sm text-center', [
+ _('File Upload') . mute(glyph('arrow-right')) . mute(_('Validation')) . mute(glyph('arrow-right')) . mute(_('Import'))
]) . div('row', [
div('col-md-offset-3 col-md-6', [
form([
@@ -99,55 +101,55 @@ function admin_import() {
form_spinner('add_minutes_start', _("Add minutes to start"), $add_minutes_start),
form_spinner('add_minutes_end', _("Add minutes to end"), $add_minutes_end),
form_file('xcal_file', _("xcal-File (.xcal)")),
- form_submit('submit', _("Import"))
- ])
- ])
+ form_submit('submit', _("Import"))
+ ])
+ ])
]);
}
break;
case 'check':
if (! file_exists($import_file)) {
- error(_('Missing import file.'));
- redirect(page_link_to('admin_import'));
+ error(_('Missing import file.'));
+ redirect(page_link_to('admin_import'));
}
if (isset($_REQUEST['shifttype_id']) && isset($shifttypes[$_REQUEST['shifttype_id']])) {
- $shifttype_id = $_REQUEST['shifttype_id'];
+ $shifttype_id = $_REQUEST['shifttype_id'];
} else {
- error(_('Please select a shift type.'));
- redirect(page_link_to('admin_import'));
+ error(_('Please select a shift type.'));
+ redirect(page_link_to('admin_import'));
}
if (isset($_REQUEST['add_minutes_start']) && is_numeric(trim($_REQUEST['add_minutes_start']))) {
- $add_minutes_start = trim($_REQUEST['add_minutes_start']);
+ $add_minutes_start = trim($_REQUEST['add_minutes_start']);
} else {
- error(_("Please enter an amount of minutes to add to a talk's begin."));
- redirect(page_link_to('admin_import'));
+ error(_("Please enter an amount of minutes to add to a talk's begin."));
+ redirect(page_link_to('admin_import'));
}
if (isset($_REQUEST['add_minutes_end']) && is_numeric(trim($_REQUEST['add_minutes_end']))) {
- $add_minutes_end = trim($_REQUEST['add_minutes_end']);
+ $add_minutes_end = trim($_REQUEST['add_minutes_end']);
} else {
- error(_("Please enter an amount of minutes to add to a talk's end."));
- redirect(page_link_to('admin_import'));
+ error(_("Please enter an amount of minutes to add to a talk's end."));
+ redirect(page_link_to('admin_import'));
}
list($rooms_new, $rooms_deleted) = prepare_rooms($import_file);
list($events_new, $events_updated, $events_deleted) = prepare_events($import_file, $shifttype_id, $add_minutes_start, $add_minutes_end);
$html .= div('well well-sm text-center', [
- '<span class="text-success">' . _('File Upload') . glyph('ok-circle') . '</span>' . mute(glyph('arrow-right')) . _('Validation') . mute(glyph('arrow-right')) . mute(_('Import'))
+ '<span class="text-success">' . _('File Upload') . glyph('ok-circle') . '</span>' . mute(glyph('arrow-right')) . _('Validation') . mute(glyph('arrow-right')) . mute(_('Import'))
]) . form([
div('row', [
div('col-sm-6', [
'<h3>' . _("Rooms to create") . '</h3>',
- table(_("Name"), $rooms_new)
+ table(_("Name"), $rooms_new)
]),
div('col-sm-6', [
'<h3>' . _("Rooms to delete") . '</h3>',
- table(_("Name"), $rooms_deleted)
- ])
+ table(_("Name"), $rooms_deleted)
+ ])
]),
'<h3>' . _("Shifts to create") . '</h3>',
table([
@@ -156,7 +158,7 @@ function admin_import() {
'end' => _("End"),
'shifttype' => _('Shift type'),
'title' => _("Title"),
- 'room' => _("Room")
+ 'room' => _("Room")
], shifts_printable($events_new, $shifttypes)),
'<h3>' . _("Shifts to update") . '</h3>',
table([
@@ -165,7 +167,7 @@ function admin_import() {
'end' => _("End"),
'shifttype' => _('Shift type'),
'title' => _("Title"),
- 'room' => _("Room")
+ 'room' => _("Room")
], shifts_printable($events_updated, $shifttypes)),
'<h3>' . _("Shifts to delete") . '</h3>',
table([
@@ -174,75 +176,75 @@ function admin_import() {
'end' => _("End"),
'shifttype' => _('Shift type'),
'title' => _("Title"),
- 'room' => _("Room")
+ 'room' => _("Room")
], shifts_printable($events_deleted, $shifttypes)),
- form_submit('submit', _("Import"))
+ form_submit('submit', _("Import"))
], page_link_to('admin_import') . '&step=import&shifttype_id=' . $shifttype_id . "&add_minutes_end=" . $add_minutes_end . "&add_minutes_start=" . $add_minutes_start);
break;
case 'import':
if (! file_exists($import_file)) {
- error(_('Missing import file.'));
- redirect(page_link_to('admin_import'));
+ error(_('Missing import file.'));
+ redirect(page_link_to('admin_import'));
}
if (! file_exists($import_file)) {
- redirect(page_link_to('admin_import'));
+ redirect(page_link_to('admin_import'));
}
if (isset($_REQUEST['shifttype_id']) && isset($shifttypes[$_REQUEST['shifttype_id']])) {
- $shifttype_id = $_REQUEST['shifttype_id'];
+ $shifttype_id = $_REQUEST['shifttype_id'];
} else {
- error(_('Please select a shift type.'));
- redirect(page_link_to('admin_import'));
+ error(_('Please select a shift type.'));
+ redirect(page_link_to('admin_import'));
}
if (isset($_REQUEST['add_minutes_start']) && is_numeric(trim($_REQUEST['add_minutes_start']))) {
- $add_minutes_start = trim($_REQUEST['add_minutes_start']);
+ $add_minutes_start = trim($_REQUEST['add_minutes_start']);
} else {
- error(_("Please enter an amount of minutes to add to a talk's begin."));
- redirect(page_link_to('admin_import'));
+ error(_("Please enter an amount of minutes to add to a talk's begin."));
+ redirect(page_link_to('admin_import'));
}
if (isset($_REQUEST['add_minutes_end']) && is_numeric(trim($_REQUEST['add_minutes_end']))) {
- $add_minutes_end = trim($_REQUEST['add_minutes_end']);
+ $add_minutes_end = trim($_REQUEST['add_minutes_end']);
} else {
- error(_("Please enter an amount of minutes to add to a talk's end."));
- redirect(page_link_to('admin_import'));
+ error(_("Please enter an amount of minutes to add to a talk's end."));
+ redirect(page_link_to('admin_import'));
}
list($rooms_new, $rooms_deleted) = prepare_rooms($import_file);
foreach ($rooms_new as $room) {
- $result = Room_create($room, true, true);
- if ($result === false) {
- engelsystem_error('Unable to create room.');
- }
- $rooms_import[trim($room)] = sql_id();
+ $result = Room_create($room, true, true);
+ if ($result === false) {
+ engelsystem_error('Unable to create room.');
+ }
+ $rooms_import[trim($room)] = sql_id();
}
foreach ($rooms_deleted as $room) {
- sql_query("DELETE FROM `Room` WHERE `Name`='" . sql_escape($room) . "' LIMIT 1");
+ sql_query("DELETE FROM `Room` WHERE `Name`='" . sql_escape($room) . "' LIMIT 1");
}
list($events_new, $events_updated, $events_deleted) = prepare_events($import_file, $shifttype_id, $add_minutes_start, $add_minutes_end);
foreach ($events_new as $event) {
- $result = Shift_create($event);
- if ($result === false) {
- engelsystem_error('Unable to create shift.');
- }
+ $result = Shift_create($event);
+ if ($result === false) {
+ engelsystem_error('Unable to create shift.');
+ }
}
foreach ($events_updated as $event) {
- $result = Shift_update_by_psid($event);
- if ($result === false) {
- engelsystem_error('Unable to update shift.');
- }
+ $result = Shift_update_by_psid($event);
+ if ($result === false) {
+ engelsystem_error('Unable to update shift.');
+ }
}
foreach ($events_deleted as $event) {
- $result = Shift_delete_by_psid($event['PSID']);
- if ($result === false) {
- engelsystem_error('Unable to delete shift.');
- }
+ $result = Shift_delete_by_psid($event['PSID']);
+ if ($result === false) {
+ engelsystem_error('Unable to delete shift.');
+ }
}
engelsystem_log("Frab import done");
@@ -250,143 +252,147 @@ function admin_import() {
unlink($import_file);
$html .= div('well well-sm text-center', [
- '<span class="text-success">' . _('File Upload') . glyph('ok-circle') . '</span>' . mute(glyph('arrow-right')) . '<span class="text-success">' . _('Validation') . glyph('ok-circle') . '</span>' . mute(glyph('arrow-right')) . '<span class="text-success">' . _('Import') . glyph('ok-circle') . '</span>'
+ '<span class="text-success">' . _('File Upload') . glyph('ok-circle') . '</span>' . mute(glyph('arrow-right')) . '<span class="text-success">' . _('Validation') . glyph('ok-circle') . '</span>' . mute(glyph('arrow-right')) . '<span class="text-success">' . _('Import') . glyph('ok-circle') . '</span>'
]) . success(_("It's done!"), true);
break;
default:
redirect(page_link_to('admin_import'));
}
- return page_with_title(admin_import_title(), [
+ return page_with_title(admin_import_title(), [
msg(),
- $html
+ $html
]);
}
-function prepare_rooms($file) {
- global $rooms_import;
- $data = read_xml($file);
+function prepare_rooms($file)
+{
+ global $rooms_import;
+ $data = read_xml($file);
// Load rooms from db for compare with input
$rooms = sql_select("SELECT * FROM `Room` WHERE `FromPentabarf`='Y'");
- $rooms_db = [];
- $rooms_import = [];
- foreach ($rooms as $room) {
- $rooms_db[] = (string) $room['Name'];
- $rooms_import[$room['Name']] = $room['RID'];
- }
+ $rooms_db = [];
+ $rooms_import = [];
+ foreach ($rooms as $room) {
+ $rooms_db[] = (string) $room['Name'];
+ $rooms_import[$room['Name']] = $room['RID'];
+ }
- $events = $data->vcalendar->vevent;
- $rooms_pb = [];
- foreach ($events as $event) {
- $rooms_pb[] = (string) $event->location;
- if (! isset($rooms_import[trim($event->location)])) {
- $rooms_import[trim($event->location)] = trim($event->location);
+ $events = $data->vcalendar->vevent;
+ $rooms_pb = [];
+ foreach ($events as $event) {
+ $rooms_pb[] = (string) $event->location;
+ if (! isset($rooms_import[trim($event->location)])) {
+ $rooms_import[trim($event->location)] = trim($event->location);
+ }
}
- }
- $rooms_pb = array_unique($rooms_pb);
+ $rooms_pb = array_unique($rooms_pb);
- $rooms_new = array_diff($rooms_pb, $rooms_db);
- $rooms_deleted = array_diff($rooms_db, $rooms_pb);
+ $rooms_new = array_diff($rooms_pb, $rooms_db);
+ $rooms_deleted = array_diff($rooms_db, $rooms_pb);
- return [
+ return [
$rooms_new,
- $rooms_deleted
+ $rooms_deleted
];
}
-function prepare_events($file, $shifttype_id, $add_minutes_start, $add_minutes_end) {
- global $rooms_import;
- $data = read_xml($file);
+function prepare_events($file, $shifttype_id, $add_minutes_start, $add_minutes_end)
+{
+ global $rooms_import;
+ $data = read_xml($file);
- $rooms = sql_select("SELECT * FROM `Room`");
- $rooms_db = [];
- foreach ($rooms as $room) {
- $rooms_db[$room['Name']] = $room['RID'];
- }
+ $rooms = sql_select("SELECT * FROM `Room`");
+ $rooms_db = [];
+ foreach ($rooms as $room) {
+ $rooms_db[$room['Name']] = $room['RID'];
+ }
- $events = $data->vcalendar->vevent;
- $shifts_pb = [];
- foreach ($events as $event) {
- $event_pb = $event->children("http://pentabarf.org");
- $event_id = trim($event_pb->{
+ $events = $data->vcalendar->vevent;
+ $shifts_pb = [];
+ foreach ($events as $event) {
+ $event_pb = $event->children("http://pentabarf.org");
+ $event_id = trim($event_pb->{
'event-id' });
- $shifts_pb[$event_id] = [
+ $shifts_pb[$event_id] = [
'shifttype_id' => $shifttype_id,
'start' => parse_date("Ymd\THis", $event->dtstart) - $add_minutes_start * 60,
'end' => parse_date("Ymd\THis", $event->dtend) + $add_minutes_end * 60,
'RID' => $rooms_import[trim($event->location)],
'title' => trim($event->summary),
'URL' => trim($event->url),
- 'PSID' => $event_id
+ 'PSID' => $event_id
];
- }
+ }
- $shifts = sql_select("SELECT * FROM `Shifts` WHERE `PSID` IS NOT NULL ORDER BY `start`");
- $shifts_db = [];
- foreach ($shifts as $shift) {
- $shifts_db[$shift['PSID']] = $shift;
- }
+ $shifts = sql_select("SELECT * FROM `Shifts` WHERE `PSID` IS NOT NULL ORDER BY `start`");
+ $shifts_db = [];
+ foreach ($shifts as $shift) {
+ $shifts_db[$shift['PSID']] = $shift;
+ }
- $shifts_new = [];
- $shifts_updated = [];
- foreach ($shifts_pb as $shift) {
- if (! isset($shifts_db[$shift['PSID']])) {
- $shifts_new[] = $shift;
- } else {
- $tmp = $shifts_db[$shift['PSID']];
- if ($shift['shifttype_id'] != $tmp['shifttype_id'] || $shift['title'] != $tmp['title'] || $shift['start'] != $tmp['start'] || $shift['end'] != $tmp['end'] || $shift['RID'] != $tmp['RID'] || $shift['URL'] != $tmp['URL']) {
- $shifts_updated[] = $shift;
- }
+ $shifts_new = [];
+ $shifts_updated = [];
+ foreach ($shifts_pb as $shift) {
+ if (! isset($shifts_db[$shift['PSID']])) {
+ $shifts_new[] = $shift;
+ } else {
+ $tmp = $shifts_db[$shift['PSID']];
+ if ($shift['shifttype_id'] != $tmp['shifttype_id'] || $shift['title'] != $tmp['title'] || $shift['start'] != $tmp['start'] || $shift['end'] != $tmp['end'] || $shift['RID'] != $tmp['RID'] || $shift['URL'] != $tmp['URL']) {
+ $shifts_updated[] = $shift;
+ }
+ }
}
- }
- $shifts_deleted = [];
- foreach ($shifts_db as $shift) {
- if (! isset($shifts_pb[$shift['PSID']])) {
- $shifts_deleted[] = $shift;
+ $shifts_deleted = [];
+ foreach ($shifts_db as $shift) {
+ if (! isset($shifts_pb[$shift['PSID']])) {
+ $shifts_deleted[] = $shift;
+ }
}
- }
- return [
+ return [
$shifts_new,
$shifts_updated,
- $shifts_deleted
+ $shifts_deleted
];
}
-function read_xml($file) {
- global $xml_import;
- if (! isset($xml_import)) {
- $xml_import = simplexml_load_file($file);
- }
- return $xml_import;
+function read_xml($file)
+{
+ global $xml_import;
+ if (! isset($xml_import)) {
+ $xml_import = simplexml_load_file($file);
+ }
+ return $xml_import;
}
-function shifts_printable($shifts, $shifttypes) {
- global $rooms_import;
- $rooms = array_flip($rooms_import);
+function shifts_printable($shifts, $shifttypes)
+{
+ global $rooms_import;
+ $rooms = array_flip($rooms_import);
- uasort($shifts, 'shift_sort');
+ uasort($shifts, 'shift_sort');
- $shifts_printable = [];
- foreach ($shifts as $shift) {
- $shifts_printable[] = [
+ $shifts_printable = [];
+ foreach ($shifts as $shift) {
+ $shifts_printable[] = [
'day' => date("l, Y-m-d", $shift['start']),
'start' => date("H:i", $shift['start']),
'shifttype' => ShiftType_name_render([
'id' => $shift['shifttype_id'],
- 'name' => $shifttypes[$shift['shifttype_id']]
+ 'name' => $shifttypes[$shift['shifttype_id']]
]),
'title' => shorten($shift['title']),
'end' => date("H:i", $shift['end']),
- 'room' => $rooms[$shift['RID']]
+ 'room' => $rooms[$shift['RID']]
];
- }
- return $shifts_printable;
+ }
+ return $shifts_printable;
}
-function shift_sort($shift_a, $shift_b) {
- return ($shift_a['start'] < $shift_b['start']) ? - 1 : 1;
+function shift_sort($shift_a, $shift_b)
+{
+ return ($shift_a['start'] < $shift_b['start']) ? - 1 : 1;
}
-?>
diff --git a/includes/pages/admin_log.php b/includes/pages/admin_log.php
index 97b81585..d4548c07 100644
--- a/includes/pages/admin_log.php
+++ b/includes/pages/admin_log.php
@@ -1,33 +1,34 @@
<?php
-function admin_log_title() {
- return _("Log");
+function admin_log_title()
+{
+ return _("Log");
}
-function admin_log() {
- $filter = "";
- if (isset($_REQUEST['keyword'])) {
- $filter = strip_request_item('keyword');
- }
- $log_entries_source = LogEntries_filter($filter);
+function admin_log()
+{
+ $filter = "";
+ if (isset($_REQUEST['keyword'])) {
+ $filter = strip_request_item('keyword');
+ }
+ $log_entries_source = LogEntries_filter($filter);
- $log_entries = [];
- foreach ($log_entries_source as $log_entry) {
- $log_entry['date'] = date("d.m.Y H:i", $log_entry['timestamp']);
- $log_entries[] = $log_entry;
- }
+ $log_entries = [];
+ foreach ($log_entries_source as $log_entry) {
+ $log_entry['date'] = date("d.m.Y H:i", $log_entry['timestamp']);
+ $log_entries[] = $log_entry;
+ }
- return page_with_title(admin_log_title(), [
+ return page_with_title(admin_log_title(), [
msg(),
form([
form_text('keyword', _("Search"), $filter),
- form_submit(_("Search"), "Go")
+ form_submit(_("Search"), "Go")
]),
table([
'date' => "Time",
'nick' => "Angel",
- 'message' => "Log Entry"
- ], $log_entries)
+ 'message' => "Log Entry"
+ ], $log_entries)
]);
}
-?>
diff --git a/includes/pages/admin_news.php b/includes/pages/admin_news.php
index 789fc728..46d72ddd 100644
--- a/includes/pages/admin_news.php
+++ b/includes/pages/admin_news.php
@@ -1,24 +1,25 @@
<?php
-function admin_news() {
- global $user;
+function admin_news()
+{
+ global $user;
- if (! isset($_GET["action"])) {
- redirect(page_link_to("news"));
- }
+ if (! isset($_GET["action"])) {
+ redirect(page_link_to("news"));
+ }
- $html = '<div class="col-md-12"><h1>' . _("Edit news entry") . '</h1>' . msg();
- if (isset($_REQUEST['id']) && preg_match("/^[0-9]{1,11}$/", $_REQUEST['id'])) {
- $news_id = $_REQUEST['id'];
- } else {
- return error("Incomplete call, missing News ID.", true);
- }
+ $html = '<div class="col-md-12"><h1>' . _("Edit news entry") . '</h1>' . msg();
+ if (isset($_REQUEST['id']) && preg_match("/^[0-9]{1,11}$/", $_REQUEST['id'])) {
+ $news_id = $_REQUEST['id'];
+ } else {
+ return error("Incomplete call, missing News ID.", true);
+ }
- $news = sql_select("SELECT * FROM `News` WHERE `ID`='" . sql_escape($news_id) . "' LIMIT 1");
- if (empty($news)) {
- return error("No News found.", true);
- }
- switch ($_REQUEST["action"]) {
+ $news = sql_select("SELECT * FROM `News` WHERE `ID`='" . sql_escape($news_id) . "' LIMIT 1");
+ if (empty($news)) {
+ return error("No News found.", true);
+ }
+ switch ($_REQUEST["action"]) {
default:
redirect(page_link_to('news'));
case 'edit':
@@ -32,7 +33,7 @@ function admin_news() {
form_text('eBetreff', _("Subject"), $news['Betreff']),
form_textarea('eText', _("Message"), $news['Text']),
form_checkbox('eTreffen', _("Meeting"), $news['Treffen'] == 1, 1),
- form_submit('submit', _("Save"))
+ form_submit('submit', _("Save"))
], page_link_to('admin_news&action=save&id=' . $news_id));
$html .= '<a class="btn btn-danger" href="' . page_link_to('admin_news&action=delete&id=' . $news_id) . '"><span class="glyphicon glyphicon-trash"></span> ' . _("Delete") . '</a>';
@@ -62,6 +63,5 @@ function admin_news() {
redirect(page_link_to("news"));
break;
}
- return $html . '</div>';
+ return $html . '</div>';
}
-?> \ No newline at end of file
diff --git a/includes/pages/admin_questions.php b/includes/pages/admin_questions.php
index f53cfab9..e8a2e50d 100644
--- a/includes/pages/admin_questions.php
+++ b/includes/pages/admin_questions.php
@@ -1,69 +1,72 @@
<?php
-function admin_questions_title() {
- return _("Answer questions");
+function admin_questions_title()
+{
+ return _("Answer questions");
}
/**
* Renders a hint for new questions to answer.
*/
-function admin_new_questions() {
- global $privileges, $page;
+function admin_new_questions()
+{
+ global $privileges, $page;
- if ($page != "admin_questions") {
- if (in_array("admin_questions", $privileges)) {
- $new_messages = sql_num_query("SELECT * FROM `Questions` WHERE `AID` IS NULL");
+ if ($page != "admin_questions") {
+ if (in_array("admin_questions", $privileges)) {
+ $new_messages = sql_num_query("SELECT * FROM `Questions` WHERE `AID` IS NULL");
- if ($new_messages > 0) {
- return '<a href="' . page_link_to("admin_questions") . '">' . _('There are unanswered questions!') . '</a>';
- }
+ if ($new_messages > 0) {
+ return '<a href="' . page_link_to("admin_questions") . '">' . _('There are unanswered questions!') . '</a>';
+ }
+ }
}
- }
- return null;
+ return null;
}
-function admin_questions() {
- global $user;
+function admin_questions()
+{
+ global $user;
- if (! isset($_REQUEST['action'])) {
- $unanswered_questions_table = [];
- $questions = sql_select("SELECT * FROM `Questions` WHERE `AID` IS NULL");
- foreach ($questions as $question) {
- $user_source = User($question['UID']);
+ if (! isset($_REQUEST['action'])) {
+ $unanswered_questions_table = [];
+ $questions = sql_select("SELECT * FROM `Questions` WHERE `AID` IS NULL");
+ foreach ($questions as $question) {
+ $user_source = User($question['UID']);
- $unanswered_questions_table[] = [
+ $unanswered_questions_table[] = [
'from' => User_Nick_render($user_source),
'question' => str_replace("\n", "<br />", $question['Question']),
'answer' => form([
form_textarea('answer', '', ''),
- form_submit('submit', _("Save"))
+ form_submit('submit', _("Save"))
], page_link_to('admin_questions') . '&action=answer&id=' . $question['QID']),
- 'actions' => button(page_link_to("admin_questions") . '&action=delete&id=' . $question['QID'], _("delete"), 'btn-xs')
+ 'actions' => button(page_link_to("admin_questions") . '&action=delete&id=' . $question['QID'], _("delete"), 'btn-xs')
];
- }
+ }
- $answered_questions_table = [];
- $questions = sql_select("SELECT * FROM `Questions` WHERE NOT `AID` IS NULL");
- foreach ($questions as $question) {
- $user_source = User($question['UID']);
- $answer_user_source = User($question['AID']);
- $answered_questions_table[] = [
+ $answered_questions_table = [];
+ $questions = sql_select("SELECT * FROM `Questions` WHERE NOT `AID` IS NULL");
+ foreach ($questions as $question) {
+ $user_source = User($question['UID']);
+ $answer_user_source = User($question['AID']);
+ $answered_questions_table[] = [
'from' => User_Nick_render($user_source),
'question' => str_replace("\n", "<br />", $question['Question']),
'answered_by' => User_Nick_render($answer_user_source),
'answer' => str_replace("\n", "<br />", $question['Answer']),
- 'actions' => button(page_link_to("admin_questions") . '&action=delete&id=' . $question['QID'], _("delete"), 'btn-xs')
+ 'actions' => button(page_link_to("admin_questions") . '&action=delete&id=' . $question['QID'], _("delete"), 'btn-xs')
];
- }
+ }
- return page_with_title(admin_questions_title(), [
+ return page_with_title(admin_questions_title(), [
'<h2>' . _("Unanswered questions") . '</h2>',
table([
'from' => _("From"),
'question' => _("Question"),
'answer' => _("Answer"),
- 'actions' => ''
+ 'actions' => ''
], $unanswered_questions_table),
'<h2>' . _("Answered questions") . '</h2>',
table([
@@ -71,50 +74,49 @@ function admin_questions() {
'question' => _("Question"),
'answered_by' => _("Answered by"),
'answer' => _("Answer"),
- 'actions' => ''
- ], $answered_questions_table)
+ 'actions' => ''
+ ], $answered_questions_table)
]);
- } else {
- switch ($_REQUEST['action']) {
+ } else {
+ switch ($_REQUEST['action']) {
case 'answer':
if (isset($_REQUEST['id']) && preg_match("/^[0-9]{1,11}$/", $_REQUEST['id'])) {
- $question_id = $_REQUEST['id'];
+ $question_id = $_REQUEST['id'];
} else {
- return error("Incomplete call, missing Question ID.", true);
+ return error("Incomplete call, missing Question ID.", true);
}
$question = sql_select("SELECT * FROM `Questions` WHERE `QID`='" . sql_escape($question_id) . "' LIMIT 1");
if (count($question) > 0 && $question[0]['AID'] == null) {
- $answer = trim(preg_replace("/([^\p{L}\p{P}\p{Z}\p{N}\n]{1,})/ui", '', strip_tags($_REQUEST['answer'])));
+ $answer = trim(preg_replace("/([^\p{L}\p{P}\p{Z}\p{N}\n]{1,})/ui", '', strip_tags($_REQUEST['answer'])));
- if ($answer != "") {
- sql_query("UPDATE `Questions` SET `AID`='" . sql_escape($user['UID']) . "', `Answer`='" . sql_escape($answer) . "' WHERE `QID`='" . sql_escape($question_id) . "' LIMIT 1");
- engelsystem_log("Question " . $question[0]['Question'] . " answered: " . $answer);
- redirect(page_link_to("admin_questions"));
- } else {
- return error("Enter an answer!", true);
- }
+ if ($answer != "") {
+ sql_query("UPDATE `Questions` SET `AID`='" . sql_escape($user['UID']) . "', `Answer`='" . sql_escape($answer) . "' WHERE `QID`='" . sql_escape($question_id) . "' LIMIT 1");
+ engelsystem_log("Question " . $question[0]['Question'] . " answered: " . $answer);
+ redirect(page_link_to("admin_questions"));
+ } else {
+ return error("Enter an answer!", true);
+ }
} else {
- return error("No question found.", true);
+ return error("No question found.", true);
}
break;
case 'delete':
if (isset($_REQUEST['id']) && preg_match("/^[0-9]{1,11}$/", $_REQUEST['id'])) {
- $question_id = $_REQUEST['id'];
+ $question_id = $_REQUEST['id'];
} else {
- return error("Incomplete call, missing Question ID.", true);
+ return error("Incomplete call, missing Question ID.", true);
}
$question = sql_select("SELECT * FROM `Questions` WHERE `QID`='" . sql_escape($question_id) . "' LIMIT 1");
if (count($question) > 0) {
- sql_query("DELETE FROM `Questions` WHERE `QID`='" . sql_escape($question_id) . "' LIMIT 1");
- engelsystem_log("Question deleted: " . $question[0]['Question']);
- redirect(page_link_to("admin_questions"));
+ sql_query("DELETE FROM `Questions` WHERE `QID`='" . sql_escape($question_id) . "' LIMIT 1");
+ engelsystem_log("Question deleted: " . $question[0]['Question']);
+ redirect(page_link_to("admin_questions"));
} else {
- return error("No question found.", true);
+ return error("No question found.", true);
}
break;
}
- }
+ }
}
-?>
diff --git a/includes/pages/admin_rooms.php b/includes/pages/admin_rooms.php
index 129ed423..365c2f69 100644
--- a/includes/pages/admin_rooms.php
+++ b/includes/pages/admin_rooms.php
@@ -1,140 +1,142 @@
<?php
-function admin_rooms_title() {
- return _("Rooms");
+function admin_rooms_title()
+{
+ return _("Rooms");
}
-function admin_rooms() {
- $rooms_source = sql_select("SELECT * FROM `Room` ORDER BY `Name`");
- $rooms = [];
- foreach ($rooms_source as $room) {
- $rooms[] = [
+function admin_rooms()
+{
+ $rooms_source = sql_select("SELECT * FROM `Room` ORDER BY `Name`");
+ $rooms = [];
+ foreach ($rooms_source as $room) {
+ $rooms[] = [
'name' => Room_name_render($room),
'from_pentabarf' => $room['FromPentabarf'] == 'Y' ? '&#10003;' : '',
'public' => $room['show'] == 'Y' ? '&#10003;' : '',
'actions' => table_buttons([
button(page_link_to('admin_rooms') . '&show=edit&id=' . $room['RID'], _("edit"), 'btn-xs'),
- button(page_link_to('admin_rooms') . '&show=delete&id=' . $room['RID'], _("delete"), 'btn-xs')
- ])
+ button(page_link_to('admin_rooms') . '&show=delete&id=' . $room['RID'], _("delete"), 'btn-xs')
+ ])
];
- }
- $room = null;
+ }
+ $room = null;
- if (isset($_REQUEST['show'])) {
- $msg = "";
- $name = "";
- $from_pentabarf = "";
- $public = 'Y';
- $number = "";
+ if (isset($_REQUEST['show'])) {
+ $msg = "";
+ $name = "";
+ $from_pentabarf = "";
+ $public = 'Y';
+ $number = "";
- $angeltypes_source = sql_select("SELECT * FROM `AngelTypes` ORDER BY `name`");
- $angeltypes = [];
- $angeltypes_count = [];
- foreach ($angeltypes_source as $angeltype) {
- $angeltypes[$angeltype['id']] = $angeltype['name'];
- $angeltypes_count[$angeltype['id']] = 0;
- }
+ $angeltypes_source = sql_select("SELECT * FROM `AngelTypes` ORDER BY `name`");
+ $angeltypes = [];
+ $angeltypes_count = [];
+ foreach ($angeltypes_source as $angeltype) {
+ $angeltypes[$angeltype['id']] = $angeltype['name'];
+ $angeltypes_count[$angeltype['id']] = 0;
+ }
- if (test_request_int('id')) {
- $room = Room($_REQUEST['id']);
- if ($room === false) {
- engelsystem_error("Unable to load room.");
- }
- if ($room == null) {
- redirect(page_link_to('admin_rooms'));
- }
+ if (test_request_int('id')) {
+ $room = Room($_REQUEST['id']);
+ if ($room === false) {
+ engelsystem_error("Unable to load room.");
+ }
+ if ($room == null) {
+ redirect(page_link_to('admin_rooms'));
+ }
- $room_id = $_REQUEST['id'];
- $name = $room['Name'];
- $from_pentabarf = $room['FromPentabarf'];
- $public = $room['show'];
- $number = $room['Number'];
+ $room_id = $_REQUEST['id'];
+ $name = $room['Name'];
+ $from_pentabarf = $room['FromPentabarf'];
+ $public = $room['show'];
+ $number = $room['Number'];
- $needed_angeltypes = sql_select("SELECT * FROM `NeededAngelTypes` WHERE `room_id`='" . sql_escape($room_id) . "'");
- foreach ($needed_angeltypes as $needed_angeltype) {
- $angeltypes_count[$needed_angeltype['angel_type_id']] = $needed_angeltype['count'];
- }
- }
+ $needed_angeltypes = sql_select("SELECT * FROM `NeededAngelTypes` WHERE `room_id`='" . sql_escape($room_id) . "'");
+ foreach ($needed_angeltypes as $needed_angeltype) {
+ $angeltypes_count[$needed_angeltype['angel_type_id']] = $needed_angeltype['count'];
+ }
+ }
- if ($_REQUEST['show'] == 'edit') {
- if (isset($_REQUEST['submit'])) {
- $valid = true;
+ if ($_REQUEST['show'] == 'edit') {
+ if (isset($_REQUEST['submit'])) {
+ $valid = true;
- if (isset($_REQUEST['name']) && strlen(strip_request_item('name')) > 0) {
- $name = strip_request_item('name');
- if (isset($room) && sql_num_query("SELECT * FROM `Room` WHERE `Name`='" . sql_escape($name) . "' AND NOT `RID`=" . sql_escape($room_id)) > 0) {
- $valid = false;
- $msg .= error(_("This name is already in use."), true);
- }
- } else {
- $valid = false;
- $msg .= error(_("Please enter a name."), true);
- }
+ if (isset($_REQUEST['name']) && strlen(strip_request_item('name')) > 0) {
+ $name = strip_request_item('name');
+ if (isset($room) && sql_num_query("SELECT * FROM `Room` WHERE `Name`='" . sql_escape($name) . "' AND NOT `RID`=" . sql_escape($room_id)) > 0) {
+ $valid = false;
+ $msg .= error(_("This name is already in use."), true);
+ }
+ } else {
+ $valid = false;
+ $msg .= error(_("Please enter a name."), true);
+ }
- if (isset($_REQUEST['from_pentabarf'])) {
- $from_pentabarf = 'Y';
- } else {
- $from_pentabarf = '';
- }
+ if (isset($_REQUEST['from_pentabarf'])) {
+ $from_pentabarf = 'Y';
+ } else {
+ $from_pentabarf = '';
+ }
- if (isset($_REQUEST['public'])) {
- $public = 'Y';
- } else {
- $public = '';
- }
+ if (isset($_REQUEST['public'])) {
+ $public = 'Y';
+ } else {
+ $public = '';
+ }
- if (isset($_REQUEST['number'])) {
- $number = strip_request_item('number');
- } else {
- $valid = false;
- }
+ if (isset($_REQUEST['number'])) {
+ $number = strip_request_item('number');
+ } else {
+ $valid = false;
+ }
- foreach ($angeltypes as $angeltype_id => $angeltype) {
- if (isset($_REQUEST['angeltype_count_' . $angeltype_id]) && preg_match("/^[0-9]{1,4}$/", $_REQUEST['angeltype_count_' . $angeltype_id])) {
- $angeltypes_count[$angeltype_id] = $_REQUEST['angeltype_count_' . $angeltype_id];
- } else {
- $valid = false;
- $msg .= error(sprintf(_("Please enter needed angels for type %s.", $angeltype)), true);
- }
- }
+ foreach ($angeltypes as $angeltype_id => $angeltype) {
+ if (isset($_REQUEST['angeltype_count_' . $angeltype_id]) && preg_match("/^[0-9]{1,4}$/", $_REQUEST['angeltype_count_' . $angeltype_id])) {
+ $angeltypes_count[$angeltype_id] = $_REQUEST['angeltype_count_' . $angeltype_id];
+ } else {
+ $valid = false;
+ $msg .= error(sprintf(_("Please enter needed angels for type %s.", $angeltype)), true);
+ }
+ }
- if ($valid) {
- if (isset($room_id)) {
- sql_query("UPDATE `Room` SET `Name`='" . sql_escape($name) . "', `FromPentabarf`='" . sql_escape($from_pentabarf) . "', `show`='" . sql_escape($public) . "', `Number`='" . sql_escape($number) . "' WHERE `RID`='" . sql_escape($room_id) . "' LIMIT 1");
- engelsystem_log("Room updated: " . $name . ", pentabarf import: " . $from_pentabarf . ", public: " . $public . ", number: " . $number);
- } else {
- $room_id = Room_create($name, $from_pentabarf, $public, $number);
- if ($room_id === false) {
- engelsystem_error("Unable to create room.");
- }
- engelsystem_log("Room created: " . $name . ", pentabarf import: " . $from_pentabarf . ", public: " . $public . ", number: " . $number);
- }
+ if ($valid) {
+ if (isset($room_id)) {
+ sql_query("UPDATE `Room` SET `Name`='" . sql_escape($name) . "', `FromPentabarf`='" . sql_escape($from_pentabarf) . "', `show`='" . sql_escape($public) . "', `Number`='" . sql_escape($number) . "' WHERE `RID`='" . sql_escape($room_id) . "' LIMIT 1");
+ engelsystem_log("Room updated: " . $name . ", pentabarf import: " . $from_pentabarf . ", public: " . $public . ", number: " . $number);
+ } else {
+ $room_id = Room_create($name, $from_pentabarf, $public, $number);
+ if ($room_id === false) {
+ engelsystem_error("Unable to create room.");
+ }
+ engelsystem_log("Room created: " . $name . ", pentabarf import: " . $from_pentabarf . ", public: " . $public . ", number: " . $number);
+ }
- NeededAngelTypes_delete_by_room($room_id);
- $needed_angeltype_info = [];
- foreach ($angeltypes_count as $angeltype_id => $angeltype_count) {
- $angeltype = AngelType($angeltype_id);
- if ($angeltype != null) {
- NeededAngelType_add(null, $angeltype_id, $room_id, $angeltype_count);
- $needed_angeltype_info[] = $angeltype['name'] . ": " . $angeltype_count;
- }
- }
+ NeededAngelTypes_delete_by_room($room_id);
+ $needed_angeltype_info = [];
+ foreach ($angeltypes_count as $angeltype_id => $angeltype_count) {
+ $angeltype = AngelType($angeltype_id);
+ if ($angeltype != null) {
+ NeededAngelType_add(null, $angeltype_id, $room_id, $angeltype_count);
+ $needed_angeltype_info[] = $angeltype['name'] . ": " . $angeltype_count;
+ }
+ }
- engelsystem_log("Set needed angeltypes of room " . $name . " to: " . join(", ", $needed_angeltype_info));
- success(_("Room saved."));
- redirect(page_link_to("admin_rooms"));
- }
- }
- $angeltypes_count_form = [];
- foreach ($angeltypes as $angeltype_id => $angeltype) {
- $angeltypes_count_form[] = div('col-lg-4 col-md-6 col-xs-6', [
- form_spinner('angeltype_count_' . $angeltype_id, $angeltype, $angeltypes_count[$angeltype_id])
+ engelsystem_log("Set needed angeltypes of room " . $name . " to: " . join(", ", $needed_angeltype_info));
+ success(_("Room saved."));
+ redirect(page_link_to("admin_rooms"));
+ }
+ }
+ $angeltypes_count_form = [];
+ foreach ($angeltypes as $angeltype_id => $angeltype) {
+ $angeltypes_count_form[] = div('col-lg-4 col-md-6 col-xs-6', [
+ form_spinner('angeltype_count_' . $angeltype_id, $angeltype, $angeltypes_count[$angeltype_id])
]);
- }
+ }
- return page_with_title(admin_rooms_title(), [
+ return page_with_title(admin_rooms_title(), [
buttons([
- button(page_link_to('admin_rooms'), _("back"), 'back')
+ button(page_link_to('admin_rooms'), _("back"), 'back')
]),
$msg,
form([
@@ -143,54 +145,53 @@ function admin_rooms() {
form_text('name', _("Name"), $name),
form_checkbox('from_pentabarf', _("Frab import"), $from_pentabarf),
form_checkbox('public', _("Public"), $public),
- form_text('number', _("Room number"), $number)
+ form_text('number', _("Room number"), $number)
]),
div('col-md-6', [
div('row', [
div('col-md-12', [
- form_info(_("Needed angels:"))
+ form_info(_("Needed angels:"))
]),
- join($angeltypes_count_form)
- ])
- ])
+ join($angeltypes_count_form)
+ ])
+ ])
]),
- form_submit('submit', _("Save"))
- ])
+ form_submit('submit', _("Save"))
+ ])
]);
- } elseif ($_REQUEST['show'] == 'delete') {
- if (isset($_REQUEST['ack'])) {
- if (! Room_delete($room_id)) {
- engelsystem_error("Unable to delete room.");
- }
+ } elseif ($_REQUEST['show'] == 'delete') {
+ if (isset($_REQUEST['ack'])) {
+ if (! Room_delete($room_id)) {
+ engelsystem_error("Unable to delete room.");
+ }
- engelsystem_log("Room deleted: " . $name);
- success(sprintf(_("Room %s deleted."), $name));
- redirect(page_link_to('admin_rooms'));
- }
+ engelsystem_log("Room deleted: " . $name);
+ success(sprintf(_("Room %s deleted."), $name));
+ redirect(page_link_to('admin_rooms'));
+ }
- return page_with_title(admin_rooms_title(), [
+ return page_with_title(admin_rooms_title(), [
buttons([
- button(page_link_to('admin_rooms'), _("back"), 'back')
+ button(page_link_to('admin_rooms'), _("back"), 'back')
]),
sprintf(_("Do you want to delete room %s?"), $name),
buttons([
- button(page_link_to('admin_rooms') . '&show=delete&id=' . $room_id . '&ack', _("Delete"), 'delete')
- ])
+ button(page_link_to('admin_rooms') . '&show=delete&id=' . $room_id . '&ack', _("Delete"), 'delete')
+ ])
]);
+ }
}
- }
- return page_with_title(admin_rooms_title(), [
+ return page_with_title(admin_rooms_title(), [
buttons([
- button(page_link_to('admin_rooms') . '&show=edit', _("add"))
+ button(page_link_to('admin_rooms') . '&show=edit', _("add"))
]),
msg(),
table([
'name' => _("Name"),
'from_pentabarf' => _("Frab import"),
'public' => _("Public"),
- 'actions' => ""
- ], $rooms)
+ 'actions' => ""
+ ], $rooms)
]);
}
-?>
diff --git a/includes/pages/admin_shifts.php b/includes/pages/admin_shifts.php
index 42a8c682..79c9874a 100644
--- a/includes/pages/admin_shifts.php
+++ b/includes/pages/admin_shifts.php
@@ -1,257 +1,259 @@
<?php
-function admin_shifts_title() {
- return _("Create shifts");
+function admin_shifts_title()
+{
+ return _("Create shifts");
}
// Assistent zum Anlegen mehrerer neuer Schichten
-function admin_shifts() {
- $valid = true;
+function admin_shifts()
+{
+ $valid = true;
- $rid = 0;
- $start = parse_date("Y-m-d H:i", date("Y-m-d") . " 00:00");
- $end = $start;
- $mode = 'single';
- $angelmode = 'manually';
- $length = '';
- $change_hours = [];
- $title = "";
- $shifttype_id = null;
+ $rid = 0;
+ $start = parse_date("Y-m-d H:i", date("Y-m-d") . " 00:00");
+ $end = $start;
+ $mode = 'single';
+ $angelmode = 'manually';
+ $length = '';
+ $change_hours = [];
+ $title = "";
+ $shifttype_id = null;
// Locations laden (auch unsichtbare - fuer Erzengel ist das ok)
$rooms = sql_select("SELECT * FROM `Room` ORDER BY `Name`");
- $room_array = [];
- foreach ($rooms as $room) {
- $room_array[$room['RID']] = $room['Name'];
- }
+ $room_array = [];
+ foreach ($rooms as $room) {
+ $room_array[$room['RID']] = $room['Name'];
+ }
// Engeltypen laden
$types = sql_select("SELECT * FROM `AngelTypes` ORDER BY `name`");
- $needed_angel_types = [];
- foreach ($types as $type) {
- $needed_angel_types[$type['id']] = 0;
- }
+ $needed_angel_types = [];
+ foreach ($types as $type) {
+ $needed_angel_types[$type['id']] = 0;
+ }
// Load shift types
$shifttypes_source = ShiftTypes();
- if ($shifttypes_source === false) {
- engelsystem_error('Unable to load shift types.');
- }
- $shifttypes = [];
- foreach ($shifttypes_source as $shifttype) {
- $shifttypes[$shifttype['id']] = $shifttype['name'];
- }
-
- if (isset($_REQUEST['preview']) || isset($_REQUEST['back'])) {
- if (isset($_REQUEST['shifttype_id'])) {
- $shifttype = ShiftType($_REQUEST['shifttype_id']);
- if ($shifttype === false) {
- engelsystem_error('Unable to load shift type.');
- }
- if ($shifttype == null) {
- $valid = false;
- error(_('Please select a shift type.'));
- } else {
- $shifttype_id = $_REQUEST['shifttype_id'];
- }
- } else {
- $valid = false;
- error(_('Please select a shift type.'));
+ if ($shifttypes_source === false) {
+ engelsystem_error('Unable to load shift types.');
+ }
+ $shifttypes = [];
+ foreach ($shifttypes_source as $shifttype) {
+ $shifttypes[$shifttype['id']] = $shifttype['name'];
}
+
+ if (isset($_REQUEST['preview']) || isset($_REQUEST['back'])) {
+ if (isset($_REQUEST['shifttype_id'])) {
+ $shifttype = ShiftType($_REQUEST['shifttype_id']);
+ if ($shifttype === false) {
+ engelsystem_error('Unable to load shift type.');
+ }
+ if ($shifttype == null) {
+ $valid = false;
+ error(_('Please select a shift type.'));
+ } else {
+ $shifttype_id = $_REQUEST['shifttype_id'];
+ }
+ } else {
+ $valid = false;
+ error(_('Please select a shift type.'));
+ }
// Name/Bezeichnung der Schicht, darf leer sein
$title = strip_request_item('title');
// Auswahl der sichtbaren Locations für die Schichten
if (isset($_REQUEST['rid']) && preg_match("/^[0-9]+$/", $_REQUEST['rid']) && isset($room_array[$_REQUEST['rid']])) {
- $rid = $_REQUEST['rid'];
- } else {
- $valid = false;
- $rid = $rooms[0]['RID'];
- error(_('Please select a location.'));
- }
-
- if (isset($_REQUEST['start']) && $tmp = parse_date("Y-m-d H:i", $_REQUEST['start'])) {
- $start = $tmp;
- } else {
- $valid = false;
- error(_('Please select a start time.'));
- }
-
- if (isset($_REQUEST['end']) && $tmp = parse_date("Y-m-d H:i", $_REQUEST['end'])) {
- $end = $tmp;
+ $rid = $_REQUEST['rid'];
} else {
- $valid = false;
- error(_('Please select an end time.'));
- }
-
- if ($start >= $end) {
- $valid = false;
- error(_('The shifts end has to be after its start.'));
+ $valid = false;
+ $rid = $rooms[0]['RID'];
+ error(_('Please select a location.'));
}
- if (isset($_REQUEST['mode'])) {
- if ($_REQUEST['mode'] == 'single') {
- $mode = 'single';
- } elseif ($_REQUEST['mode'] == 'multi') {
- if (isset($_REQUEST['length']) && preg_match("/^[0-9]+$/", trim($_REQUEST['length']))) {
- $mode = 'multi';
- $length = trim($_REQUEST['length']);
+ if (isset($_REQUEST['start']) && $tmp = parse_date("Y-m-d H:i", $_REQUEST['start'])) {
+ $start = $tmp;
} else {
- $valid = false;
- error(_('Please enter a shift duration in minutes.'));
+ $valid = false;
+ error(_('Please select a start time.'));
}
- } elseif ($_REQUEST['mode'] == 'variable') {
- if (isset($_REQUEST['change_hours']) && preg_match("/^([0-9]{2}(,|$))/", trim(str_replace(" ", "", $_REQUEST['change_hours'])))) {
- $mode = 'variable';
- $change_hours = array_map('trim', explode(",", $_REQUEST['change_hours']));
+
+ if (isset($_REQUEST['end']) && $tmp = parse_date("Y-m-d H:i", $_REQUEST['end'])) {
+ $end = $tmp;
} else {
- $valid = false;
- error(_('Please split the shift-change hours by colons.'));
+ $valid = false;
+ error(_('Please select an end time.'));
}
- }
- } else {
- $valid = false;
- error(_('Please select a mode.'));
- }
- if (isset($_REQUEST['angelmode'])) {
- if ($_REQUEST['angelmode'] == 'location') {
- $angelmode = 'location';
- } elseif ($_REQUEST['angelmode'] == 'manually') {
- $angelmode = 'manually';
- foreach ($types as $type) {
- if (isset($_REQUEST['type_' . $type['id']]) && preg_match("/^[0-9]+$/", trim($_REQUEST['type_' . $type['id']]))) {
- $needed_angel_types[$type['id']] = trim($_REQUEST['type_' . $type['id']]);
- } else {
+ if ($start >= $end) {
$valid = false;
- error(sprintf(_('Please check the needed angels for team %s.'), $type['name']));
- }
+ error(_('The shifts end has to be after its start.'));
}
- if (array_sum($needed_angel_types) == 0) {
- $valid = false;
- error(_('There are 0 angels needed. Please enter the amounts of needed angels.'));
+
+ if (isset($_REQUEST['mode'])) {
+ if ($_REQUEST['mode'] == 'single') {
+ $mode = 'single';
+ } elseif ($_REQUEST['mode'] == 'multi') {
+ if (isset($_REQUEST['length']) && preg_match("/^[0-9]+$/", trim($_REQUEST['length']))) {
+ $mode = 'multi';
+ $length = trim($_REQUEST['length']);
+ } else {
+ $valid = false;
+ error(_('Please enter a shift duration in minutes.'));
+ }
+ } elseif ($_REQUEST['mode'] == 'variable') {
+ if (isset($_REQUEST['change_hours']) && preg_match("/^([0-9]{2}(,|$))/", trim(str_replace(" ", "", $_REQUEST['change_hours'])))) {
+ $mode = 'variable';
+ $change_hours = array_map('trim', explode(",", $_REQUEST['change_hours']));
+ } else {
+ $valid = false;
+ error(_('Please split the shift-change hours by colons.'));
+ }
+ }
+ } else {
+ $valid = false;
+ error(_('Please select a mode.'));
+ }
+
+ if (isset($_REQUEST['angelmode'])) {
+ if ($_REQUEST['angelmode'] == 'location') {
+ $angelmode = 'location';
+ } elseif ($_REQUEST['angelmode'] == 'manually') {
+ $angelmode = 'manually';
+ foreach ($types as $type) {
+ if (isset($_REQUEST['type_' . $type['id']]) && preg_match("/^[0-9]+$/", trim($_REQUEST['type_' . $type['id']]))) {
+ $needed_angel_types[$type['id']] = trim($_REQUEST['type_' . $type['id']]);
+ } else {
+ $valid = false;
+ error(sprintf(_('Please check the needed angels for team %s.'), $type['name']));
+ }
+ }
+ if (array_sum($needed_angel_types) == 0) {
+ $valid = false;
+ error(_('There are 0 angels needed. Please enter the amounts of needed angels.'));
+ }
+ } else {
+ $valid = false;
+ error(_('Please select a mode for needed angels.'));
+ }
+ } else {
+ $valid = false;
+ error(_('Please select needed angels.'));
}
- } else {
- $valid = false;
- error(_('Please select a mode for needed angels.'));
- }
- } else {
- $valid = false;
- error(_('Please select needed angels.'));
- }
// Beim Zurück-Knopf das Formular zeigen
if (isset($_REQUEST['back'])) {
- $valid = false;
+ $valid = false;
}
// Alle Eingaben in Ordnung
if ($valid) {
- if ($angelmode == 'location') {
- $needed_angel_types = [];
- $needed_angel_types_location = sql_select("SELECT * FROM `NeededAngelTypes` WHERE `room_id`='" . sql_escape($rid) . "'");
- foreach ($needed_angel_types_location as $type) {
- $needed_angel_types[$type['angel_type_id']] = $type['count'];
+ if ($angelmode == 'location') {
+ $needed_angel_types = [];
+ $needed_angel_types_location = sql_select("SELECT * FROM `NeededAngelTypes` WHERE `room_id`='" . sql_escape($rid) . "'");
+ foreach ($needed_angel_types_location as $type) {
+ $needed_angel_types[$type['angel_type_id']] = $type['count'];
+ }
}
- }
- $shifts = [];
- if ($mode == 'single') {
- $shifts[] = [
+ $shifts = [];
+ if ($mode == 'single') {
+ $shifts[] = [
'start' => $start,
'end' => $end,
'RID' => $rid,
'title' => $title,
- 'shifttype_id' => $shifttype_id
+ 'shifttype_id' => $shifttype_id
];
- } elseif ($mode == 'multi') {
- $shift_start = $start;
- do {
- $shift_end = $shift_start + $length * 60;
+ } elseif ($mode == 'multi') {
+ $shift_start = $start;
+ do {
+ $shift_end = $shift_start + $length * 60;
- if ($shift_end > $end) {
- $shift_end = $end;
- }
- if ($shift_start >= $shift_end) {
- break;
- }
+ if ($shift_end > $end) {
+ $shift_end = $end;
+ }
+ if ($shift_start >= $shift_end) {
+ break;
+ }
- $shifts[] = [
+ $shifts[] = [
'start' => $shift_start,
'end' => $shift_end,
'RID' => $rid,
'title' => $title,
- 'shifttype_id' => $shifttype_id
+ 'shifttype_id' => $shifttype_id
];
- $shift_start = $shift_end;
- } while ($shift_end < $end);
- } elseif ($mode == 'variable') {
- rsort($change_hours);
- $day = parse_date("Y-m-d H:i", date("Y-m-d", $start) . " 00:00");
- $change_index = 0;
+ $shift_start = $shift_end;
+ } while ($shift_end < $end);
+ } elseif ($mode == 'variable') {
+ rsort($change_hours);
+ $day = parse_date("Y-m-d H:i", date("Y-m-d", $start) . " 00:00");
+ $change_index = 0;
// Ersten/nächsten passenden Schichtwechsel suchen
foreach ($change_hours as $i => $change_hour) {
- if ($start < $day + $change_hour * 60 * 60) {
- $change_index = $i;
- } elseif ($start == $day + $change_hour * 60 * 60) {
- // Start trifft Schichtwechsel
+ if ($start < $day + $change_hour * 60 * 60) {
+ $change_index = $i;
+ } elseif ($start == $day + $change_hour * 60 * 60) {
+ // Start trifft Schichtwechsel
$change_index = ($i + count($change_hours) - 1) % count($change_hours);
- break;
- } else {
- break;
- }
+ break;
+ } else {
+ break;
+ }
}
- $shift_start = $start;
- do {
- $day = parse_date("Y-m-d H:i", date("Y-m-d", $shift_start) . " 00:00");
- $shift_end = $day + $change_hours[$change_index] * 60 * 60;
+ $shift_start = $start;
+ do {
+ $day = parse_date("Y-m-d H:i", date("Y-m-d", $shift_start) . " 00:00");
+ $shift_end = $day + $change_hours[$change_index] * 60 * 60;
- if ($shift_end > $end) {
- $shift_end = $end;
- }
- if ($shift_start >= $shift_end) {
- $shift_end += 24 * 60 * 60;
- }
+ if ($shift_end > $end) {
+ $shift_end = $end;
+ }
+ if ($shift_start >= $shift_end) {
+ $shift_end += 24 * 60 * 60;
+ }
- $shifts[] = [
+ $shifts[] = [
'start' => $shift_start,
'end' => $shift_end,
'RID' => $rid,
'title' => $title,
- 'shifttype_id' => $shifttype_id
+ 'shifttype_id' => $shifttype_id
];
- $shift_start = $shift_end;
- $change_index = ($change_index + count($change_hours) - 1) % count($change_hours);
- } while ($shift_end < $end);
- }
+ $shift_start = $shift_end;
+ $change_index = ($change_index + count($change_hours) - 1) % count($change_hours);
+ } while ($shift_end < $end);
+ }
- $shifts_table = [];
- foreach ($shifts as $shift) {
- $shifts_table_entry = [
+ $shifts_table = [];
+ foreach ($shifts as $shift) {
+ $shifts_table_entry = [
'timeslot' => '<span class="glyphicon glyphicon-time"></span> ' . date("Y-m-d H:i", $shift['start']) . ' - ' . date("H:i", $shift['end']) . '<br />' . Room_name_render(Room($shift['RID'])),
'title' => ShiftType_name_render(ShiftType($shifttype_id)) . ($shift['title'] ? '<br />' . $shift['title'] : ''),
- 'needed_angels' => ''
+ 'needed_angels' => ''
];
- foreach ($types as $type) {
- if (isset($needed_angel_types[$type['id']]) && $needed_angel_types[$type['id']] > 0) {
- $shifts_table_entry['needed_angels'] .= '<b>' . AngelType_name_render($type) . ':</b> ' . $needed_angel_types[$type['id']] . '<br />';
- }
+ foreach ($types as $type) {
+ if (isset($needed_angel_types[$type['id']]) && $needed_angel_types[$type['id']] > 0) {
+ $shifts_table_entry['needed_angels'] .= '<b>' . AngelType_name_render($type) . ':</b> ' . $needed_angel_types[$type['id']] . '<br />';
+ }
+ }
+ $shifts_table[] = $shifts_table_entry;
}
- $shifts_table[] = $shifts_table_entry;
- }
// Fürs Anlegen zwischenspeichern:
$_SESSION['admin_shifts_shifts'] = $shifts;
- $_SESSION['admin_shifts_types'] = $needed_angel_types;
+ $_SESSION['admin_shifts_types'] = $needed_angel_types;
- $hidden_types = "";
- foreach ($needed_angel_types as $type_id => $count) {
- $hidden_types .= form_hidden('type_' . $type_id, $count);
- }
- return page_with_title(_("Preview"), [
+ $hidden_types = "";
+ foreach ($needed_angel_types as $type_id => $count) {
+ $hidden_types .= form_hidden('type_' . $type_id, $count);
+ }
+ return page_with_title(_("Preview"), [
form([
$hidden_types,
form_hidden('shifttype_id', $shifttype_id),
@@ -267,53 +269,53 @@ function admin_shifts() {
table([
'timeslot' => _('Time and location'),
'title' => _('Type and title'),
- 'needed_angels' => _('Needed angels')
+ 'needed_angels' => _('Needed angels')
], $shifts_table),
- form_submit('submit', _("Save"))
- ])
+ form_submit('submit', _("Save"))
+ ])
]);
}
- } elseif (isset($_REQUEST['submit'])) {
- if (! is_array($_SESSION['admin_shifts_shifts']) || ! is_array($_SESSION['admin_shifts_types'])) {
- redirect(page_link_to('admin_shifts'));
- }
+ } elseif (isset($_REQUEST['submit'])) {
+ if (! is_array($_SESSION['admin_shifts_shifts']) || ! is_array($_SESSION['admin_shifts_types'])) {
+ redirect(page_link_to('admin_shifts'));
+ }
- foreach ($_SESSION['admin_shifts_shifts'] as $shift) {
- $shift['URL'] = null;
- $shift['PSID'] = null;
- $shift_id = Shift_create($shift);
- if ($shift_id === false) {
- engelsystem_error('Unable to create shift.');
- }
+ foreach ($_SESSION['admin_shifts_shifts'] as $shift) {
+ $shift['URL'] = null;
+ $shift['PSID'] = null;
+ $shift_id = Shift_create($shift);
+ if ($shift_id === false) {
+ engelsystem_error('Unable to create shift.');
+ }
- engelsystem_log("Shift created: " . $shifttypes[$shift['shifttype_id']] . " with title " . $shift['title'] . " from " . date("Y-m-d H:i", $shift['start']) . " to " . date("Y-m-d H:i", $shift['end']));
- $needed_angel_types_info = [];
- foreach ($_SESSION['admin_shifts_types'] as $type_id => $count) {
- $angel_type_source = sql_select("SELECT * FROM `AngelTypes` WHERE `id`='" . sql_escape($type_id) . "' LIMIT 1");
- if (count($angel_type_source) > 0) {
- sql_query("INSERT INTO `NeededAngelTypes` SET `shift_id`='" . sql_escape($shift_id) . "', `angel_type_id`='" . sql_escape($type_id) . "', `count`='" . sql_escape($count) . "'");
- $needed_angel_types_info[] = $angel_type_source[0]['name'] . ": " . $count;
+ engelsystem_log("Shift created: " . $shifttypes[$shift['shifttype_id']] . " with title " . $shift['title'] . " from " . date("Y-m-d H:i", $shift['start']) . " to " . date("Y-m-d H:i", $shift['end']));
+ $needed_angel_types_info = [];
+ foreach ($_SESSION['admin_shifts_types'] as $type_id => $count) {
+ $angel_type_source = sql_select("SELECT * FROM `AngelTypes` WHERE `id`='" . sql_escape($type_id) . "' LIMIT 1");
+ if (count($angel_type_source) > 0) {
+ sql_query("INSERT INTO `NeededAngelTypes` SET `shift_id`='" . sql_escape($shift_id) . "', `angel_type_id`='" . sql_escape($type_id) . "', `count`='" . sql_escape($count) . "'");
+ $needed_angel_types_info[] = $angel_type_source[0]['name'] . ": " . $count;
+ }
+ }
}
- }
- }
- engelsystem_log("Shift needs following angel types: " . join(", ", $needed_angel_types_info));
- success("Schichten angelegt.");
- redirect(page_link_to('admin_shifts'));
- } else {
- unset($_SESSION['admin_shifts_shifts']);
- unset($_SESSION['admin_shifts_types']);
- }
+ engelsystem_log("Shift needs following angel types: " . join(", ", $needed_angel_types_info));
+ success("Schichten angelegt.");
+ redirect(page_link_to('admin_shifts'));
+ } else {
+ unset($_SESSION['admin_shifts_shifts']);
+ unset($_SESSION['admin_shifts_types']);
+ }
- if (! isset($_REQUEST['rid'])) {
- $_REQUEST['rid'] = null;
- }
- $angel_types = "";
- foreach ($types as $type) {
- $angel_types .= '<div class="col-md-4">' . form_spinner('type_' . $type['id'], $type['name'], $needed_angel_types[$type['id']]) . '</div>';
- }
+ if (! isset($_REQUEST['rid'])) {
+ $_REQUEST['rid'] = null;
+ }
+ $angel_types = "";
+ foreach ($types as $type) {
+ $angel_types .= '<div class="col-md-4">' . form_spinner('type_' . $type['id'], $type['name'], $needed_angel_types[$type['id']]) . '</div>';
+ }
- return page_with_title(admin_shifts_title(), [
+ return page_with_title(admin_shifts_title(), [
msg(),
form([
form_select('shifttype_id', _('Shifttype'), $shifttypes, $shifttype_id),
@@ -328,19 +330,18 @@ function admin_shifts() {
form_radio('mode', _("Create multiple shifts"), $mode == 'multi', 'multi'),
form_text('length', _("Length"), ! empty($_REQUEST['length']) ? $_REQUEST['length'] : '120'),
form_radio('mode', _("Create multiple shifts with variable length"), $mode == 'variable', 'variable'),
- form_text('change_hours', _("Shift change hours"), ! empty($_REQUEST['change_hours']) ? $_REQUEST['change_hours'] : '00, 04, 08, 10, 12, 14, 16, 18, 20, 22')
+ form_text('change_hours', _("Shift change hours"), ! empty($_REQUEST['change_hours']) ? $_REQUEST['change_hours'] : '00, 04, 08, 10, 12, 14, 16, 18, 20, 22')
]),
div('col-md-6', [
form_info(_("Needed angels"), ''),
form_radio('angelmode', _("Take needed angels from room settings"), $angelmode == 'location', 'location'),
form_radio('angelmode', _("The following angels are needed"), $angelmode == 'manually', 'manually'),
div('row', [
- $angel_types
- ])
- ])
+ $angel_types
+ ])
+ ])
]),
- form_submit('preview', _("Preview"))
- ])
+ form_submit('preview', _("Preview"))
+ ])
]);
}
-?>
diff --git a/includes/pages/admin_user.php b/includes/pages/admin_user.php
index 737bd91f..e84e3089 100644
--- a/includes/pages/admin_user.php
+++ b/includes/pages/admin_user.php
@@ -1,169 +1,171 @@
<?php
-function admin_user_title() {
- return _("All Angels");
+function admin_user_title()
+{
+ return _("All Angels");
}
-function admin_user() {
- global $user, $privileges, $tshirt_sizes, $privileges;
+function admin_user()
+{
+ global $user, $privileges, $tshirt_sizes, $privileges;
- $html = '';
+ $html = '';
- if (! isset($_REQUEST['id'])) {
- redirect(users_link());
- }
-
- $user_id = $_REQUEST['id'];
- if (! isset($_REQUEST['action'])) {
- $user_source = User($user_id);
- if ($user_source == null) {
- error(_('This user does not exist.'));
- redirect(users_link());
+ if (! isset($_REQUEST['id'])) {
+ redirect(users_link());
}
+
+ $user_id = $_REQUEST['id'];
+ if (! isset($_REQUEST['action'])) {
+ $user_source = User($user_id);
+ if ($user_source == null) {
+ error(_('This user does not exist.'));
+ redirect(users_link());
+ }
- $html .= "Hallo,<br />" . "hier kannst du den Eintrag &auml;ndern. Unter dem Punkt 'Gekommen' " . "wird der Engel als anwesend markiert, ein Ja bei Aktiv bedeutet, " . "dass der Engel aktiv war und damit ein Anspruch auf ein T-Shirt hat. " . "Wenn T-Shirt ein 'Ja' enth&auml;lt, bedeutet dies, dass der Engel " . "bereits sein T-Shirt erhalten hat.<br /><br />\n";
-
- $html .= "<form action=\"" . page_link_to("admin_user") . "&action=save&id=$user_id\" method=\"post\">\n";
- $html .= "<table border=\"0\">\n";
- $html .= "<input type=\"hidden\" name=\"Type\" value=\"Normal\">\n";
- $html .= "<tr><td>\n";
- $html .= "<table>\n";
- $html .= " <tr><td>Nick</td><td>" . "<input type=\"text\" size=\"40\" name=\"eNick\" value=\"" . $user_source['Nick'] . "\"></td></tr>\n";
- $html .= " <tr><td>lastLogIn</td><td>" . date("Y-m-d H:i", $user_source['lastLogIn']) . "</td></tr>\n";
- $html .= " <tr><td>Name</td><td>" . "<input type=\"text\" size=\"40\" name=\"eName\" value=\"" . $user_source['Name'] . "\"></td></tr>\n";
- $html .= " <tr><td>Vorname</td><td>" . "<input type=\"text\" size=\"40\" name=\"eVorname\" value=\"" . $user_source['Vorname'] . "\"></td></tr>\n";
- $html .= " <tr><td>Alter</td><td>" . "<input type=\"text\" size=\"5\" name=\"eAlter\" value=\"" . $user_source['Alter'] . "\"></td></tr>\n";
- $html .= " <tr><td>Telefon</td><td>" . "<input type=\"text\" size=\"40\" name=\"eTelefon\" value=\"" . $user_source['Telefon'] . "\"></td></tr>\n";
- $html .= " <tr><td>Handy</td><td>" . "<input type=\"text\" size=\"40\" name=\"eHandy\" value=\"" . $user_source['Handy'] . "\"></td></tr>\n";
- $html .= " <tr><td>DECT</td><td>" . "<input type=\"text\" size=\"4\" name=\"eDECT\" value=\"" . $user_source['DECT'] . "\"></td></tr>\n";
- if ($user_source['email_by_human_allowed']) {
- $html .= " <tr><td>email</td><td>" . "<input type=\"text\" size=\"40\" name=\"eemail\" value=\"" . $user_source['email'] . "\"></td></tr>\n";
- }
- $html .= " <tr><td>jabber</td><td>" . "<input type=\"text\" size=\"40\" name=\"ejabber\" value=\"" . $user_source['jabber'] . "\"></td></tr>\n";
- $html .= " <tr><td>Size</td><td>" . html_select_key('size', 'eSize', $tshirt_sizes, $user_source['Size']) . "</td></tr>\n";
+ $html .= "Hallo,<br />" . "hier kannst du den Eintrag &auml;ndern. Unter dem Punkt 'Gekommen' " . "wird der Engel als anwesend markiert, ein Ja bei Aktiv bedeutet, " . "dass der Engel aktiv war und damit ein Anspruch auf ein T-Shirt hat. " . "Wenn T-Shirt ein 'Ja' enth&auml;lt, bedeutet dies, dass der Engel " . "bereits sein T-Shirt erhalten hat.<br /><br />\n";
+
+ $html .= "<form action=\"" . page_link_to("admin_user") . "&action=save&id=$user_id\" method=\"post\">\n";
+ $html .= "<table border=\"0\">\n";
+ $html .= "<input type=\"hidden\" name=\"Type\" value=\"Normal\">\n";
+ $html .= "<tr><td>\n";
+ $html .= "<table>\n";
+ $html .= " <tr><td>Nick</td><td>" . "<input type=\"text\" size=\"40\" name=\"eNick\" value=\"" . $user_source['Nick'] . "\"></td></tr>\n";
+ $html .= " <tr><td>lastLogIn</td><td>" . date("Y-m-d H:i", $user_source['lastLogIn']) . "</td></tr>\n";
+ $html .= " <tr><td>Name</td><td>" . "<input type=\"text\" size=\"40\" name=\"eName\" value=\"" . $user_source['Name'] . "\"></td></tr>\n";
+ $html .= " <tr><td>Vorname</td><td>" . "<input type=\"text\" size=\"40\" name=\"eVorname\" value=\"" . $user_source['Vorname'] . "\"></td></tr>\n";
+ $html .= " <tr><td>Alter</td><td>" . "<input type=\"text\" size=\"5\" name=\"eAlter\" value=\"" . $user_source['Alter'] . "\"></td></tr>\n";
+ $html .= " <tr><td>Telefon</td><td>" . "<input type=\"text\" size=\"40\" name=\"eTelefon\" value=\"" . $user_source['Telefon'] . "\"></td></tr>\n";
+ $html .= " <tr><td>Handy</td><td>" . "<input type=\"text\" size=\"40\" name=\"eHandy\" value=\"" . $user_source['Handy'] . "\"></td></tr>\n";
+ $html .= " <tr><td>DECT</td><td>" . "<input type=\"text\" size=\"4\" name=\"eDECT\" value=\"" . $user_source['DECT'] . "\"></td></tr>\n";
+ if ($user_source['email_by_human_allowed']) {
+ $html .= " <tr><td>email</td><td>" . "<input type=\"text\" size=\"40\" name=\"eemail\" value=\"" . $user_source['email'] . "\"></td></tr>\n";
+ }
+ $html .= " <tr><td>jabber</td><td>" . "<input type=\"text\" size=\"40\" name=\"ejabber\" value=\"" . $user_source['jabber'] . "\"></td></tr>\n";
+ $html .= " <tr><td>Size</td><td>" . html_select_key('size', 'eSize', $tshirt_sizes, $user_source['Size']) . "</td></tr>\n";
- $options = [
+ $options = [
'1' => _("Yes"),
- '0' => _("No")
+ '0' => _("No")
];
// Gekommen?
$html .= " <tr><td>Gekommen</td><td>\n";
- $html .= html_options('eGekommen', $options, $user_source['Gekommen']) . "</td></tr>\n";
+ $html .= html_options('eGekommen', $options, $user_source['Gekommen']) . "</td></tr>\n";
// Aktiv?
$html .= " <tr><td>Aktiv</td><td>\n";
- $html .= html_options('eAktiv', $options, $user_source['Aktiv']) . "</td></tr>\n";
+ $html .= html_options('eAktiv', $options, $user_source['Aktiv']) . "</td></tr>\n";
// Aktiv erzwingen
if (in_array('admin_active', $privileges)) {
- $html .= " <tr><td>" . _("Force active") . "</td><td>\n";
- $html .= html_options('force_active', $options, $user_source['force_active']) . "</td></tr>\n";
+ $html .= " <tr><td>" . _("Force active") . "</td><td>\n";
+ $html .= html_options('force_active', $options, $user_source['force_active']) . "</td></tr>\n";
}
// T-Shirt bekommen?
$html .= " <tr><td>T-Shirt</td><td>\n";
- $html .= html_options('eTshirt', $options, $user_source['Tshirt']) . "</td></tr>\n";
+ $html .= html_options('eTshirt', $options, $user_source['Tshirt']) . "</td></tr>\n";
- $html .= " <tr><td>Hometown</td><td>" . "<input type=\"text\" size=\"40\" name=\"Hometown\" value=\"" . $user_source['Hometown'] . "\"></td></tr>\n";
+ $html .= " <tr><td>Hometown</td><td>" . "<input type=\"text\" size=\"40\" name=\"Hometown\" value=\"" . $user_source['Hometown'] . "\"></td></tr>\n";
- $html .= "</table>\n</td><td valign=\"top\"></td></tr>";
+ $html .= "</table>\n</td><td valign=\"top\"></td></tr>";
- $html .= "</td></tr>\n";
- $html .= "</table>\n<br />\n";
- $html .= "<input type=\"submit\" value=\"Speichern\">\n";
- $html .= "</form>";
+ $html .= "</td></tr>\n";
+ $html .= "</table>\n<br />\n";
+ $html .= "<input type=\"submit\" value=\"Speichern\">\n";
+ $html .= "</form>";
- $html .= "<hr />";
+ $html .= "<hr />";
- $html .= form_info('', _('Please visit the angeltypes page or the users profile to manage users angeltypes.'));
+ $html .= form_info('', _('Please visit the angeltypes page or the users profile to manage users angeltypes.'));
- $html .= "Hier kannst Du das Passwort dieses Engels neu setzen:<form action=\"" . page_link_to("admin_user") . "&action=change_pw&id=$user_id\" method=\"post\">\n";
- $html .= "<table>\n";
- $html .= " <tr><td>Passwort</td><td>" . "<input type=\"password\" size=\"40\" name=\"new_pw\" value=\"\"></td></tr>\n";
- $html .= " <tr><td>Wiederholung</td><td>" . "<input type=\"password\" size=\"40\" name=\"new_pw2\" value=\"\"></td></tr>\n";
+ $html .= "Hier kannst Du das Passwort dieses Engels neu setzen:<form action=\"" . page_link_to("admin_user") . "&action=change_pw&id=$user_id\" method=\"post\">\n";
+ $html .= "<table>\n";
+ $html .= " <tr><td>Passwort</td><td>" . "<input type=\"password\" size=\"40\" name=\"new_pw\" value=\"\"></td></tr>\n";
+ $html .= " <tr><td>Wiederholung</td><td>" . "<input type=\"password\" size=\"40\" name=\"new_pw2\" value=\"\"></td></tr>\n";
- $html .= "</table>";
- $html .= "<input type=\"submit\" value=\"Speichern\">\n";
- $html .= "</form>";
+ $html .= "</table>";
+ $html .= "<input type=\"submit\" value=\"Speichern\">\n";
+ $html .= "</form>";
- $html .= "<hr />";
+ $html .= "<hr />";
- $my_highest_group = sql_select("SELECT * FROM `UserGroups` WHERE `uid`='" . sql_escape($user['UID']) . "' ORDER BY `group_id` LIMIT 1");
- if (count($my_highest_group) > 0) {
- $my_highest_group = $my_highest_group[0]['group_id'];
- }
+ $my_highest_group = sql_select("SELECT * FROM `UserGroups` WHERE `uid`='" . sql_escape($user['UID']) . "' ORDER BY `group_id` LIMIT 1");
+ if (count($my_highest_group) > 0) {
+ $my_highest_group = $my_highest_group[0]['group_id'];
+ }
- $his_highest_group = sql_select("SELECT * FROM `UserGroups` WHERE `uid`='" . sql_escape($user_id) . "' ORDER BY `group_id` LIMIT 1");
- if (count($his_highest_group) > 0) {
- $his_highest_group = $his_highest_group[0]['group_id'];
- }
+ $his_highest_group = sql_select("SELECT * FROM `UserGroups` WHERE `uid`='" . sql_escape($user_id) . "' ORDER BY `group_id` LIMIT 1");
+ if (count($his_highest_group) > 0) {
+ $his_highest_group = $his_highest_group[0]['group_id'];
+ }
- if ($user_id != $user['UID'] && $my_highest_group <= $his_highest_group) {
- $html .= "Hier kannst Du die Benutzergruppen des Engels festlegen:<form action=\"" . page_link_to("admin_user") . "&action=save_groups&id=" . $user_id . "\" method=\"post\">\n";
- $html .= '<table>';
+ if ($user_id != $user['UID'] && $my_highest_group <= $his_highest_group) {
+ $html .= "Hier kannst Du die Benutzergruppen des Engels festlegen:<form action=\"" . page_link_to("admin_user") . "&action=save_groups&id=" . $user_id . "\" method=\"post\">\n";
+ $html .= '<table>';
- $groups = sql_select("SELECT * FROM `Groups` LEFT OUTER JOIN `UserGroups` ON (`UserGroups`.`group_id` = `Groups`.`UID` AND `UserGroups`.`uid` = '" . sql_escape($user_id) . "') WHERE `Groups`.`UID` >= '" . sql_escape($my_highest_group) . "' ORDER BY `Groups`.`Name`");
- foreach ($groups as $group) {
- $html .= '<tr><td><input type="checkbox" name="groups[]" value="' . $group['UID'] . '"' . ($group['group_id'] != "" ? ' checked="checked"' : '') . ' /></td><td>' . $group['Name'] . '</td></tr>';
- }
+ $groups = sql_select("SELECT * FROM `Groups` LEFT OUTER JOIN `UserGroups` ON (`UserGroups`.`group_id` = `Groups`.`UID` AND `UserGroups`.`uid` = '" . sql_escape($user_id) . "') WHERE `Groups`.`UID` >= '" . sql_escape($my_highest_group) . "' ORDER BY `Groups`.`Name`");
+ foreach ($groups as $group) {
+ $html .= '<tr><td><input type="checkbox" name="groups[]" value="' . $group['UID'] . '"' . ($group['group_id'] != "" ? ' checked="checked"' : '') . ' /></td><td>' . $group['Name'] . '</td></tr>';
+ }
- $html .= '</table>';
+ $html .= '</table>';
- $html .= "<input type=\"submit\" value=\"Speichern\">\n";
- $html .= "</form>";
+ $html .= "<input type=\"submit\" value=\"Speichern\">\n";
+ $html .= "</form>";
- $html .= "<hr />";
- }
+ $html .= "<hr />";
+ }
- $html .= buttons([
- button(user_delete_link($user_source), glyph('lock') . _("delete"), 'btn-danger')
+ $html .= buttons([
+ button(user_delete_link($user_source), glyph('lock') . _("delete"), 'btn-danger')
]);
- $html .= "<hr />";
- } else {
- switch ($_REQUEST['action']) {
+ $html .= "<hr />";
+ } else {
+ switch ($_REQUEST['action']) {
case 'save_groups':
if ($user_id != $user['UID']) {
- $my_highest_group = sql_select("SELECT * FROM `UserGroups` WHERE `uid`='" . sql_escape($user['UID']) . "' ORDER BY `group_id`");
- $his_highest_group = sql_select("SELECT * FROM `UserGroups` WHERE `uid`='" . sql_escape($user_id) . "' ORDER BY `group_id`");
+ $my_highest_group = sql_select("SELECT * FROM `UserGroups` WHERE `uid`='" . sql_escape($user['UID']) . "' ORDER BY `group_id`");
+ $his_highest_group = sql_select("SELECT * FROM `UserGroups` WHERE `uid`='" . sql_escape($user_id) . "' ORDER BY `group_id`");
- if (count($my_highest_group) > 0 && (count($his_highest_group) == 0 || ($my_highest_group[0]['group_id'] <= $his_highest_group[0]['group_id']))) {
- $groups_source = sql_select("SELECT * FROM `Groups` LEFT OUTER JOIN `UserGroups` ON (`UserGroups`.`group_id` = `Groups`.`UID` AND `UserGroups`.`uid` = '" . sql_escape($user_id) . "') WHERE `Groups`.`UID` >= '" . sql_escape($my_highest_group[0]['group_id']) . "' ORDER BY `Groups`.`Name`");
- $groups = [];
- $grouplist = [];
- foreach ($groups_source as $group) {
- $groups[$group['UID']] = $group;
- $grouplist[] = $group['UID'];
- }
+ if (count($my_highest_group) > 0 && (count($his_highest_group) == 0 || ($my_highest_group[0]['group_id'] <= $his_highest_group[0]['group_id']))) {
+ $groups_source = sql_select("SELECT * FROM `Groups` LEFT OUTER JOIN `UserGroups` ON (`UserGroups`.`group_id` = `Groups`.`UID` AND `UserGroups`.`uid` = '" . sql_escape($user_id) . "') WHERE `Groups`.`UID` >= '" . sql_escape($my_highest_group[0]['group_id']) . "' ORDER BY `Groups`.`Name`");
+ $groups = [];
+ $grouplist = [];
+ foreach ($groups_source as $group) {
+ $groups[$group['UID']] = $group;
+ $grouplist[] = $group['UID'];
+ }
- if (! is_array($_REQUEST['groups'])) {
- $_REQUEST['groups'] = [];
- }
+ if (! is_array($_REQUEST['groups'])) {
+ $_REQUEST['groups'] = [];
+ }
- sql_query("DELETE FROM `UserGroups` WHERE `uid`='" . sql_escape($user_id) . "'");
- $user_groups_info = [];
- foreach ($_REQUEST['groups'] as $group) {
- if (in_array($group, $grouplist)) {
- sql_query("INSERT INTO `UserGroups` SET `uid`='" . sql_escape($user_id) . "', `group_id`='" . sql_escape($group) . "'");
- $user_groups_info[] = $groups[$group]['Name'];
- }
+ sql_query("DELETE FROM `UserGroups` WHERE `uid`='" . sql_escape($user_id) . "'");
+ $user_groups_info = [];
+ foreach ($_REQUEST['groups'] as $group) {
+ if (in_array($group, $grouplist)) {
+ sql_query("INSERT INTO `UserGroups` SET `uid`='" . sql_escape($user_id) . "', `group_id`='" . sql_escape($group) . "'");
+ $user_groups_info[] = $groups[$group]['Name'];
+ }
+ }
+ $user_source = User($user_id);
+ engelsystem_log("Set groups of " . User_Nick_render($user_source) . " to: " . join(", ", $user_groups_info));
+ $html .= success("Benutzergruppen gespeichert.", true);
+ } else {
+ $html .= error("Du kannst keine Engel mit mehr Rechten bearbeiten.", true);
}
- $user_source = User($user_id);
- engelsystem_log("Set groups of " . User_Nick_render($user_source) . " to: " . join(", ", $user_groups_info));
- $html .= success("Benutzergruppen gespeichert.", true);
- } else {
- $html .= error("Du kannst keine Engel mit mehr Rechten bearbeiten.", true);
- }
} else {
- $html .= error("Du kannst Deine eigenen Rechte nicht bearbeiten.", true);
+ $html .= error("Du kannst Deine eigenen Rechte nicht bearbeiten.", true);
}
break;
case 'save':
$force_active = $user['force_active'];
if (in_array('admin_active', $privileges)) {
- $force_active = $_REQUEST['force_active'];
+ $force_active = $_REQUEST['force_active'];
}
$SQL = "UPDATE `User` SET
`Nick` = '" . sql_escape($_POST["eNick"]) . "',
@@ -190,19 +192,18 @@ function admin_user() {
case 'change_pw':
if ($_REQUEST['new_pw'] != "" && $_REQUEST['new_pw'] == $_REQUEST['new_pw2']) {
- set_password($user_id, $_REQUEST['new_pw']);
- $user_source = User($user_id);
- engelsystem_log("Set new password for " . User_Nick_render($user_source));
- $html .= success("Passwort neu gesetzt.", true);
+ set_password($user_id, $_REQUEST['new_pw']);
+ $user_source = User($user_id);
+ engelsystem_log("Set new password for " . User_Nick_render($user_source));
+ $html .= success("Passwort neu gesetzt.", true);
} else {
- $html .= error("Die Eingaben müssen übereinstimmen und dürfen nicht leer sein!", true);
+ $html .= error("Die Eingaben müssen übereinstimmen und dürfen nicht leer sein!", true);
}
break;
}
- }
+ }
- return page_with_title(_("Edit user"), [
- $html
+ return page_with_title(_("Edit user"), [
+ $html
]);
}
-?>
diff --git a/includes/pages/guest_credits.php b/includes/pages/guest_credits.php
index cbdc3133..00b12f73 100644
--- a/includes/pages/guest_credits.php
+++ b/includes/pages/guest_credits.php
@@ -1,9 +1,10 @@
<?php
-function credits_title() {
- return _("Credits");
+function credits_title()
+{
+ return _("Credits");
}
-function guest_credits() {
- return template_render(__DIR__ . '/../../templates/guest_credits.html', []);
+function guest_credits()
+{
+ return template_render(__DIR__ . '/../../templates/guest_credits.html', []);
}
-?> \ No newline at end of file
diff --git a/includes/pages/guest_login.php b/includes/pages/guest_login.php
index 54abe5ca..293fb891 100644
--- a/includes/pages/guest_login.php
+++ b/includes/pages/guest_login.php
@@ -1,156 +1,160 @@
<?php
-function login_title() {
- return _("Login");
+function login_title()
+{
+ return _("Login");
}
-function register_title() {
- return _("Register");
+function register_title()
+{
+ return _("Register");
}
-function logout_title() {
- return _("Logout");
+function logout_title()
+{
+ return _("Logout");
}
// Engel registrieren
-function guest_register() {
- global $tshirt_sizes, $enable_tshirt_size, $default_theme, $user, $min_password_length;
+function guest_register()
+{
+ global $tshirt_sizes, $enable_tshirt_size, $default_theme, $user, $min_password_length;
- $event_config = EventConfig();
+ $event_config = EventConfig();
- $msg = "";
- $nick = "";
- $lastname = "";
- $prename = "";
- $age = "";
- $tel = "";
- $dect = "";
- $mobile = "";
- $mail = "";
- $email_shiftinfo = false;
- $email_by_human_allowed = false;
- $jabber = "";
- $hometown = "";
- $comment = "";
- $tshirt_size = '';
- $password_hash = "";
- $selected_angel_types = [];
- $planned_arrival_date = null;
+ $msg = "";
+ $nick = "";
+ $lastname = "";
+ $prename = "";
+ $age = "";
+ $tel = "";
+ $dect = "";
+ $mobile = "";
+ $mail = "";
+ $email_shiftinfo = false;
+ $email_by_human_allowed = false;
+ $jabber = "";
+ $hometown = "";
+ $comment = "";
+ $tshirt_size = '';
+ $password_hash = "";
+ $selected_angel_types = [];
+ $planned_arrival_date = null;
- $angel_types_source = AngelTypes();
- $angel_types = [];
- foreach ($angel_types_source as $angel_type) {
- $angel_types[$angel_type['id']] = $angel_type['name'] . ($angel_type['restricted'] ? " (restricted)" : "");
- if (! $angel_type['restricted']) {
- $selected_angel_types[] = $angel_type['id'];
+ $angel_types_source = AngelTypes();
+ $angel_types = [];
+ foreach ($angel_types_source as $angel_type) {
+ $angel_types[$angel_type['id']] = $angel_type['name'] . ($angel_type['restricted'] ? " (restricted)" : "");
+ if (! $angel_type['restricted']) {
+ $selected_angel_types[] = $angel_type['id'];
+ }
}
- }
- if (isset($_REQUEST['submit'])) {
- $valid = true;
+ if (isset($_REQUEST['submit'])) {
+ $valid = true;
- if (isset($_REQUEST['nick']) && strlen(User_validate_Nick($_REQUEST['nick'])) > 1) {
- $nick = User_validate_Nick($_REQUEST['nick']);
- if (sql_num_query("SELECT * FROM `User` WHERE `Nick`='" . sql_escape($nick) . "' LIMIT 1") > 0) {
- $valid = false;
- $msg .= error(sprintf(_("Your nick &quot;%s&quot; already exists."), $nick), true);
- }
- } else {
- $valid = false;
- $msg .= error(sprintf(_("Your nick &quot;%s&quot; is too short (min. 2 characters)."), User_validate_Nick($_REQUEST['nick'])), true);
- }
+ if (isset($_REQUEST['nick']) && strlen(User_validate_Nick($_REQUEST['nick'])) > 1) {
+ $nick = User_validate_Nick($_REQUEST['nick']);
+ if (sql_num_query("SELECT * FROM `User` WHERE `Nick`='" . sql_escape($nick) . "' LIMIT 1") > 0) {
+ $valid = false;
+ $msg .= error(sprintf(_("Your nick &quot;%s&quot; already exists."), $nick), true);
+ }
+ } else {
+ $valid = false;
+ $msg .= error(sprintf(_("Your nick &quot;%s&quot; is too short (min. 2 characters)."), User_validate_Nick($_REQUEST['nick'])), true);
+ }
- if (isset($_REQUEST['mail']) && strlen(strip_request_item('mail')) > 0) {
- $mail = strip_request_item('mail');
- if (! check_email($mail)) {
- $valid = false;
- $msg .= error(_("E-mail address is not correct."), true);
- }
- } else {
- $valid = false;
- $msg .= error(_("Please enter your e-mail."), true);
- }
+ if (isset($_REQUEST['mail']) && strlen(strip_request_item('mail')) > 0) {
+ $mail = strip_request_item('mail');
+ if (! check_email($mail)) {
+ $valid = false;
+ $msg .= error(_("E-mail address is not correct."), true);
+ }
+ } else {
+ $valid = false;
+ $msg .= error(_("Please enter your e-mail."), true);
+ }
- if (isset($_REQUEST['email_shiftinfo'])) {
- $email_shiftinfo = true;
- }
+ if (isset($_REQUEST['email_shiftinfo'])) {
+ $email_shiftinfo = true;
+ }
- if (isset($_REQUEST['email_by_human_allowed'])) {
- $email_by_human_allowed = true;
- }
+ if (isset($_REQUEST['email_by_human_allowed'])) {
+ $email_by_human_allowed = true;
+ }
- if (isset($_REQUEST['jabber']) && strlen(strip_request_item('jabber')) > 0) {
- $jabber = strip_request_item('jabber');
- if (! check_email($jabber)) {
- $valid = false;
- $msg .= error(_("Please check your jabber account information."), true);
- }
- }
+ if (isset($_REQUEST['jabber']) && strlen(strip_request_item('jabber')) > 0) {
+ $jabber = strip_request_item('jabber');
+ if (! check_email($jabber)) {
+ $valid = false;
+ $msg .= error(_("Please check your jabber account information."), true);
+ }
+ }
- if ($enable_tshirt_size) {
- if (isset($_REQUEST['tshirt_size']) && isset($tshirt_sizes[$_REQUEST['tshirt_size']]) && $_REQUEST['tshirt_size'] != '') {
- $tshirt_size = $_REQUEST['tshirt_size'];
- } else {
- $valid = false;
- $msg .= error(_("Please select your shirt size."), true);
- }
- }
+ if ($enable_tshirt_size) {
+ if (isset($_REQUEST['tshirt_size']) && isset($tshirt_sizes[$_REQUEST['tshirt_size']]) && $_REQUEST['tshirt_size'] != '') {
+ $tshirt_size = $_REQUEST['tshirt_size'];
+ } else {
+ $valid = false;
+ $msg .= error(_("Please select your shirt size."), true);
+ }
+ }
- if (isset($_REQUEST['password']) && strlen($_REQUEST['password']) >= $min_password_length) {
- if ($_REQUEST['password'] != $_REQUEST['password2']) {
- $valid = false;
- $msg .= error(_("Your passwords don't match."), true);
- }
- } else {
- $valid = false;
- $msg .= error(sprintf(_("Your password is too short (please use at least %s characters)."), $min_password_length), true);
- }
+ if (isset($_REQUEST['password']) && strlen($_REQUEST['password']) >= $min_password_length) {
+ if ($_REQUEST['password'] != $_REQUEST['password2']) {
+ $valid = false;
+ $msg .= error(_("Your passwords don't match."), true);
+ }
+ } else {
+ $valid = false;
+ $msg .= error(sprintf(_("Your password is too short (please use at least %s characters)."), $min_password_length), true);
+ }
- if (isset($_REQUEST['planned_arrival_date'])) {
- $tmp = parse_date("Y-m-d H:i", $_REQUEST['planned_arrival_date'] . " 00:00");
- $result = User_validate_planned_arrival_date($tmp);
- $planned_arrival_date = $result->getValue();
- if (! $result->isValid()) {
- $valid = false;
- error(_("Please enter your planned date of arrival. It should be after the buildup start date and before teardown end date."));
- }
- }
+ if (isset($_REQUEST['planned_arrival_date'])) {
+ $tmp = parse_date("Y-m-d H:i", $_REQUEST['planned_arrival_date'] . " 00:00");
+ $result = User_validate_planned_arrival_date($tmp);
+ $planned_arrival_date = $result->getValue();
+ if (! $result->isValid()) {
+ $valid = false;
+ error(_("Please enter your planned date of arrival. It should be after the buildup start date and before teardown end date."));
+ }
+ }
- $selected_angel_types = [];
- foreach (array_keys($angel_types) as $angel_type_id) {
- if (isset($_REQUEST['angel_types_' . $angel_type_id])) {
- $selected_angel_types[] = $angel_type_id;
- }
- }
+ $selected_angel_types = [];
+ foreach (array_keys($angel_types) as $angel_type_id) {
+ if (isset($_REQUEST['angel_types_' . $angel_type_id])) {
+ $selected_angel_types[] = $angel_type_id;
+ }
+ }
// Trivia
if (isset($_REQUEST['lastname'])) {
- $lastname = strip_request_item('lastname');
- }
- if (isset($_REQUEST['prename'])) {
- $prename = strip_request_item('prename');
- }
- if (isset($_REQUEST['age']) && preg_match("/^[0-9]{0,4}$/", $_REQUEST['age'])) {
- $age = strip_request_item('age');
- }
- if (isset($_REQUEST['tel'])) {
- $tel = strip_request_item('tel');
- }
- if (isset($_REQUEST['dect'])) {
- $dect = strip_request_item('dect');
- }
- if (isset($_REQUEST['mobile'])) {
- $mobile = strip_request_item('mobile');
- }
- if (isset($_REQUEST['hometown'])) {
- $hometown = strip_request_item('hometown');
- }
- if (isset($_REQUEST['comment'])) {
- $comment = strip_request_item_nl('comment');
+ $lastname = strip_request_item('lastname');
}
+ if (isset($_REQUEST['prename'])) {
+ $prename = strip_request_item('prename');
+ }
+ if (isset($_REQUEST['age']) && preg_match("/^[0-9]{0,4}$/", $_REQUEST['age'])) {
+ $age = strip_request_item('age');
+ }
+ if (isset($_REQUEST['tel'])) {
+ $tel = strip_request_item('tel');
+ }
+ if (isset($_REQUEST['dect'])) {
+ $dect = strip_request_item('dect');
+ }
+ if (isset($_REQUEST['mobile'])) {
+ $mobile = strip_request_item('mobile');
+ }
+ if (isset($_REQUEST['hometown'])) {
+ $hometown = strip_request_item('hometown');
+ }
+ if (isset($_REQUEST['comment'])) {
+ $comment = strip_request_item_nl('comment');
+ }
- if ($valid) {
- sql_query("
+ if ($valid) {
+ sql_query("
INSERT INTO `User` SET
`color`='" . sql_escape($default_theme) . "',
`Nick`='" . sql_escape($nick) . "',
@@ -175,45 +179,45 @@ function guest_register() {
// Assign user-group and set password
$user_id = sql_id();
- sql_query("INSERT INTO `UserGroups` SET `uid`='" . sql_escape($user_id) . "', `group_id`=-2");
- set_password($user_id, $_REQUEST['password']);
+ sql_query("INSERT INTO `UserGroups` SET `uid`='" . sql_escape($user_id) . "', `group_id`=-2");
+ set_password($user_id, $_REQUEST['password']);
// Assign angel-types
$user_angel_types_info = [];
- foreach ($selected_angel_types as $selected_angel_type_id) {
- sql_query("INSERT INTO `UserAngelTypes` SET `user_id`='" . sql_escape($user_id) . "', `angeltype_id`='" . sql_escape($selected_angel_type_id) . "'");
- $user_angel_types_info[] = $angel_types[$selected_angel_type_id];
- }
+ foreach ($selected_angel_types as $selected_angel_type_id) {
+ sql_query("INSERT INTO `UserAngelTypes` SET `user_id`='" . sql_escape($user_id) . "', `angeltype_id`='" . sql_escape($selected_angel_type_id) . "'");
+ $user_angel_types_info[] = $angel_types[$selected_angel_type_id];
+ }
- engelsystem_log("User " . User_Nick_render(User($user_id)) . " signed up as: " . join(", ", $user_angel_types_info));
- success(_("Angel registration successful!"));
+ engelsystem_log("User " . User_Nick_render(User($user_id)) . " signed up as: " . join(", ", $user_angel_types_info));
+ success(_("Angel registration successful!"));
// User is already logged in - that means a supporter has registered an angel. Return to register page.
if (isset($user)) {
- redirect(page_link_to('register'));
+ redirect(page_link_to('register'));
}
// If a welcome message is present, display registration success page.
if ($event_config != null && $event_config['event_welcome_msg'] != null) {
- return User_registration_success_view($event_config['event_welcome_msg']);
+ return User_registration_success_view($event_config['event_welcome_msg']);
}
- redirect('?');
+ redirect('?');
+ }
}
- }
- $buildup_start_date = time();
- $teardown_end_date = null;
- if ($event_config != null) {
- if (isset($event_config['buildup_start_date'])) {
- $buildup_start_date = $event_config['buildup_start_date'];
- }
- if(isset($event_config['teardown_end_date'])) {
- $teardown_end_date = $event_config['teardown_end_date'];
+ $buildup_start_date = time();
+ $teardown_end_date = null;
+ if ($event_config != null) {
+ if (isset($event_config['buildup_start_date'])) {
+ $buildup_start_date = $event_config['buildup_start_date'];
+ }
+ if (isset($event_config['teardown_end_date'])) {
+ $teardown_end_date = $event_config['teardown_end_date'];
+ }
}
- }
- return page_with_title(register_title(), [
+ return page_with_title(register_title(), [
_("By completing this form you're registering as a Chaos-Angel. This script will create you an account in the angel task scheduler."),
$msg,
msg(),
@@ -222,131 +226,133 @@ function guest_register() {
div('col-md-6', [
div('row', [
div('col-sm-4', [
- form_text('nick', _("Nick") . ' ' . entry_required(), $nick)
+ form_text('nick', _("Nick") . ' ' . entry_required(), $nick)
]),
div('col-sm-8', [
form_email('mail', _("E-Mail") . ' ' . entry_required(), $mail),
form_checkbox('email_shiftinfo', _("The engelsystem is allowed to send me an email (e.g. when my shifts change)"), $email_shiftinfo),
- form_checkbox('email_by_human_allowed', _("Humans are allowed to send me an email (e.g. for ticket vouchers)"), $email_by_human_allowed)
- ])
+ form_checkbox('email_by_human_allowed', _("Humans are allowed to send me an email (e.g. for ticket vouchers)"), $email_by_human_allowed)
+ ])
]),
div('row', [
div('col-sm-6', [
- form_date('planned_arrival_date', _("Planned date of arrival") . ' ' . entry_required(), $planned_arrival_date, $buildup_start_date, $teardown_end_date)
+ form_date('planned_arrival_date', _("Planned date of arrival") . ' ' . entry_required(), $planned_arrival_date, $buildup_start_date, $teardown_end_date)
]),
div('col-sm-6', [
- $enable_tshirt_size ? form_select('tshirt_size', _("Shirt size") . ' ' . entry_required(), $tshirt_sizes, $tshirt_size) : ''
- ])
+ $enable_tshirt_size ? form_select('tshirt_size', _("Shirt size") . ' ' . entry_required(), $tshirt_sizes, $tshirt_size) : ''
+ ])
]),
div('row', [
div('col-sm-6', [
- form_password('password', _("Password") . ' ' . entry_required())
+ form_password('password', _("Password") . ' ' . entry_required())
]),
div('col-sm-6', [
- form_password('password2', _("Confirm password") . ' ' . entry_required())
- ])
+ form_password('password2', _("Confirm password") . ' ' . entry_required())
+ ])
]),
form_checkboxes('angel_types', _("What do you want to do?") . sprintf(" (<a href=\"%s\">%s</a>)", page_link_to('angeltypes') . '&action=about', _("Description of job types")), $angel_types, $selected_angel_types),
- form_info("", _("Restricted angel types need will be confirmed later by a supporter. You can change your selection in the options section."))
+ form_info("", _("Restricted angel types need will be confirmed later by a supporter. You can change your selection in the options section."))
]),
div('col-md-6', [
div('row', [
div('col-sm-4', [
- form_text('dect', _("DECT"), $dect)
+ form_text('dect', _("DECT"), $dect)
]),
div('col-sm-4', [
- form_text('mobile', _("Mobile"), $mobile)
+ form_text('mobile', _("Mobile"), $mobile)
]),
div('col-sm-4', [
- form_text('tel', _("Phone"), $tel)
- ])
+ form_text('tel', _("Phone"), $tel)
+ ])
]),
form_text('jabber', _("Jabber"), $jabber),
div('row', [
div('col-sm-6', [
- form_text('prename', _("First name"), $prename)
+ form_text('prename', _("First name"), $prename)
]),
div('col-sm-6', [
- form_text('lastname', _("Last name"), $lastname)
- ])
+ form_text('lastname', _("Last name"), $lastname)
+ ])
]),
div('row', [
div('col-sm-3', [
- form_text('age', _("Age"), $age)
+ form_text('age', _("Age"), $age)
]),
div('col-sm-9', [
- form_text('hometown', _("Hometown"), $hometown)
- ])
+ form_text('hometown', _("Hometown"), $hometown)
+ ])
]),
- form_info(entry_required() . ' = ' . _("Entry required!"))
- ])
+ form_info(entry_required() . ' = ' . _("Entry required!"))
+ ])
]),
// form_textarea('comment', _("Did you help at former CCC events and which tasks have you performed then?"), $comment),
- form_submit('submit', _("Register"))
- ])
+ form_submit('submit', _("Register"))
+ ])
]);
}
-function entry_required() {
- return '<span class="text-info glyphicon glyphicon-warning-sign"></span>';
+function entry_required()
+{
+ return '<span class="text-info glyphicon glyphicon-warning-sign"></span>';
}
-function guest_logout() {
- session_destroy();
- redirect(page_link_to("start"));
+function guest_logout()
+{
+ session_destroy();
+ redirect(page_link_to("start"));
}
-function guest_login() {
- $nick = "";
+function guest_login()
+{
+ $nick = "";
- unset($_SESSION['uid']);
- $valid = true;
+ unset($_SESSION['uid']);
+ $valid = true;
- if (isset($_REQUEST['submit'])) {
-
- if (isset($_REQUEST['nick']) && strlen(User_validate_Nick($_REQUEST['nick'])) > 0) {
- $nick = User_validate_Nick($_REQUEST['nick']);
- $login_user = sql_select("SELECT * FROM `User` WHERE `Nick`='" . sql_escape($nick) . "'");
- if (count($login_user) > 0) {
- $login_user = $login_user[0];
- if (isset($_REQUEST['password'])) {
- if (! verify_password($_REQUEST['password'], $login_user['Passwort'], $login_user['UID'])) {
- $valid = false;
- error(_("Your password is incorrect. Please try it again."));
- }
+ if (isset($_REQUEST['submit'])) {
+ if (isset($_REQUEST['nick']) && strlen(User_validate_Nick($_REQUEST['nick'])) > 0) {
+ $nick = User_validate_Nick($_REQUEST['nick']);
+ $login_user = sql_select("SELECT * FROM `User` WHERE `Nick`='" . sql_escape($nick) . "'");
+ if (count($login_user) > 0) {
+ $login_user = $login_user[0];
+ if (isset($_REQUEST['password'])) {
+ if (! verify_password($_REQUEST['password'], $login_user['Passwort'], $login_user['UID'])) {
+ $valid = false;
+ error(_("Your password is incorrect. Please try it again."));
+ }
+ } else {
+ $valid = false;
+ error(_("Please enter a password."));
+ }
+ } else {
+ $valid = false;
+ error(_("No user was found with that Nickname. Please try again. If you are still having problems, ask a Dispatcher."));
+ }
} else {
- $valid = false;
- error(_("Please enter a password."));
+ $valid = false;
+ error(_("Please enter a nickname."));
}
- } else {
- $valid = false;
- error(_("No user was found with that Nickname. Please try again. If you are still having problems, ask a Dispatcher."));
- }
- } else {
- $valid = false;
- error(_("Please enter a nickname."));
- }
- if ($valid) {
- $_SESSION['uid'] = $login_user['UID'];
- $_SESSION['locale'] = $login_user['Sprache'];
+ if ($valid) {
+ $_SESSION['uid'] = $login_user['UID'];
+ $_SESSION['locale'] = $login_user['Sprache'];
- redirect(page_link_to('news'));
+ redirect(page_link_to('news'));
+ }
}
- }
- $event_config = EventConfig();
+ $event_config = EventConfig();
- return page([
+ return page([
div('col-md-12', [
div('row', [
- EventConfig_countdown_page($event_config)
+ EventConfig_countdown_page($event_config)
]),
div('row', [
div('col-sm-6 col-sm-offset-3 col-md-4 col-md-offset-4', [
div('panel panel-primary first', [
div('panel-heading', [
- '<span class="icon-icon_angel"></span> ' . _("Login")
+ '<span class="icon-icon_angel"></span> ' . _("Login")
]),
div('panel-body', [
msg(),
@@ -355,46 +361,46 @@ function guest_login() {
form_password_placeholder('password', _("Password")),
form_submit('submit', _("Login")),
! $valid ? buttons([
- button(page_link_to('user_password_recovery'), _("I forgot my password"))
- ]) : ''
- ])
+ button(page_link_to('user_password_recovery'), _("I forgot my password"))
+ ]) : ''
+ ])
]),
div('panel-footer', [
- glyph('info-sign') . _("Please note: You have to activate cookies!")
- ])
- ])
- ])
+ glyph('info-sign') . _("Please note: You have to activate cookies!")
+ ])
+ ])
+ ])
]),
div('row', [
div('col-sm-6 text-center', [
heading(register_title(), 2),
- get_register_hint()
+ get_register_hint()
]),
div('col-sm-6 text-center', [
heading(_("What can I do?"), 2),
'<p>' . _("Please read about the jobs you can do to help us.") . '</p>',
buttons([
- button(page_link_to('angeltypes') . '&action=about', _("Teams/Job description") . ' &raquo;')
- ])
- ])
- ])
- ])
+ button(page_link_to('angeltypes') . '&action=about', _("Teams/Job description") . ' &raquo;')
+ ])
+ ])
+ ])
+ ])
]);
}
-function get_register_hint() {
- global $privileges;
+function get_register_hint()
+{
+ global $privileges;
- if (in_array('register', $privileges)) {
- return join('', [
+ if (in_array('register', $privileges)) {
+ return join('', [
'<p>' . _("Please sign up, if you want to help us!") . '</p>',
buttons([
- button(page_link_to('register'), register_title() . ' &raquo;')
- ])
+ button(page_link_to('register'), register_title() . ' &raquo;')
+ ])
]);
- }
+ }
//FIXME: return error(_("Registration is disabled."), true);
return error("Registration is <a href='https://engelsystem.de/33c3/overwhelmed.html'>disabled</a>.", true);
}
-?>
diff --git a/includes/pages/guest_start.php b/includes/pages/guest_start.php
index 8f008a8d..c89f680e 100644
--- a/includes/pages/guest_start.php
+++ b/includes/pages/guest_start.php
@@ -1,5 +1,5 @@
<?php
-function guest_start() {
- redirect(page_link_to('login'));
+function guest_start()
+{
+ redirect(page_link_to('login'));
}
-?> \ No newline at end of file
diff --git a/includes/pages/guest_stats.php b/includes/pages/guest_stats.php
index 71fde137..2559dd4d 100644
--- a/includes/pages/guest_stats.php
+++ b/includes/pages/guest_stats.php
@@ -1,35 +1,34 @@
<?php
-function guest_stats() {
- global $api_key;
+function guest_stats()
+{
+ global $api_key;
- if (isset($_REQUEST['api_key'])) {
- if ($_REQUEST['api_key'] == $api_key) {
- $stats = [];
+ if (isset($_REQUEST['api_key'])) {
+ if ($_REQUEST['api_key'] == $api_key) {
+ $stats = [];
- list($user_count) = sql_select("SELECT count(*) as `user_count` FROM `User`");
- $stats['user_count'] = $user_count['user_count'];
+ list($user_count) = sql_select("SELECT count(*) as `user_count` FROM `User`");
+ $stats['user_count'] = $user_count['user_count'];
- list($arrived_user_count) = sql_select("SELECT count(*) as `user_count` FROM `User` WHERE `Gekommen`=1");
- $stats['arrived_user_count'] = $arrived_user_count['user_count'];
+ list($arrived_user_count) = sql_select("SELECT count(*) as `user_count` FROM `User` WHERE `Gekommen`=1");
+ $stats['arrived_user_count'] = $arrived_user_count['user_count'];
- $done_shifts_seconds = sql_select_single_cell("SELECT SUM(`Shifts`.`end` - `Shifts`.`start`) FROM `ShiftEntry` JOIN `Shifts` USING (`SID`) WHERE `Shifts`.`end` < UNIX_TIMESTAMP()");
- $stats['done_work_hours'] = round($done_shifts_seconds / (60 * 60), 0);
+ $done_shifts_seconds = sql_select_single_cell("SELECT SUM(`Shifts`.`end` - `Shifts`.`start`) FROM `ShiftEntry` JOIN `Shifts` USING (`SID`) WHERE `Shifts`.`end` < UNIX_TIMESTAMP()");
+ $stats['done_work_hours'] = round($done_shifts_seconds / (60 * 60), 0);
- $users_in_action = sql_select("SELECT `Shifts`.`start`, `Shifts`.`end` FROM `ShiftEntry` JOIN `Shifts` ON `Shifts`.`SID`=`ShiftEntry`.`SID` WHERE UNIX_TIMESTAMP() BETWEEN `Shifts`.`start` AND `Shifts`.`end`");
- $stats['users_in_action'] = count($users_in_action);
+ $users_in_action = sql_select("SELECT `Shifts`.`start`, `Shifts`.`end` FROM `ShiftEntry` JOIN `Shifts` ON `Shifts`.`SID`=`ShiftEntry`.`SID` WHERE UNIX_TIMESTAMP() BETWEEN `Shifts`.`start` AND `Shifts`.`end`");
+ $stats['users_in_action'] = count($users_in_action);
- header("Content-Type: application/json");
- raw_output(json_encode($stats));
- return;
+ header("Content-Type: application/json");
+ raw_output(json_encode($stats));
+ return;
+ }
+ raw_output(json_encode([
+ 'error' => "Wrong api_key."
+ ]));
}
raw_output(json_encode([
- 'error' => "Wrong api_key."
- ]));
- }
- raw_output(json_encode([
- 'error' => "Missing parameter api_key."
+ 'error' => "Missing parameter api_key."
]));
}
-
-?>
diff --git a/includes/pages/user_atom.php b/includes/pages/user_atom.php
index 9a765634..88e8f201 100644
--- a/includes/pages/user_atom.php
+++ b/includes/pages/user_atom.php
@@ -1,46 +1,49 @@
<?php
// publically available page to feed the news to feedreaders
-function user_atom() {
- global $user, $DISPLAY_NEWS;
+function user_atom()
+{
+ global $user, $DISPLAY_NEWS;
- if (! isset($_REQUEST['key']) || ! preg_match("/^[0-9a-f]{32}$/", $_REQUEST['key'])) {
- engelsystem_error("Missing key.");
- }
- $key = $_REQUEST['key'];
+ if (! isset($_REQUEST['key']) || ! preg_match("/^[0-9a-f]{32}$/", $_REQUEST['key'])) {
+ engelsystem_error("Missing key.");
+ }
+ $key = $_REQUEST['key'];
- $user = User_by_api_key($key);
- if ($user == null) {
- engelsystem_error("Key invalid.");
- }
- if (! in_array('atom', privileges_for_user($user['UID']))) {
- engelsystem_error("No privilege for atom.");
- }
+ $user = User_by_api_key($key);
+ if ($user == null) {
+ engelsystem_error("Key invalid.");
+ }
+ if (! in_array('atom', privileges_for_user($user['UID']))) {
+ engelsystem_error("No privilege for atom.");
+ }
- $news = sql_select("SELECT * FROM `News` " . (empty($_REQUEST['meetings']) ? '' : 'WHERE `Treffen` = 1 ') . "ORDER BY `ID` DESC LIMIT " . sql_escape($DISPLAY_NEWS));
+ $news = sql_select("SELECT * FROM `News` " . (empty($_REQUEST['meetings']) ? '' : 'WHERE `Treffen` = 1 ') . "ORDER BY `ID` DESC LIMIT " . sql_escape($DISPLAY_NEWS));
- $output = make_atom_entries_from_news($news);
+ $output = make_atom_entries_from_news($news);
- header('Content-Type: application/atom+xml; charset=utf-8');
- header("Content-Length: " . strlen($output));
- raw_output($output);
+ header('Content-Type: application/atom+xml; charset=utf-8');
+ header("Content-Length: " . strlen($output));
+ raw_output($output);
}
-function make_atom_entries_from_news($news_entries) {
- $html = '<?xml version="1.0" encoding="utf-8"?>
+function make_atom_entries_from_news($news_entries)
+{
+ $html = '<?xml version="1.0" encoding="utf-8"?>
<feed xmlns="http://www.w3.org/2005/Atom">
<title>Engelsystem</title>
<id>' . $_SERVER['HTTP_HOST'] . htmlspecialchars(preg_replace('#[&?]key=[a-f0-9]{32}#', '', $_SERVER['REQUEST_URI'])) . '</id>
<updated>' . date('Y-m-d\TH:i:sP', $news_entries[0]['Datum']) . "</updated>\n";
- foreach ($news_entries as $news_entry) {
- $html .= make_atom_entry_from_news($news_entry);
- }
- $html .= "</feed>";
- return $html;
+ foreach ($news_entries as $news_entry) {
+ $html .= make_atom_entry_from_news($news_entry);
+ }
+ $html .= "</feed>";
+ return $html;
}
-function make_atom_entry_from_news($news_entry) {
- return " <entry>
+function make_atom_entry_from_news($news_entry)
+{
+ return " <entry>
<title>" . htmlspecialchars($news_entry['Betreff']) . "</title>
<link href=\"" . page_link_to_absolute("news_comments&amp;nid=") . "${news_entry['ID']}\"/>
<id>" . preg_replace('#^https?://#', '', page_link_to_absolute("news")) . "-${news_entry['ID']}</id>
@@ -48,4 +51,3 @@ function make_atom_entry_from_news($news_entry) {
<summary type=\"html\">" . htmlspecialchars($news_entry['Text']) . "</summary>
</entry>\n";
}
-?>
diff --git a/includes/pages/user_ical.php b/includes/pages/user_ical.php
index 34860b70..49546e58 100644
--- a/includes/pages/user_ical.php
+++ b/includes/pages/user_ical.php
@@ -3,61 +3,63 @@
/**
* Controller for ical output of users own shifts or any user_shifts filter.
*/
-function user_ical() {
- global $user;
+function user_ical()
+{
+ global $user;
- if (! isset($_REQUEST['key']) || ! preg_match("/^[0-9a-f]{32}$/", $_REQUEST['key'])) {
- engelsystem_error("Missing key.");
- }
- $key = $_REQUEST['key'];
+ if (! isset($_REQUEST['key']) || ! preg_match("/^[0-9a-f]{32}$/", $_REQUEST['key'])) {
+ engelsystem_error("Missing key.");
+ }
+ $key = $_REQUEST['key'];
- $user = User_by_api_key($key);
- if ($user == null) {
- engelsystem_error("Key invalid.");
- }
+ $user = User_by_api_key($key);
+ if ($user == null) {
+ engelsystem_error("Key invalid.");
+ }
- if (! in_array('ical', privileges_for_user($user['UID']))) {
- engelsystem_error("No privilege for ical.");
- }
+ if (! in_array('ical', privileges_for_user($user['UID']))) {
+ engelsystem_error("No privilege for ical.");
+ }
- $ical_shifts = load_ical_shifts();
+ $ical_shifts = load_ical_shifts();
- send_ical_from_shifts($ical_shifts);
+ send_ical_from_shifts($ical_shifts);
}
/**
* Renders an ical calender from given shifts array.
*
- * @param array<Shift> $shifts
+ * @param array<Shift> $shifts
*/
-function send_ical_from_shifts($shifts) {
- header("Content-Type: text/calendar; charset=utf-8");
- $output = "BEGIN:VCALENDAR\r\nVERSION:2.0\r\nPRODID:-//-//Engelsystem//DE\r\nCALSCALE:GREGORIAN\r\n";
- foreach ($shifts as $shift) {
- $output .= make_ical_entry_from_shift($shift);
- }
- $output .= "END:VCALENDAR\r\n";
- $output = trim($output, "\x0A");
- header("Content-Length: " . strlen($output));
- raw_output($output);
+function send_ical_from_shifts($shifts)
+{
+ header("Content-Type: text/calendar; charset=utf-8");
+ $output = "BEGIN:VCALENDAR\r\nVERSION:2.0\r\nPRODID:-//-//Engelsystem//DE\r\nCALSCALE:GREGORIAN\r\n";
+ foreach ($shifts as $shift) {
+ $output .= make_ical_entry_from_shift($shift);
+ }
+ $output .= "END:VCALENDAR\r\n";
+ $output = trim($output, "\x0A");
+ header("Content-Length: " . strlen($output));
+ raw_output($output);
}
/**
* Renders an ical vevent from given shift.
*
- * @param Shift $shift
+ * @param Shift $shift
*/
-function make_ical_entry_from_shift($shift) {
- $output = "BEGIN:VEVENT\r\n";
- $output .= "UID:" . md5($shift['start'] . $shift['end'] . $shift['name']) . "\r\n";
- $output .= "SUMMARY:" . str_replace("\n", "\\n", $shift['name']) . " (" . str_replace("\n", "\\n", $shift['title']) . ")\r\n";
- if (isset($shift['Comment'])) {
- $output .= "DESCRIPTION:" . str_replace("\n", "\\n", $shift['Comment']) . "\r\n";
- }
- $output .= "DTSTART;TZID=Europe/Berlin:" . date("Ymd\THis", $shift['start']) . "\r\n";
- $output .= "DTEND;TZID=Europe/Berlin:" . date("Ymd\THis", $shift['end']) . "\r\n";
- $output .= "LOCATION:" . $shift['Name'] . "\r\n";
- $output .= "END:VEVENT\r\n";
- return $output;
+function make_ical_entry_from_shift($shift)
+{
+ $output = "BEGIN:VEVENT\r\n";
+ $output .= "UID:" . md5($shift['start'] . $shift['end'] . $shift['name']) . "\r\n";
+ $output .= "SUMMARY:" . str_replace("\n", "\\n", $shift['name']) . " (" . str_replace("\n", "\\n", $shift['title']) . ")\r\n";
+ if (isset($shift['Comment'])) {
+ $output .= "DESCRIPTION:" . str_replace("\n", "\\n", $shift['Comment']) . "\r\n";
+ }
+ $output .= "DTSTART;TZID=Europe/Berlin:" . date("Ymd\THis", $shift['start']) . "\r\n";
+ $output .= "DTEND;TZID=Europe/Berlin:" . date("Ymd\THis", $shift['end']) . "\r\n";
+ $output .= "LOCATION:" . $shift['Name'] . "\r\n";
+ $output .= "END:VEVENT\r\n";
+ return $output;
}
-?>
diff --git a/includes/pages/user_messages.php b/includes/pages/user_messages.php
index eb07deea..f9278828 100644
--- a/includes/pages/user_messages.php
+++ b/includes/pages/user_messages.php
@@ -1,73 +1,76 @@
<?php
-function messages_title() {
- return _("Messages");
+function messages_title()
+{
+ return _("Messages");
}
-function user_unread_messages() {
- global $user;
+function user_unread_messages()
+{
+ global $user;
- if (isset($user)) {
- $new_messages = sql_num_query("SELECT * FROM `Messages` WHERE isRead='N' AND `RUID`='" . sql_escape($user['UID']) . "'");
- if ($new_messages > 0) {
- return ' <span class="badge danger">' . $new_messages . '</span>';
+ if (isset($user)) {
+ $new_messages = sql_num_query("SELECT * FROM `Messages` WHERE isRead='N' AND `RUID`='" . sql_escape($user['UID']) . "'");
+ if ($new_messages > 0) {
+ return ' <span class="badge danger">' . $new_messages . '</span>';
+ }
}
- }
- return '';
+ return '';
}
-function user_messages() {
- global $user;
+function user_messages()
+{
+ global $user;
- if (! isset($_REQUEST['action'])) {
- $users = sql_select("SELECT * FROM `User` WHERE NOT `UID`='" . sql_escape($user['UID']) . "' ORDER BY `Nick`");
+ if (! isset($_REQUEST['action'])) {
+ $users = sql_select("SELECT * FROM `User` WHERE NOT `UID`='" . sql_escape($user['UID']) . "' ORDER BY `Nick`");
- $to_select_data = [
- "" => _("Select recipient...")
+ $to_select_data = [
+ "" => _("Select recipient...")
];
- foreach ($users as $u) {
- $to_select_data[$u['UID']] = $u['Nick'];
- }
+ foreach ($users as $u) {
+ $to_select_data[$u['UID']] = $u['Nick'];
+ }
- $to_select = html_select_key('to', 'to', $to_select_data, '');
+ $to_select = html_select_key('to', 'to', $to_select_data, '');
- $messages = sql_select("SELECT * FROM `Messages` WHERE `SUID`='" . sql_escape($user['UID']) . "' OR `RUID`='" . sql_escape($user['UID']) . "' ORDER BY `isRead`,`Datum` DESC");
+ $messages = sql_select("SELECT * FROM `Messages` WHERE `SUID`='" . sql_escape($user['UID']) . "' OR `RUID`='" . sql_escape($user['UID']) . "' ORDER BY `isRead`,`Datum` DESC");
- $messages_table = [
+ $messages_table = [
[
'news' => '',
'timestamp' => date("Y-m-d H:i"),
'from' => User_Nick_render($user),
'to' => $to_select,
'text' => form_textarea('text', '', ''),
- 'actions' => form_submit('submit', _("Save"))
- ]
+ 'actions' => form_submit('submit', _("Save"))
+ ]
];
- foreach ($messages as $message) {
- $sender_user_source = User($message['SUID']);
- $receiver_user_source = User($message['RUID']);
+ foreach ($messages as $message) {
+ $sender_user_source = User($message['SUID']);
+ $receiver_user_source = User($message['RUID']);
- $messages_table_entry = [
+ $messages_table_entry = [
'new' => $message['isRead'] == 'N' ? '<span class="glyphicon glyphicon-envelope"></span>' : '',
'timestamp' => date("Y-m-d H:i", $message['Datum']),
'from' => User_Nick_render($sender_user_source),
'to' => User_Nick_render($receiver_user_source),
- 'text' => str_replace("\n", '<br />', $message['Text'])
+ 'text' => str_replace("\n", '<br />', $message['Text'])
];
- if ($message['RUID'] == $user['UID']) {
- if ($message['isRead'] == 'N') {
- $messages_table_entry['actions'] = button(page_link_to("user_messages") . '&action=read&id=' . $message['id'], _("mark as read"), 'btn-xs');
+ if ($message['RUID'] == $user['UID']) {
+ if ($message['isRead'] == 'N') {
+ $messages_table_entry['actions'] = button(page_link_to("user_messages") . '&action=read&id=' . $message['id'], _("mark as read"), 'btn-xs');
+ }
+ } else {
+ $messages_table_entry['actions'] = button(page_link_to("user_messages") . '&action=delete&id=' . $message['id'], _("delete message"), 'btn-xs');
+ }
+ $messages_table[] = $messages_table_entry;
}
- } else {
- $messages_table_entry['actions'] = button(page_link_to("user_messages") . '&action=delete&id=' . $message['id'], _("delete message"), 'btn-xs');
- }
- $messages_table[] = $messages_table_entry;
- }
- return page_with_title(messages_title(), [
+ return page_with_title(messages_title(), [
msg(),
sprintf(_("Hello %s, here can you leave messages for other angels"), User_Nick_render($user)),
form([
@@ -77,55 +80,54 @@ function user_messages() {
'from' => _("Transmitted"),
'to' => _("Recipient"),
'text' => _("Message"),
- 'actions' => ''
- ], $messages_table)
- ], page_link_to('user_messages') . '&action=send')
+ 'actions' => ''
+ ], $messages_table)
+ ], page_link_to('user_messages') . '&action=send')
]);
- } else {
- switch ($_REQUEST['action']) {
+ } else {
+ switch ($_REQUEST['action']) {
case "read":
if (isset($_REQUEST['id']) && preg_match("/^[0-9]{1,11}$/", $_REQUEST['id'])) {
- $message_id = $_REQUEST['id'];
+ $message_id = $_REQUEST['id'];
} else {
- return error(_("Incomplete call, missing Message ID."), true);
+ return error(_("Incomplete call, missing Message ID."), true);
}
$message = sql_select("SELECT * FROM `Messages` WHERE `id`='" . sql_escape($message_id) . "' LIMIT 1");
if (count($message) > 0 && $message[0]['RUID'] == $user['UID']) {
- sql_query("UPDATE `Messages` SET `isRead`='Y' WHERE `id`='" . sql_escape($message_id) . "' LIMIT 1");
- redirect(page_link_to("user_messages"));
+ sql_query("UPDATE `Messages` SET `isRead`='Y' WHERE `id`='" . sql_escape($message_id) . "' LIMIT 1");
+ redirect(page_link_to("user_messages"));
} else {
- return error(_("No Message found."), true);
+ return error(_("No Message found."), true);
}
break;
case "delete":
if (isset($_REQUEST['id']) && preg_match("/^[0-9]{1,11}$/", $_REQUEST['id'])) {
- $message_id = $_REQUEST['id'];
+ $message_id = $_REQUEST['id'];
} else {
- return error(_("Incomplete call, missing Message ID."), true);
+ return error(_("Incomplete call, missing Message ID."), true);
}
$message = sql_select("SELECT * FROM `Messages` WHERE `id`='" . sql_escape($message_id) . "' LIMIT 1");
if (count($message) > 0 && $message[0]['SUID'] == $user['UID']) {
- sql_query("DELETE FROM `Messages` WHERE `id`='" . sql_escape($message_id) . "' LIMIT 1");
- redirect(page_link_to("user_messages"));
+ sql_query("DELETE FROM `Messages` WHERE `id`='" . sql_escape($message_id) . "' LIMIT 1");
+ redirect(page_link_to("user_messages"));
} else {
- return error(_("No Message found."), true);
+ return error(_("No Message found."), true);
}
break;
case "send":
if (Message_send($_REQUEST['to'], $_REQUEST['text']) === true) {
- redirect(page_link_to("user_messages"));
+ redirect(page_link_to("user_messages"));
} else {
- return error(_("Transmitting was terminated with an Error."), true);
+ return error(_("Transmitting was terminated with an Error."), true);
}
break;
default:
return error(_("Wrong action."), true);
}
- }
+ }
}
-?>
diff --git a/includes/pages/user_myshifts.php b/includes/pages/user_myshifts.php
index 3cf0c571..fbfe3f33 100644
--- a/includes/pages/user_myshifts.php
+++ b/includes/pages/user_myshifts.php
@@ -1,35 +1,37 @@
<?php
-function myshifts_title() {
- return _("My shifts");
+function myshifts_title()
+{
+ return _("My shifts");
}
// Zeigt die Schichten an, die ein Benutzer belegt
-function user_myshifts() {
- global $LETZTES_AUSTRAGEN;
- global $user, $privileges;
+function user_myshifts()
+{
+ global $LETZTES_AUSTRAGEN;
+ global $user, $privileges;
- if (isset($_REQUEST['id']) && in_array("user_shifts_admin", $privileges) && preg_match("/^[0-9]{1,}$/", $_REQUEST['id']) && sql_num_query("SELECT * FROM `User` WHERE `UID`='" . sql_escape($_REQUEST['id']) . "'") > 0) {
- $user_id = $_REQUEST['id'];
- } else {
- $user_id = $user['UID'];
- }
+ if (isset($_REQUEST['id']) && in_array("user_shifts_admin", $privileges) && preg_match("/^[0-9]{1,}$/", $_REQUEST['id']) && sql_num_query("SELECT * FROM `User` WHERE `UID`='" . sql_escape($_REQUEST['id']) . "'") > 0) {
+ $user_id = $_REQUEST['id'];
+ } else {
+ $user_id = $user['UID'];
+ }
- list($shifts_user) = sql_select("SELECT * FROM `User` WHERE `UID`='" . sql_escape($user_id) . "' LIMIT 1");
+ list($shifts_user) = sql_select("SELECT * FROM `User` WHERE `UID`='" . sql_escape($user_id) . "' LIMIT 1");
- if (isset($_REQUEST['reset'])) {
- if ($_REQUEST['reset'] == "ack") {
- User_reset_api_key($user);
- success(_("Key changed."));
- redirect(page_link_to('users') . '&action=view&user_id=' . $shifts_user['UID']);
- }
- return page_with_title(_("Reset API key"), [
+ if (isset($_REQUEST['reset'])) {
+ if ($_REQUEST['reset'] == "ack") {
+ User_reset_api_key($user);
+ success(_("Key changed."));
+ redirect(page_link_to('users') . '&action=view&user_id=' . $shifts_user['UID']);
+ }
+ return page_with_title(_("Reset API key"), [
error(_("If you reset the key, the url to your iCal- and JSON-export and your atom feed changes! You have to update it in every application using one of these exports."), true),
- button(page_link_to('user_myshifts') . '&reset=ack', _("Continue"), 'btn-danger')
+ button(page_link_to('user_myshifts') . '&reset=ack', _("Continue"), 'btn-danger')
]);
- } elseif (isset($_REQUEST['edit']) && preg_match("/^[0-9]*$/", $_REQUEST['edit'])) {
- $user_id = $_REQUEST['edit'];
- $shift = sql_select("SELECT
+ } elseif (isset($_REQUEST['edit']) && preg_match("/^[0-9]*$/", $_REQUEST['edit'])) {
+ $user_id = $_REQUEST['edit'];
+ $shift = sql_select("SELECT
`ShiftEntry`.`freeloaded`,
`ShiftEntry`.`freeload_comment`,
`ShiftEntry`.`Comment`,
@@ -45,74 +47,73 @@ function user_myshifts() {
JOIN `Room` ON (`Shifts`.`RID` = `Room`.`RID`)
WHERE `ShiftEntry`.`id`='" . sql_escape($user_id) . "'
AND `UID`='" . sql_escape($shifts_user['UID']) . "' LIMIT 1");
- if (count($shift) > 0) {
- $shift = $shift[0];
- $freeloaded = $shift['freeloaded'];
- $freeload_comment = $shift['freeload_comment'];
+ if (count($shift) > 0) {
+ $shift = $shift[0];
+ $freeloaded = $shift['freeloaded'];
+ $freeload_comment = $shift['freeload_comment'];
- if (isset($_REQUEST['submit'])) {
- $valid = true;
- if (in_array("user_shifts_admin", $privileges)) {
- $freeloaded = isset($_REQUEST['freeloaded']);
- $freeload_comment = strip_request_item_nl('freeload_comment');
- if ($freeloaded && $freeload_comment == '') {
- $valid = false;
- error(_("Please enter a freeload comment!"));
- }
- }
+ if (isset($_REQUEST['submit'])) {
+ $valid = true;
+ if (in_array("user_shifts_admin", $privileges)) {
+ $freeloaded = isset($_REQUEST['freeloaded']);
+ $freeload_comment = strip_request_item_nl('freeload_comment');
+ if ($freeloaded && $freeload_comment == '') {
+ $valid = false;
+ error(_("Please enter a freeload comment!"));
+ }
+ }
- $comment = strip_request_item_nl('comment');
- $user_source = User($shift['UID']);
+ $comment = strip_request_item_nl('comment');
+ $user_source = User($shift['UID']);
- if ($valid) {
- $result = ShiftEntry_update([
+ if ($valid) {
+ $result = ShiftEntry_update([
'id' => $user_id,
'Comment' => $comment,
'freeloaded' => $freeloaded,
- 'freeload_comment' => $freeload_comment
+ 'freeload_comment' => $freeload_comment
]);
- if ($result === false) {
- engelsystem_error('Unable to update shift entry.');
- }
+ if ($result === false) {
+ engelsystem_error('Unable to update shift entry.');
+ }
- engelsystem_log("Updated " . User_Nick_render($user_source) . "'s shift " . $shift['name'] . " from " . date("Y-m-d H:i", $shift['start']) . " to " . date("Y-m-d H:i", $shift['end']) . " with comment " . $comment . ". Freeloaded: " . ($freeloaded ? "YES Comment: " . $freeload_comment : "NO"));
- success(_("Shift saved."));
- redirect(page_link_to('users') . '&action=view&user_id=' . $shifts_user['UID']);
- }
- }
+ engelsystem_log("Updated " . User_Nick_render($user_source) . "'s shift " . $shift['name'] . " from " . date("Y-m-d H:i", $shift['start']) . " to " . date("Y-m-d H:i", $shift['end']) . " with comment " . $comment . ". Freeloaded: " . ($freeloaded ? "YES Comment: " . $freeload_comment : "NO"));
+ success(_("Shift saved."));
+ redirect(page_link_to('users') . '&action=view&user_id=' . $shifts_user['UID']);
+ }
+ }
- return ShiftEntry_edit_view(User_Nick_render($shifts_user), date("Y-m-d H:i", $shift['start']) . ', ' . shift_length($shift), $shift['Name'], $shift['name'], $shift['angel_type'], $shift['Comment'], $shift['freeloaded'], $shift['freeload_comment'], in_array("user_shifts_admin", $privileges));
- } else {
- redirect(page_link_to('user_myshifts'));
- }
- } elseif (isset($_REQUEST['cancel']) && preg_match("/^[0-9]*$/", $_REQUEST['cancel'])) {
- $user_id = $_REQUEST['cancel'];
- $shift = sql_select("
+ return ShiftEntry_edit_view(User_Nick_render($shifts_user), date("Y-m-d H:i", $shift['start']) . ', ' . shift_length($shift), $shift['Name'], $shift['name'], $shift['angel_type'], $shift['Comment'], $shift['freeloaded'], $shift['freeload_comment'], in_array("user_shifts_admin", $privileges));
+ } else {
+ redirect(page_link_to('user_myshifts'));
+ }
+ } elseif (isset($_REQUEST['cancel']) && preg_match("/^[0-9]*$/", $_REQUEST['cancel'])) {
+ $user_id = $_REQUEST['cancel'];
+ $shift = sql_select("
SELECT *
FROM `Shifts`
INNER JOIN `ShiftEntry` USING (`SID`)
WHERE `ShiftEntry`.`id`='" . sql_escape($user_id) . "' AND `UID`='" . sql_escape($shifts_user['UID']) . "'");
- if (count($shift) > 0) {
- $shift = $shift[0];
- if (($shift['start'] > time() + $LETZTES_AUSTRAGEN * 3600) || in_array('user_shifts_admin', $privileges)) {
- $result = ShiftEntry_delete($user_id);
- if ($result === false) {
- engelsystem_error('Unable to delete shift entry.');
- }
- $room = Room($shift['RID']);
- $angeltype = AngelType($shift['TID']);
- $shifttype = ShiftType($shift['shifttype_id']);
+ if (count($shift) > 0) {
+ $shift = $shift[0];
+ if (($shift['start'] > time() + $LETZTES_AUSTRAGEN * 3600) || in_array('user_shifts_admin', $privileges)) {
+ $result = ShiftEntry_delete($user_id);
+ if ($result === false) {
+ engelsystem_error('Unable to delete shift entry.');
+ }
+ $room = Room($shift['RID']);
+ $angeltype = AngelType($shift['TID']);
+ $shifttype = ShiftType($shift['shifttype_id']);
- engelsystem_log("Deleted own shift: " . $shifttype['name'] . " at " . $room['Name'] . " from " . date("Y-m-d H:i", $shift['start']) . " to " . date("Y-m-d H:i", $shift['end']) . " as " . $angeltype['name']);
- success(_("Shift canceled."));
- } else {
- error(_("It's too late to sign yourself off the shift. If neccessary, ask the dispatcher to do so."));
- }
- } else {
- redirect(user_link($shifts_user));
+ engelsystem_log("Deleted own shift: " . $shifttype['name'] . " at " . $room['Name'] . " from " . date("Y-m-d H:i", $shift['start']) . " to " . date("Y-m-d H:i", $shift['end']) . " as " . $angeltype['name']);
+ success(_("Shift canceled."));
+ } else {
+ error(_("It's too late to sign yourself off the shift. If neccessary, ask the dispatcher to do so."));
+ }
+ } else {
+ redirect(user_link($shifts_user));
+ }
}
- }
- redirect(page_link_to('users') . '&action=view&user_id=' . $shifts_user['UID']);
+ redirect(page_link_to('users') . '&action=view&user_id=' . $shifts_user['UID']);
}
-?>
diff --git a/includes/pages/user_news.php b/includes/pages/user_news.php
index 97f7ec83..a26b4d8d 100644
--- a/includes/pages/user_news.php
+++ b/includes/pages/user_news.php
@@ -1,169 +1,175 @@
<?php
-function user_news_comments_title() {
- return _("News comments");
+function user_news_comments_title()
+{
+ return _("News comments");
}
-function news_title() {
- return _("News");
+function news_title()
+{
+ return _("News");
}
-function meetings_title() {
- return _("Meetings");
+function meetings_title()
+{
+ return _("Meetings");
}
-function user_meetings() {
- global $DISPLAY_NEWS;
-
- $html = '<div class="col-md-12"><h1>' . meetings_title() . '</h1>' . msg();
-
- if (isset($_REQUEST['page']) && preg_match("/^[0-9]{1,}$/", $_REQUEST['page'])) {
- $page = $_REQUEST['page'];
- } else {
- $page = 0;
- }
-
- $news = sql_select("SELECT * FROM `News` WHERE `Treffen`=1 ORDER BY `Datum` DESC LIMIT " . sql_escape($page * $DISPLAY_NEWS) . ", " . sql_escape($DISPLAY_NEWS));
- foreach ($news as $entry) {
- $html .= display_news($entry);
- }
-
- $dis_rows = ceil(sql_num_query("SELECT * FROM `News`") / $DISPLAY_NEWS);
- $html .= '<div class="text-center">' . '<ul class="pagination">';
- for ($i = 0; $i < $dis_rows; $i ++) {
- if (isset($_REQUEST['page']) && $i == $_REQUEST['page']) {
- $html .= '<li class="active">';
- } elseif (! isset($_REQUEST['page']) && $i == 0) {
- $html .= '<li class="active">';
+function user_meetings()
+{
+ global $DISPLAY_NEWS;
+
+ $html = '<div class="col-md-12"><h1>' . meetings_title() . '</h1>' . msg();
+
+ if (isset($_REQUEST['page']) && preg_match("/^[0-9]{1,}$/", $_REQUEST['page'])) {
+ $page = $_REQUEST['page'];
} else {
- $html .= '<li>';
+ $page = 0;
+ }
+
+ $news = sql_select("SELECT * FROM `News` WHERE `Treffen`=1 ORDER BY `Datum` DESC LIMIT " . sql_escape($page * $DISPLAY_NEWS) . ", " . sql_escape($DISPLAY_NEWS));
+ foreach ($news as $entry) {
+ $html .= display_news($entry);
+ }
+
+ $dis_rows = ceil(sql_num_query("SELECT * FROM `News`") / $DISPLAY_NEWS);
+ $html .= '<div class="text-center">' . '<ul class="pagination">';
+ for ($i = 0; $i < $dis_rows; $i ++) {
+ if (isset($_REQUEST['page']) && $i == $_REQUEST['page']) {
+ $html .= '<li class="active">';
+ } elseif (! isset($_REQUEST['page']) && $i == 0) {
+ $html .= '<li class="active">';
+ } else {
+ $html .= '<li>';
+ }
+ $html .= '<a href="' . page_link_to("user_meetings") . '&page=' . $i . '">' . ($i + 1) . '</a></li>';
}
- $html .= '<a href="' . page_link_to("user_meetings") . '&page=' . $i . '">' . ($i + 1) . '</a></li>';
- }
- $html .= '</ul></div></div>';
+ $html .= '</ul></div></div>';
- return $html;
+ return $html;
}
-function display_news($news) {
- global $privileges, $page;
-
- $html = '';
- $html .= '<div class="panel' . ($news['Treffen'] == 1 ? ' panel-info' : ' panel-default') . '">';
- $html .= '<div class="panel-heading">';
- $html .= '<h3 class="panel-title">' . ($news['Treffen'] == 1 ? '[Meeting] ' : '') . ReplaceSmilies($news['Betreff']) . '</h3>';
- $html .= '</div>';
- $html .= '<div class="panel-body">' . ReplaceSmilies(nl2br($news['Text'])) . '</div>';
-
- $html .= '<div class="panel-footer text-muted">';
- if (in_array("admin_news", $privileges)) {
- $html .= '<div class="pull-right">' . button_glyph(page_link_to("admin_news") . '&action=edit&id=' . $news['ID'], 'edit', 'btn-xs') . '</div>';
- }
- $html .= '<span class="glyphicon glyphicon-time"></span> ' . date("Y-m-d H:i", $news['Datum']) . '&emsp;';
-
- $user_source = User($news['UID']);
-
- $html .= User_Nick_render($user_source);
- if ($page != "news_comments") {
- $html .= '&emsp;<a href="' . page_link_to("news_comments") . '&nid=' . $news['ID'] . '"><span class="glyphicon glyphicon-comment"></span> ' . _("Comments") . ' &raquo;</a> <span class="badge">' . sql_num_query("SELECT * FROM `NewsComments` WHERE `Refid`='" . sql_escape($news['ID']) . "'") . '</span>';
- }
- $html .= '</div>';
- $html .= '</div>';
- return $html;
+function display_news($news)
+{
+ global $privileges, $page;
+
+ $html = '';
+ $html .= '<div class="panel' . ($news['Treffen'] == 1 ? ' panel-info' : ' panel-default') . '">';
+ $html .= '<div class="panel-heading">';
+ $html .= '<h3 class="panel-title">' . ($news['Treffen'] == 1 ? '[Meeting] ' : '') . ReplaceSmilies($news['Betreff']) . '</h3>';
+ $html .= '</div>';
+ $html .= '<div class="panel-body">' . ReplaceSmilies(nl2br($news['Text'])) . '</div>';
+
+ $html .= '<div class="panel-footer text-muted">';
+ if (in_array("admin_news", $privileges)) {
+ $html .= '<div class="pull-right">' . button_glyph(page_link_to("admin_news") . '&action=edit&id=' . $news['ID'], 'edit', 'btn-xs') . '</div>';
+ }
+ $html .= '<span class="glyphicon glyphicon-time"></span> ' . date("Y-m-d H:i", $news['Datum']) . '&emsp;';
+
+ $user_source = User($news['UID']);
+
+ $html .= User_Nick_render($user_source);
+ if ($page != "news_comments") {
+ $html .= '&emsp;<a href="' . page_link_to("news_comments") . '&nid=' . $news['ID'] . '"><span class="glyphicon glyphicon-comment"></span> ' . _("Comments") . ' &raquo;</a> <span class="badge">' . sql_num_query("SELECT * FROM `NewsComments` WHERE `Refid`='" . sql_escape($news['ID']) . "'") . '</span>';
+ }
+ $html .= '</div>';
+ $html .= '</div>';
+ return $html;
}
-function user_news_comments() {
- global $user;
-
- $html = '<div class="col-md-12"><h1>' . user_news_comments_title() . '</h1>';
- if (isset($_REQUEST["nid"]) && preg_match("/^[0-9]{1,}$/", $_REQUEST['nid']) && sql_num_query("SELECT * FROM `News` WHERE `ID`='" . sql_escape($_REQUEST['nid']) . "' LIMIT 1") > 0) {
- $nid = $_REQUEST["nid"];
- list($news) = sql_select("SELECT * FROM `News` WHERE `ID`='" . sql_escape($nid) . "' LIMIT 1");
- if (isset($_REQUEST["text"])) {
- $text = preg_replace("/([^\p{L}\p{P}\p{Z}\p{N}\n]{1,})/ui", '', strip_tags($_REQUEST['text']));
- sql_query("INSERT INTO `NewsComments` (`Refid`, `Datum`, `Text`, `UID`) VALUES ('" . sql_escape($nid) . "', '" . date("Y-m-d H:i:s") . "', '" . sql_escape($text) . "', '" . sql_escape($user["UID"]) . "')");
- engelsystem_log("Created news_comment: " . $text);
- $html .= success(_("Entry saved."), true);
- }
+function user_news_comments()
+{
+ global $user;
+
+ $html = '<div class="col-md-12"><h1>' . user_news_comments_title() . '</h1>';
+ if (isset($_REQUEST["nid"]) && preg_match("/^[0-9]{1,}$/", $_REQUEST['nid']) && sql_num_query("SELECT * FROM `News` WHERE `ID`='" . sql_escape($_REQUEST['nid']) . "' LIMIT 1") > 0) {
+ $nid = $_REQUEST["nid"];
+ list($news) = sql_select("SELECT * FROM `News` WHERE `ID`='" . sql_escape($nid) . "' LIMIT 1");
+ if (isset($_REQUEST["text"])) {
+ $text = preg_replace("/([^\p{L}\p{P}\p{Z}\p{N}\n]{1,})/ui", '', strip_tags($_REQUEST['text']));
+ sql_query("INSERT INTO `NewsComments` (`Refid`, `Datum`, `Text`, `UID`) VALUES ('" . sql_escape($nid) . "', '" . date("Y-m-d H:i:s") . "', '" . sql_escape($text) . "', '" . sql_escape($user["UID"]) . "')");
+ engelsystem_log("Created news_comment: " . $text);
+ $html .= success(_("Entry saved."), true);
+ }
- $html .= display_news($news);
+ $html .= display_news($news);
- $comments = sql_select("SELECT * FROM `NewsComments` WHERE `Refid`='" . sql_escape($nid) . "' ORDER BY 'ID'");
- foreach ($comments as $comment) {
- $user_source = User($comment['UID']);
+ $comments = sql_select("SELECT * FROM `NewsComments` WHERE `Refid`='" . sql_escape($nid) . "' ORDER BY 'ID'");
+ foreach ($comments as $comment) {
+ $user_source = User($comment['UID']);
- $html .= '<div class="panel panel-default">';
- $html .= '<div class="panel-body">' . nl2br($comment['Text']) . '</div>';
- $html .= '<div class="panel-footer text-muted">';
- $html .= '<span class="glyphicon glyphicon-time"></span> ' . $comment['Datum'] . '&emsp;';
- $html .= User_Nick_render($user_source);
- $html .= '</div>';
- $html .= '</div>';
- }
+ $html .= '<div class="panel panel-default">';
+ $html .= '<div class="panel-body">' . nl2br($comment['Text']) . '</div>';
+ $html .= '<div class="panel-footer text-muted">';
+ $html .= '<span class="glyphicon glyphicon-time"></span> ' . $comment['Datum'] . '&emsp;';
+ $html .= User_Nick_render($user_source);
+ $html .= '</div>';
+ $html .= '</div>';
+ }
- $html .= '<hr /><h2>' . _("New Comment:") . '</h2>';
- $html .= form([
+ $html .= '<hr /><h2>' . _("New Comment:") . '</h2>';
+ $html .= form([
form_textarea('text', _("Message"), ''),
- form_submit('submit', _("Save"))
+ form_submit('submit', _("Save"))
], page_link_to('news_comments') . '&nid=' . $news['ID']);
- } else {
- $html .= _("Invalid request.");
- }
+ } else {
+ $html .= _("Invalid request.");
+ }
- return $html . '</div>';
+ return $html . '</div>';
}
-function user_news() {
- global $DISPLAY_NEWS, $privileges, $user;
+function user_news()
+{
+ global $DISPLAY_NEWS, $privileges, $user;
+
+ $html = '<div class="col-md-12"><h1>' . news_title() . '</h1>' . msg();
+
+ if (isset($_POST["text"]) && isset($_POST["betreff"]) && in_array("admin_news", $privileges)) {
+ if (! isset($_POST["treffen"]) || ! in_array("admin_news", $privileges)) {
+ $_POST["treffen"] = 0;
+ }
+ sql_query("INSERT INTO `News` (`Datum`, `Betreff`, `Text`, `UID`, `Treffen`) " . "VALUES ('" . sql_escape(time()) . "', '" . sql_escape($_POST["betreff"]) . "', '" . sql_escape($_POST["text"]) . "', '" . sql_escape($user['UID']) . "', '" . sql_escape($_POST["treffen"]) . "');");
+ engelsystem_log("Created news: " . $_POST["betreff"] . ", treffen: " . $_POST["treffen"]);
+ success(_("Entry saved."));
+ redirect(page_link_to('news'));
+ }
- $html = '<div class="col-md-12"><h1>' . news_title() . '</h1>' . msg();
+ if (isset($_REQUEST['page']) && preg_match("/^[0-9]{1,}$/", $_REQUEST['page'])) {
+ $page = $_REQUEST['page'];
+ } else {
+ $page = 0;
+ }
- if (isset($_POST["text"]) && isset($_POST["betreff"]) && in_array("admin_news", $privileges)) {
- if (! isset($_POST["treffen"]) || ! in_array("admin_news", $privileges)) {
- $_POST["treffen"] = 0;
+ $news = sql_select("SELECT * FROM `News` ORDER BY `Datum` DESC LIMIT " . sql_escape($page * $DISPLAY_NEWS) . ", " . sql_escape($DISPLAY_NEWS));
+ foreach ($news as $entry) {
+ $html .= display_news($entry);
}
- sql_query("INSERT INTO `News` (`Datum`, `Betreff`, `Text`, `UID`, `Treffen`) " . "VALUES ('" . sql_escape(time()) . "', '" . sql_escape($_POST["betreff"]) . "', '" . sql_escape($_POST["text"]) . "', '" . sql_escape($user['UID']) . "', '" . sql_escape($_POST["treffen"]) . "');");
- engelsystem_log("Created news: " . $_POST["betreff"] . ", treffen: " . $_POST["treffen"]);
- success(_("Entry saved."));
- redirect(page_link_to('news'));
- }
-
- if (isset($_REQUEST['page']) && preg_match("/^[0-9]{1,}$/", $_REQUEST['page'])) {
- $page = $_REQUEST['page'];
- } else {
- $page = 0;
- }
-
- $news = sql_select("SELECT * FROM `News` ORDER BY `Datum` DESC LIMIT " . sql_escape($page * $DISPLAY_NEWS) . ", " . sql_escape($DISPLAY_NEWS));
- foreach ($news as $entry) {
- $html .= display_news($entry);
- }
-
- $dis_rows = ceil(sql_num_query("SELECT * FROM `News`") / $DISPLAY_NEWS);
- $html .= '<div class="text-center">' . '<ul class="pagination">';
- for ($i = 0; $i < $dis_rows; $i ++) {
- if (isset($_REQUEST['page']) && $i == $_REQUEST['page']) {
- $html .= '<li class="active">';
- } elseif (! isset($_REQUEST['page']) && $i == 0) {
- $html .= '<li class="active">';
- } else {
- $html .= '<li>';
+
+ $dis_rows = ceil(sql_num_query("SELECT * FROM `News`") / $DISPLAY_NEWS);
+ $html .= '<div class="text-center">' . '<ul class="pagination">';
+ for ($i = 0; $i < $dis_rows; $i ++) {
+ if (isset($_REQUEST['page']) && $i == $_REQUEST['page']) {
+ $html .= '<li class="active">';
+ } elseif (! isset($_REQUEST['page']) && $i == 0) {
+ $html .= '<li class="active">';
+ } else {
+ $html .= '<li>';
+ }
+ $html .= '<a href="' . page_link_to("news") . '&page=' . $i . '">' . ($i + 1) . '</a></li>';
}
- $html .= '<a href="' . page_link_to("news") . '&page=' . $i . '">' . ($i + 1) . '</a></li>';
- }
- $html .= '</ul></div>';
+ $html .= '</ul></div>';
- if (in_array("admin_news", $privileges)) {
- $html .= '<hr />';
- $html .= '<h2>' . _("Create news:") . '</h2>';
+ if (in_array("admin_news", $privileges)) {
+ $html .= '<hr />';
+ $html .= '<h2>' . _("Create news:") . '</h2>';
- $html .= form([
+ $html .= form([
form_text('betreff', _("Subject"), ''),
form_textarea('text', _("Message"), ''),
form_checkbox('treffen', _("Meeting"), false, 1),
- form_submit('submit', _("Save"))
+ form_submit('submit', _("Save"))
]);
- }
- return $html . '</div>';
+ }
+ return $html . '</div>';
}
-?>
diff --git a/includes/pages/user_questions.php b/includes/pages/user_questions.php
index 4abceb92..35231e1a 100644
--- a/includes/pages/user_questions.php
+++ b/includes/pages/user_questions.php
@@ -1,57 +1,58 @@
<?php
-function questions_title() {
- return _("Ask the Heaven");
+function questions_title()
+{
+ return _("Ask the Heaven");
}
-function user_questions() {
- global $user;
+function user_questions()
+{
+ global $user;
- if (! isset($_REQUEST['action'])) {
- $open_questions = sql_select("SELECT * FROM `Questions` WHERE `AID` IS NULL AND `UID`='" . sql_escape($user['UID']) . "'");
+ if (! isset($_REQUEST['action'])) {
+ $open_questions = sql_select("SELECT * FROM `Questions` WHERE `AID` IS NULL AND `UID`='" . sql_escape($user['UID']) . "'");
- $answered_questions = sql_select("SELECT * FROM `Questions` WHERE NOT `AID` IS NULL AND `UID`='" . sql_escape($user['UID']) . "'");
- foreach ($answered_questions as &$question) {
- $answer_user_source = User($question['AID']);
- $question['answer_user'] = User_Nick_render($answer_user_source);
- }
+ $answered_questions = sql_select("SELECT * FROM `Questions` WHERE NOT `AID` IS NULL AND `UID`='" . sql_escape($user['UID']) . "'");
+ foreach ($answered_questions as &$question) {
+ $answer_user_source = User($question['AID']);
+ $question['answer_user'] = User_Nick_render($answer_user_source);
+ }
- return Questions_view($open_questions, $answered_questions, page_link_to("user_questions") . '&action=ask');
- } else {
- switch ($_REQUEST['action']) {
+ return Questions_view($open_questions, $answered_questions, page_link_to("user_questions") . '&action=ask');
+ } else {
+ switch ($_REQUEST['action']) {
case 'ask':
$question = strip_request_item_nl('question');
if ($question != "") {
- $result = sql_query("INSERT INTO `Questions` SET `UID`='" . sql_escape($user['UID']) . "', `Question`='" . sql_escape($question) . "'");
- if ($result === false) {
- engelsystem_error(_("Unable to save question."));
- }
- success(_("You question was saved."));
- redirect(page_link_to("user_questions"));
+ $result = sql_query("INSERT INTO `Questions` SET `UID`='" . sql_escape($user['UID']) . "', `Question`='" . sql_escape($question) . "'");
+ if ($result === false) {
+ engelsystem_error(_("Unable to save question."));
+ }
+ success(_("You question was saved."));
+ redirect(page_link_to("user_questions"));
} else {
- return page_with_title(questions_title(), [
- error(_("Please enter a question!"), true)
+ return page_with_title(questions_title(), [
+ error(_("Please enter a question!"), true)
]);
}
break;
case 'delete':
if (isset($_REQUEST['id']) && preg_match("/^[0-9]{1,11}$/", $_REQUEST['id'])) {
- $question_id = $_REQUEST['id'];
+ $question_id = $_REQUEST['id'];
} else {
- return error(_("Incomplete call, missing Question ID."), true);
+ return error(_("Incomplete call, missing Question ID."), true);
}
$question = sql_select("SELECT * FROM `Questions` WHERE `QID`='" . sql_escape($question_id) . "' LIMIT 1");
if (count($question) > 0 && $question[0]['UID'] == $user['UID']) {
- sql_query("DELETE FROM `Questions` WHERE `QID`='" . sql_escape($question_id) . "' LIMIT 1");
- redirect(page_link_to("user_questions"));
+ sql_query("DELETE FROM `Questions` WHERE `QID`='" . sql_escape($question_id) . "' LIMIT 1");
+ redirect(page_link_to("user_questions"));
} else {
- return page_with_title(questions_title(), [
- error(_("No question found."), true)
+ return page_with_title(questions_title(), [
+ error(_("No question found."), true)
]);
}
break;
}
- }
+ }
}
-?> \ No newline at end of file
diff --git a/includes/pages/user_settings.php b/includes/pages/user_settings.php
index e776320f..cfdbc7ab 100644
--- a/includes/pages/user_settings.php
+++ b/includes/pages/user_settings.php
@@ -1,7 +1,8 @@
<?php
-function settings_title() {
- return _("Settings");
+function settings_title()
+{
+ return _("Settings");
}
/**
@@ -10,75 +11,76 @@ function settings_title() {
* @param User $user_source
* The user
*/
-function user_settings_main($user_source, $enable_tshirt_size, $tshirt_sizes) {
- $valid = true;
-
- if (isset($_REQUEST['mail'])) {
- $result = User_validate_mail($_REQUEST['mail']);
- $user_source['email'] = $result->getValue();
- if (! $result->isValid()) {
- $valid = false;
- error(_("E-mail address is not correct."));
+function user_settings_main($user_source, $enable_tshirt_size, $tshirt_sizes)
+{
+ $valid = true;
+
+ if (isset($_REQUEST['mail'])) {
+ $result = User_validate_mail($_REQUEST['mail']);
+ $user_source['email'] = $result->getValue();
+ if (! $result->isValid()) {
+ $valid = false;
+ error(_("E-mail address is not correct."));
+ }
+ } else {
+ $valid = false;
+ error(_("Please enter your e-mail."));
}
- } else {
- $valid = false;
- error(_("Please enter your e-mail."));
- }
-
- $user_source['email_shiftinfo'] = isset($_REQUEST['email_shiftinfo']);
- $user_source['email_by_human_allowed'] = isset($_REQUEST['email_by_human_allowed']);
-
- if (isset($_REQUEST['jabber'])) {
- $result = User_validate_jabber($_REQUEST['jabber']);
- $user_source['jabber'] = $result->getValue();
- if (! $result->isValid()) {
- $valid = false;
- error(_("Please check your jabber account information."));
+
+ $user_source['email_shiftinfo'] = isset($_REQUEST['email_shiftinfo']);
+ $user_source['email_by_human_allowed'] = isset($_REQUEST['email_by_human_allowed']);
+
+ if (isset($_REQUEST['jabber'])) {
+ $result = User_validate_jabber($_REQUEST['jabber']);
+ $user_source['jabber'] = $result->getValue();
+ if (! $result->isValid()) {
+ $valid = false;
+ error(_("Please check your jabber account information."));
+ }
}
- }
-
- if (isset($_REQUEST['tshirt_size']) && isset($tshirt_sizes[$_REQUEST['tshirt_size']])) {
- $user_source['Size'] = $_REQUEST['tshirt_size'];
- } elseif ($enable_tshirt_size) {
- $valid = false;
- }
-
- if (isset($_REQUEST['planned_arrival_date'])) {
- $tmp = parse_date("Y-m-d H:i", $_REQUEST['planned_arrival_date'] . " 00:00");
- $result = User_validate_planned_arrival_date($tmp);
- $user_source['planned_arrival_date'] = $result->getValue();
- if (! $result->isValid()) {
- $valid = false;
- error(_("Please enter your planned date of arrival. It should be after the buildup start date and before teardown end date."));
+
+ if (isset($_REQUEST['tshirt_size']) && isset($tshirt_sizes[$_REQUEST['tshirt_size']])) {
+ $user_source['Size'] = $_REQUEST['tshirt_size'];
+ } elseif ($enable_tshirt_size) {
+ $valid = false;
+ }
+
+ if (isset($_REQUEST['planned_arrival_date'])) {
+ $tmp = parse_date("Y-m-d H:i", $_REQUEST['planned_arrival_date'] . " 00:00");
+ $result = User_validate_planned_arrival_date($tmp);
+ $user_source['planned_arrival_date'] = $result->getValue();
+ if (! $result->isValid()) {
+ $valid = false;
+ error(_("Please enter your planned date of arrival. It should be after the buildup start date and before teardown end date."));
+ }
}
- }
-
- if (isset($_REQUEST['planned_departure_date'])) {
- $tmp = parse_date("Y-m-d H:i", $_REQUEST['planned_departure_date'] . " 00:00");
- $result = User_validate_planned_departure_date($user_source['planned_arrival_date'], $tmp);
- $user_source['planned_departure_date'] = $result->getValue();
- if (! $result->isValid()) {
- $valid = false;
- error(_("Please enter your planned date of departure. It should be after your planned arrival date and after buildup start date and before teardown end date."));
+
+ if (isset($_REQUEST['planned_departure_date'])) {
+ $tmp = parse_date("Y-m-d H:i", $_REQUEST['planned_departure_date'] . " 00:00");
+ $result = User_validate_planned_departure_date($user_source['planned_arrival_date'], $tmp);
+ $user_source['planned_departure_date'] = $result->getValue();
+ if (! $result->isValid()) {
+ $valid = false;
+ error(_("Please enter your planned date of departure. It should be after your planned arrival date and after buildup start date and before teardown end date."));
+ }
}
- }
// Trivia
$user_source['Name'] = strip_request_item('lastname', $user_source['Name']);
- $user_source['Vorname'] = strip_request_item('prename', $user_source['Vorname']);
- $user_source['Alter'] = strip_request_item('age', $user_source['Alter']);
- $user_source['Telefon'] = strip_request_item('tel', $user_source['Telefon']);
- $user_source['DECT'] = strip_request_item('dect', $user_source['DECT']);
- $user_source['Handy'] = strip_request_item('mobile', $user_source['Handy']);
- $user_source['Hometown'] = strip_request_item('hometown', $user_source['Hometown']);
-
- if ($valid) {
- User_update($user_source);
- success(_("Settings saved."));
- redirect(page_link_to('user_settings'));
- }
+ $user_source['Vorname'] = strip_request_item('prename', $user_source['Vorname']);
+ $user_source['Alter'] = strip_request_item('age', $user_source['Alter']);
+ $user_source['Telefon'] = strip_request_item('tel', $user_source['Telefon']);
+ $user_source['DECT'] = strip_request_item('dect', $user_source['DECT']);
+ $user_source['Handy'] = strip_request_item('mobile', $user_source['Handy']);
+ $user_source['Hometown'] = strip_request_item('hometown', $user_source['Hometown']);
+
+ if ($valid) {
+ User_update($user_source);
+ success(_("Settings saved."));
+ redirect(page_link_to('user_settings'));
+ }
- return $user_source;
+ return $user_source;
}
/**
@@ -87,20 +89,21 @@ function user_settings_main($user_source, $enable_tshirt_size, $tshirt_sizes) {
* @param User $user_source
* The user
*/
-function user_settings_password($user_source) {
- global $min_password_length;
- if (! isset($_REQUEST['password']) || ! verify_password($_REQUEST['password'], $user_source['Passwort'], $user_source['UID'])) {
- error(_("-> not OK. Please try again."));
- } elseif (strlen($_REQUEST['new_password']) < $min_password_length) {
- error(_("Your password is to short (please use at least 6 characters)."));
- } elseif ($_REQUEST['new_password'] != $_REQUEST['new_password2']) {
- error(_("Your passwords don't match."));
- } elseif (set_password($user_source['UID'], $_REQUEST['new_password'])) {
- success(_("Password saved."));
- } else {
- error(_("Failed setting password."));
- }
- redirect(page_link_to('user_settings'));
+function user_settings_password($user_source)
+{
+ global $min_password_length;
+ if (! isset($_REQUEST['password']) || ! verify_password($_REQUEST['password'], $user_source['Passwort'], $user_source['UID'])) {
+ error(_("-> not OK. Please try again."));
+ } elseif (strlen($_REQUEST['new_password']) < $min_password_length) {
+ error(_("Your password is to short (please use at least 6 characters)."));
+ } elseif ($_REQUEST['new_password'] != $_REQUEST['new_password2']) {
+ error(_("Your passwords don't match."));
+ } elseif (set_password($user_source['UID'], $_REQUEST['new_password'])) {
+ success(_("Password saved."));
+ } else {
+ error(_("Failed setting password."));
+ }
+ redirect(page_link_to('user_settings'));
}
/**
@@ -111,23 +114,24 @@ function user_settings_password($user_source) {
* @param array<String> $themes
* List of available themes
*/
-function user_settings_theme($user_source, $themes) {
- $valid = true;
-
- if (isset($_REQUEST['theme']) && isset($themes[$_REQUEST['theme']])) {
- $user_source['color'] = $_REQUEST['theme'];
- } else {
- $valid = false;
- }
+function user_settings_theme($user_source, $themes)
+{
+ $valid = true;
+
+ if (isset($_REQUEST['theme']) && isset($themes[$_REQUEST['theme']])) {
+ $user_source['color'] = $_REQUEST['theme'];
+ } else {
+ $valid = false;
+ }
- if ($valid) {
- sql_query("UPDATE `User` SET `color`='" . sql_escape($user_source['color']) . "' WHERE `UID`='" . sql_escape($user_source['UID']) . "'");
+ if ($valid) {
+ sql_query("UPDATE `User` SET `color`='" . sql_escape($user_source['color']) . "' WHERE `UID`='" . sql_escape($user_source['UID']) . "'");
- success(_("Theme changed."));
- redirect(page_link_to('user_settings'));
- }
+ success(_("Theme changed."));
+ redirect(page_link_to('user_settings'));
+ }
- return $user_source;
+ return $user_source;
}
/**
@@ -138,57 +142,58 @@ function user_settings_theme($user_source, $themes) {
* @param array<String> $locales
* List of available locales
*/
-function user_settings_locale($user_source, $locales) {
- $valid = true;
-
- if (isset($_REQUEST['language']) && isset($locales[$_REQUEST['language']])) {
- $user_source['Sprache'] = $_REQUEST['language'];
- } else {
- $valid = false;
- }
-
- if ($valid) {
- sql_query("UPDATE `User` SET `Sprache`='" . sql_escape($user_source['Sprache']) . "' WHERE `UID`='" . sql_escape($user_source['UID']) . "'");
- $_SESSION['locale'] = $user_source['Sprache'];
+function user_settings_locale($user_source, $locales)
+{
+ $valid = true;
+
+ if (isset($_REQUEST['language']) && isset($locales[$_REQUEST['language']])) {
+ $user_source['Sprache'] = $_REQUEST['language'];
+ } else {
+ $valid = false;
+ }
+
+ if ($valid) {
+ sql_query("UPDATE `User` SET `Sprache`='" . sql_escape($user_source['Sprache']) . "' WHERE `UID`='" . sql_escape($user_source['UID']) . "'");
+ $_SESSION['locale'] = $user_source['Sprache'];
- success("Language changed.");
- redirect(page_link_to('user_settings'));
- }
+ success("Language changed.");
+ redirect(page_link_to('user_settings'));
+ }
- return $user_source;
+ return $user_source;
}
/**
* Main user settings page/controller
*/
-function user_settings() {
- global $enable_tshirt_size, $tshirt_sizes, $themes, $locales;
- global $user;
-
- $buildup_start_date = null;
- $teardown_end_date = null;
- $event_config = EventConfig();
- if ($event_config != null) {
- if (isset($event_config['buildup_start_date'])) {
- $buildup_start_date = $event_config['buildup_start_date'];
+function user_settings()
+{
+ global $enable_tshirt_size, $tshirt_sizes, $themes, $locales;
+ global $user;
+
+ $buildup_start_date = null;
+ $teardown_end_date = null;
+ $event_config = EventConfig();
+ if ($event_config != null) {
+ if (isset($event_config['buildup_start_date'])) {
+ $buildup_start_date = $event_config['buildup_start_date'];
+ }
+ if (isset($event_config['teardown_end_date'])) {
+ $teardown_end_date = $event_config['teardown_end_date'];
+ }
}
- if (isset($event_config['teardown_end_date'])) {
- $teardown_end_date = $event_config['teardown_end_date'];
- }
- }
- $user_source = $user;
+ $user_source = $user;
- if (isset($_REQUEST['submit'])) {
- $user_source = user_settings_main($user_source, $enable_tshirt_size, $tshirt_sizes);
- } elseif (isset($_REQUEST['submit_password'])) {
- user_settings_password($user_source);
- } elseif (isset($_REQUEST['submit_theme'])) {
- $user_source = user_settings_theme($user_source, $themes);
- } elseif (isset($_REQUEST['submit_language'])) {
- $user_source = user_settings_locale($user_source, $locales);
- }
+ if (isset($_REQUEST['submit'])) {
+ $user_source = user_settings_main($user_source, $enable_tshirt_size, $tshirt_sizes);
+ } elseif (isset($_REQUEST['submit_password'])) {
+ user_settings_password($user_source);
+ } elseif (isset($_REQUEST['submit_theme'])) {
+ $user_source = user_settings_theme($user_source, $themes);
+ } elseif (isset($_REQUEST['submit_language'])) {
+ $user_source = user_settings_locale($user_source, $locales);
+ }
- return User_settings_view($user_source, $locales, $themes, $buildup_start_date, $teardown_end_date, $enable_tshirt_size, $tshirt_sizes);
+ return User_settings_view($user_source, $locales, $themes, $buildup_start_date, $teardown_end_date, $enable_tshirt_size, $tshirt_sizes);
}
-?>
diff --git a/includes/pages/user_shifts.php b/includes/pages/user_shifts.php
index c990ee4a..0a8ddf4f 100644
--- a/includes/pages/user_shifts.php
+++ b/includes/pages/user_shifts.php
@@ -1,8 +1,9 @@
<?php
use Engelsystem\ShiftsFilter;
-function shifts_title() {
- return _("Shifts");
+function shifts_title()
+{
+ return _("Shifts");
}
/**
@@ -12,24 +13,25 @@ function shifts_title() {
* Split actions into shift edit, shift delete, shift entry edit, shift entry delete
* Introduce simpler and beautiful actions for shift entry join/leave for users
*/
-function user_shifts() {
- global $user;
+function user_shifts()
+{
+ global $user;
- if (User_is_freeloader($user)) {
- redirect(page_link_to('user_myshifts'));
- }
+ if (User_is_freeloader($user)) {
+ redirect(page_link_to('user_myshifts'));
+ }
// Löschen einzelner Schicht-Einträge (Also Belegung einer Schicht von Engeln) durch Admins
if (isset($_REQUEST['entry_id'])) {
- return shift_entry_delete_controller();
+ return shift_entry_delete_controller();
} elseif (isset($_REQUEST['edit_shift'])) {
- return shift_edit_controller();
+ return shift_edit_controller();
} elseif (isset($_REQUEST['delete_shift'])) {
- return shift_delete_controller();
+ return shift_delete_controller();
} elseif (isset($_REQUEST['shift_id'])) {
- return shift_entry_add_controller();
+ return shift_entry_add_controller();
}
- return view_user_shifts();
+ return view_user_shifts();
}
/**
@@ -39,23 +41,24 @@ function user_shifts() {
* @param ShiftsFilter $shiftsFilter
* The shiftfilter to update.
*/
-function update_ShiftsFilter_timerange(ShiftsFilter $shiftsFilter, $days) {
- $start_time = $shiftsFilter->getStartTime();
- if ($start_time == null) {
- $start_time = time();
- }
+function update_ShiftsFilter_timerange(ShiftsFilter $shiftsFilter, $days)
+{
+ $start_time = $shiftsFilter->getStartTime();
+ if ($start_time == null) {
+ $start_time = time();
+ }
- $end_time = $shiftsFilter->getEndTime();
- if ($end_time == null) {
- $end_time = $start_time + 24 * 60 * 60;
- }
+ $end_time = $shiftsFilter->getEndTime();
+ if ($end_time == null) {
+ $end_time = $start_time + 24 * 60 * 60;
+ }
- $shiftsFilter->setStartTime(check_request_datetime('start_day', 'start_time', $days, $start_time));
- $shiftsFilter->setEndTime(check_request_datetime('end_day', 'end_time', $days, $end_time));
+ $shiftsFilter->setStartTime(check_request_datetime('start_day', 'start_time', $days, $start_time));
+ $shiftsFilter->setEndTime(check_request_datetime('end_day', 'end_time', $days, $end_time));
- if ($shiftsFilter->getStartTime() > $shiftsFilter->getEndTime()) {
- $shiftsFilter->setEndTime($shiftsFilter->getStartTime() + 24 * 60 * 60);
- }
+ if ($shiftsFilter->getStartTime() > $shiftsFilter->getEndTime()) {
+ $shiftsFilter->setEndTime($shiftsFilter->getStartTime() + 24 * 60 * 60);
+ }
}
/**
@@ -68,90 +71,95 @@ function update_ShiftsFilter_timerange(ShiftsFilter $shiftsFilter, $days) {
* @param string[] $days
* An array of available filter days
*/
-function update_ShiftsFilter(ShiftsFilter $shiftsFilter, $user_shifts_admin, $days) {
- $shiftsFilter->setUserShiftsAdmin($user_shifts_admin);
- $shiftsFilter->setFilled(check_request_int_array('filled', $shiftsFilter->getFilled()));
- $shiftsFilter->setRooms(check_request_int_array('rooms', $shiftsFilter->getRooms()));
- $shiftsFilter->setTypes(check_request_int_array('types', $shiftsFilter->getTypes()));
- update_ShiftsFilter_timerange($shiftsFilter, $days);
+function update_ShiftsFilter(ShiftsFilter $shiftsFilter, $user_shifts_admin, $days)
+{
+ $shiftsFilter->setUserShiftsAdmin($user_shifts_admin);
+ $shiftsFilter->setFilled(check_request_int_array('filled', $shiftsFilter->getFilled()));
+ $shiftsFilter->setRooms(check_request_int_array('rooms', $shiftsFilter->getRooms()));
+ $shiftsFilter->setTypes(check_request_int_array('types', $shiftsFilter->getTypes()));
+ update_ShiftsFilter_timerange($shiftsFilter, $days);
}
-function load_rooms() {
- $rooms = sql_select("SELECT `RID` AS `id`, `Name` AS `name` FROM `Room` WHERE `show`='Y' ORDER BY `Name`");
- if (count($rooms) == 0) {
- error(_("The administration has not configured any rooms yet."));
- redirect('?');
- }
- return $rooms;
+function load_rooms()
+{
+ $rooms = sql_select("SELECT `RID` AS `id`, `Name` AS `name` FROM `Room` WHERE `show`='Y' ORDER BY `Name`");
+ if (count($rooms) == 0) {
+ error(_("The administration has not configured any rooms yet."));
+ redirect('?');
+ }
+ return $rooms;
}
-function load_days() {
- $days = sql_select_single_col("
+function load_days()
+{
+ $days = sql_select_single_col("
SELECT DISTINCT DATE(FROM_UNIXTIME(`start`)) AS `id`, DATE(FROM_UNIXTIME(`start`)) AS `name`
FROM `Shifts`
ORDER BY `start`");
- if (count($days) == 0) {
- error(_("The administration has not configured any shifts yet."));
- redirect('?');
- }
- return $days;
+ if (count($days) == 0) {
+ error(_("The administration has not configured any shifts yet."));
+ redirect('?');
+ }
+ return $days;
}
-function load_types() {
- global $user;
+function load_types()
+{
+ global $user;
- if (sql_num_query("SELECT `id`, `name` FROM `AngelTypes` WHERE `restricted` = 0") == 0) {
- error(_("The administration has not configured any angeltypes yet - or you are not subscribed to any angeltype."));
- redirect('?');
- }
- $types = sql_select("SELECT `AngelTypes`.`id`, `AngelTypes`.`name`, (`AngelTypes`.`restricted`=0 OR (NOT `UserAngelTypes`.`confirm_user_id` IS NULL OR `UserAngelTypes`.`id` IS NULL)) as `enabled` FROM `AngelTypes` LEFT JOIN `UserAngelTypes` ON (`UserAngelTypes`.`angeltype_id`=`AngelTypes`.`id` AND `UserAngelTypes`.`user_id`='" . sql_escape($user['UID']) . "') ORDER BY `AngelTypes`.`name`");
- if (empty($types)) {
- return sql_select("SELECT `id`, `name` FROM `AngelTypes` WHERE `restricted` = 0");
- }
- return $types;
+ if (sql_num_query("SELECT `id`, `name` FROM `AngelTypes` WHERE `restricted` = 0") == 0) {
+ error(_("The administration has not configured any angeltypes yet - or you are not subscribed to any angeltype."));
+ redirect('?');
+ }
+ $types = sql_select("SELECT `AngelTypes`.`id`, `AngelTypes`.`name`, (`AngelTypes`.`restricted`=0 OR (NOT `UserAngelTypes`.`confirm_user_id` IS NULL OR `UserAngelTypes`.`id` IS NULL)) as `enabled` FROM `AngelTypes` LEFT JOIN `UserAngelTypes` ON (`UserAngelTypes`.`angeltype_id`=`AngelTypes`.`id` AND `UserAngelTypes`.`user_id`='" . sql_escape($user['UID']) . "') ORDER BY `AngelTypes`.`name`");
+ if (empty($types)) {
+ return sql_select("SELECT `id`, `name` FROM `AngelTypes` WHERE `restricted` = 0");
+ }
+ return $types;
}
-function view_user_shifts() {
- global $user, $privileges;
- global $ical_shifts;
+function view_user_shifts()
+{
+ global $user, $privileges;
+ global $ical_shifts;
- $ical_shifts = [];
- $days = load_days();
- $rooms = load_rooms();
- $types = load_types();
+ $ical_shifts = [];
+ $days = load_days();
+ $rooms = load_rooms();
+ $types = load_types();
- if (! isset($_SESSION['ShiftsFilter'])) {
- $room_ids = [
- $rooms[0]['id']
+ if (! isset($_SESSION['ShiftsFilter'])) {
+ $room_ids = [
+ $rooms[0]['id']
];
- $type_ids = array_map('get_ids_from_array', $types);
- $_SESSION['ShiftsFilter'] = new ShiftsFilter(in_array('user_shifts_admin', $privileges), $room_ids, $type_ids);
- }
- update_ShiftsFilter($_SESSION['ShiftsFilter'], in_array('user_shifts_admin', $privileges), $days);
- $shiftsFilter = $_SESSION['ShiftsFilter'];
+ $type_ids = array_map('get_ids_from_array', $types);
+ $_SESSION['ShiftsFilter'] = new ShiftsFilter(in_array('user_shifts_admin', $privileges), $room_ids, $type_ids);
+ }
+ update_ShiftsFilter($_SESSION['ShiftsFilter'], in_array('user_shifts_admin', $privileges), $days);
+ $shiftsFilter = $_SESSION['ShiftsFilter'];
- $shiftCalendarRenderer = shiftCalendarRendererByShiftFilter($shiftsFilter);
+ $shiftCalendarRenderer = shiftCalendarRendererByShiftFilter($shiftsFilter);
- if ($user['api_key'] == "") {
- User_reset_api_key($user, false);
- }
+ if ($user['api_key'] == "") {
+ User_reset_api_key($user, false);
+ }
- $filled = [
+ $filled = [
[
'id' => '1',
- 'name' => _("occupied")
+ 'name' => _("occupied")
],
[
'id' => '0',
- 'name' => _("free")
- ]
+ 'name' => _("free")
+ ]
];
- $start_day = date("Y-m-d", $shiftsFilter->getStartTime());
- $start_time = date("H:i", $shiftsFilter->getStartTime());
- $end_day = date("Y-m-d", $shiftsFilter->getEndTime());
- $end_time = date("H:i", $shiftsFilter->getEndTime());
+ $start_day = date("Y-m-d", $shiftsFilter->getStartTime());
+ $start_time = date("H:i", $shiftsFilter->getStartTime());
+ $end_day = date("Y-m-d", $shiftsFilter->getEndTime());
+ $end_time = date("H:i", $shiftsFilter->getEndTime());
- return page([
+ return page([
div('col-md-12', [
msg(),
template_render(__DIR__ . '/../../templates/user_shifts.html', [
@@ -166,32 +174,33 @@ function view_user_shifts() {
'task_notice' => '<sup>1</sup>' . _("The tasks shown here are influenced by the angeltypes you joined already!") . " <a href=\"" . page_link_to('angeltypes') . '&action=about' . "\">" . _("Description of the jobs.") . "</a>",
'shifts_table' => msg() . $shiftCalendarRenderer->render(),
'ical_text' => '<h2>' . _("iCal export") . '</h2><p>' . sprintf(_("Export of shown shifts. <a href=\"%s\">iCal format</a> or <a href=\"%s\">JSON format</a> available (please keep secret, otherwise <a href=\"%s\">reset the api key</a>)."), page_link_to_absolute('ical') . '&key=' . $user['api_key'], page_link_to_absolute('shifts_json_export') . '&key=' . $user['api_key'], page_link_to('user_myshifts') . '&reset') . '</p>',
- 'filter' => _("Filter")
- ])
- ])
+ 'filter' => _("Filter")
+ ])
+ ])
]);
}
-function get_ids_from_array($array) {
- return $array["id"];
+function get_ids_from_array($array)
+{
+ return $array["id"];
}
-function make_select($items, $selected, $name, $title = null) {
- $html_items = [];
- if (isset($title)) {
- $html_items[] = '<h4>' . $title . '</h4>' . "\n";
- }
+function make_select($items, $selected, $name, $title = null)
+{
+ $html_items = [];
+ if (isset($title)) {
+ $html_items[] = '<h4>' . $title . '</h4>' . "\n";
+ }
- foreach ($items as $i) {
- $html_items[] = '<div class="checkbox"><label><input type="checkbox" name="' . $name . '[]" value="' . $i['id'] . '"' . (in_array($i['id'], $selected) ? ' checked="checked"' : '') . '> ' . $i['name'] . '</label>' . (! isset($i['enabled']) || $i['enabled'] ? '' : glyph("lock")) . '</div><br />';
- }
- $html = '<div id="selection_' . $name . '" class="selection ' . $name . '">' . "\n";
- $html .= implode("\n", $html_items);
- $html .= buttons([
+ foreach ($items as $i) {
+ $html_items[] = '<div class="checkbox"><label><input type="checkbox" name="' . $name . '[]" value="' . $i['id'] . '"' . (in_array($i['id'], $selected) ? ' checked="checked"' : '') . '> ' . $i['name'] . '</label>' . (! isset($i['enabled']) || $i['enabled'] ? '' : glyph("lock")) . '</div><br />';
+ }
+ $html = '<div id="selection_' . $name . '" class="selection ' . $name . '">' . "\n";
+ $html .= implode("\n", $html_items);
+ $html .= buttons([
button("javascript: checkAll('selection_" . $name . "', true)", _("All"), ""),
- button("javascript: checkAll('selection_" . $name . "', false)", _("None"), "")
+ button("javascript: checkAll('selection_" . $name . "', false)", _("None"), "")
]);
- $html .= '</div>' . "\n";
- return $html;
+ $html .= '</div>' . "\n";
+ return $html;
}
-?>