summaryrefslogtreecommitdiff
path: root/includes/pages/admin_arrive.php
diff options
context:
space:
mode:
Diffstat (limited to 'includes/pages/admin_arrive.php')
-rw-r--r--includes/pages/admin_arrive.php397
1 files changed, 209 insertions, 188 deletions
diff --git a/includes/pages/admin_arrive.php b/includes/pages/admin_arrive.php
index 4a1ee8d7..77155dae 100644
--- a/includes/pages/admin_arrive.php
+++ b/includes/pages/admin_arrive.php
@@ -1,201 +1,222 @@
<?php
-function admin_arrive_title() {
- return _("Arrived angels");
+use Engelsystem\Database\DB;
+
+/**
+ * @return string
+ */
+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);
- }
- } 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);
+/**
+ * @return string
+ */
+function admin_arrive()
+{
+ $msg = '';
+ $search = '';
+ if (isset($_REQUEST['search'])) {
+ $search = strip_request_item('search');
}
- }
-
- $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('/^\d*$/', $_REQUEST['reset'])) {
+ $user_id = $_REQUEST['reset'];
+ $user_source = User($user_id);
+ if ($user_source != null) {
+ DB::update('
+ UPDATE `User`
+ SET `Gekommen`=0, `arrival_date` = NULL
+ WHERE `UID`=?
+ LIMIT 1
+ ', [$user_id]);
+ 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('/^\d*$/', $_REQUEST['arrived'])) {
+ $user_id = $_REQUEST['arrived'];
+ $user_source = User($user_id);
+ if ($user_source != null) {
+ DB::update('
+ UPDATE `User`
+ SET `Gekommen`=1, `arrival_date`=?
+ WHERE `UID`=?
+ LIMIT 1
+ ', [time(), $user_id]);
+ 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 = DB::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>';
-
- 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] ++;
+ 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;
+ }
+ }
+
+ $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['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_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;
}
-
- 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] ++;
+
+ 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] = [
+ 'day' => $day,
+ 'count' => $count,
+ 'sum' => $arrival_sum
+ ];
}
-
- 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] ++;
+
+ $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
+ ];
}
-
- $users_matched[] = $usr;
- }
-
- 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] = [
- 'day' => $day,
- 'count' => $count,
- '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] = [
- 'day' => $day,
- 'count' => $count,
- '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] = [
- 'day' => $day,
- 'count' => $count,
- 'sum' => $planned_departure_sum
- ];
- }
-
- return page_with_title(admin_arrive_title(), [
- msg(),
- form([
- form_text('search', _("Search"), $search),
- form_submit('submit', _("Search"))
- ]),
- table([
- 'nick' => _("Nickname"),
- 'rendered_planned_arrival_date' => _("Planned arrival"),
- 'arrived' => _("Arrived?"),
- 'rendered_arrival_date' => _("Arrival date"),
- 'rendered_planned_departure_date' => _("Planned departure"),
- 'actions' => ""
- ], $users_matched),
- div('row', [
- div('col-md-4', [
- heading(_("Planned arrival statistics"), 2),
- bargraph('planned_arrives', 'day', [
- 'count' => _("arrived"),
- 'sum' => _("arrived sum")
- ], [
- 'count' => '#090',
- 'sum' => '#888'
- ], $planned_arrival_at_day),
- table([
- 'day' => _("Date"),
- 'count' => _("Count"),
- 'sum' => _("Sum")
- ], $planned_arrival_at_day)
- ]),
- div('col-md-4', [
- heading(_("Arrival statistics"), 2),
- bargraph('arrives', 'day', [
- 'count' => _("arrived"),
- 'sum' => _("arrived sum")
- ], [
- 'count' => '#090',
- 'sum' => '#888'
- ], $arrival_at_day),
- table([
- 'day' => _("Date"),
- 'count' => _("Count"),
- 'sum' => _("Sum")
- ], $arrival_at_day)
- ]),
- div('col-md-4', [
- heading(_("Planned departure statistics"), 2),
- bargraph('planned_departures', 'day', [
- 'count' => _("arrived"),
- 'sum' => _("arrived sum")
- ], [
- 'count' => '#090',
- 'sum' => '#888'
- ], $planned_departure_at_day),
- table([
- 'day' => _("Date"),
- 'count' => _("Count"),
- 'sum' => _("Sum")
- ], $planned_departure_at_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
+ ];
+ }
+
+ return page_with_title(admin_arrive_title(), [
+ $msg . msg(),
+ form([
+ form_text('search', _('Search'), $search),
+ form_submit('submit', _('Search'))
+ ]),
+ table([
+ 'nick' => _('Nickname'),
+ 'rendered_planned_arrival_date' => _('Planned arrival'),
+ 'arrived' => _('Arrived?'),
+ 'rendered_arrival_date' => _('Arrival date'),
+ 'rendered_planned_departure_date' => _('Planned departure'),
+ 'actions' => ''
+ ], $users_matched),
+ div('row', [
+ div('col-md-4', [
+ heading(_('Planned arrival statistics'), 2),
+ bargraph('planned_arrives', 'day', [
+ 'count' => _('arrived'),
+ 'sum' => _('arrived sum')
+ ], [
+ 'count' => '#090',
+ 'sum' => '#888'
+ ], $planned_arrival_at_day),
+ table([
+ 'day' => _('Date'),
+ 'count' => _('Count'),
+ 'sum' => _('Sum')
+ ], $planned_arrival_at_day)
+ ]),
+ div('col-md-4', [
+ heading(_('Arrival statistics'), 2),
+ bargraph('arrives', 'day', [
+ 'count' => _('arrived'),
+ 'sum' => _('arrived sum')
+ ], [
+ 'count' => '#090',
+ 'sum' => '#888'
+ ], $arrival_at_day),
+ table([
+ 'day' => _('Date'),
+ 'count' => _('Count'),
+ 'sum' => _('Sum')
+ ], $arrival_at_day)
+ ]),
+ div('col-md-4', [
+ heading(_('Planned departure statistics'), 2),
+ bargraph('planned_departures', 'day', [
+ 'count' => _('arrived'),
+ 'sum' => _('arrived sum')
+ ], [
+ 'count' => '#090',
+ 'sum' => '#888'
+ ], $planned_departure_at_day),
+ table([
+ 'day' => _('Date'),
+ 'count' => _('Count'),
+ 'sum' => _('Sum')
+ ], $planned_departure_at_day)
+ ])
+ ])
+ ]);
}
-?>