diff --git a/action.php b/action.php index a5c638d..3b62b21 100644 --- a/action.php +++ b/action.php @@ -211,4 +211,25 @@ switch ($VARS['action']) { returnToSender("family_doesnt_exist"); } break; + case "editevents": + if (!(new User($_SESSION['uid']))->hasPermission("HACHEPORTAL_EDIT")) { + returnToSender("no_permission"); + } + + foreach ($_POST['events'] as $k => $v) { + if ($database->has("events", ["eventid" => $k])) { + if (empty($v)) { + $database->delete("interests", ["eventid" => $k]); + $database->delete("events", ["eventid" => $k]); + continue; + } + $database->update("events", ["event" => $v], ["eventid" => $k]); + } else { + if (empty($v)) { + continue; + } + $database->insert("events", ["event" => $v]); + } + } + returnToSender("events_updated"); } \ No newline at end of file diff --git a/langs/en/labels.json b/langs/en/labels.json index a09dee7..f69cd22 100644 --- a/langs/en/labels.json +++ b/langs/en/labels.json @@ -23,5 +23,8 @@ "Adding Family": "Adding Family", "Editing Family": "Editing {family} Family", "Recent Payments": "Recent Payments", - "Interests": "Interests" + "Interests": "Interests", + "Event List": "Event List", + "Popularity": "Popularity", + "Event": "Event" } diff --git a/langs/en/messages.json b/langs/en/messages.json index 04c105e..2ed8270 100644 --- a/langs/en/messages.json +++ b/langs/en/messages.json @@ -6,5 +6,6 @@ "Are you sure you want to delete this family?": "Are you sure you want to delete this family?", "This action cannot be undone! All information about this family, including payment history, will be purged forever.": "This action cannot be undone! All information about this family, including payment history, will be purged forever.", "To remove a child, delete the contents of the Name box.": "To remove a child, delete the contents of the Name box.", - "No interests selected.": "No interests selected." + "No interests selected.": "No interests selected.", + "Events updated.": "Events updated." } diff --git a/langs/en/titles.json b/langs/en/titles.json index 444d329..7352b81 100644 --- a/langs/en/titles.json +++ b/langs/en/titles.json @@ -4,5 +4,6 @@ "Members": "Members", "View Family": "View Family", "Family": "Family", - "Delete Family": "Delete Family" + "Delete Family": "Delete Family", + "Events": "Events" } diff --git a/langs/messages.php b/langs/messages.php index 4fec34e..d4130c7 100644 --- a/langs/messages.php +++ b/langs/messages.php @@ -32,5 +32,9 @@ define("MESSAGES", [ "family_deleted" => [ "string" => "Family deleted.", "type" => "success" + ], + "events_updated" => [ + "string" => "Events updated.", + "type" => "success" ] ]); diff --git a/pages.php b/pages.php index 64ca7bf..d35a0da 100644 --- a/pages.php +++ b/pages.php @@ -36,6 +36,14 @@ define("PAGES", [ "confirmdelete" => [ "title" => "Delete Family" ], + "events" => [ + "title" => "Events", + "navbar" => true, + "icon" => "fas fa-volleyball-ball", + "scripts" => [ + "static/js/events.js" + ], + ], "404" => [ "title" => "404 error" ] diff --git a/pages/events.php b/pages/events.php new file mode 100644 index 0000000..f767411 --- /dev/null +++ b/pages/events.php @@ -0,0 +1,128 @@ +hasPermission("HACHEPORTAL_VIEW")) { + header("Location: ./app.php?msg=no_permission"); + die(); +} +$editpermission = $user->hasPermission("HACHEPORTAL_EDIT"); +$editable = ($editpermission && !empty($_GET['edit'])); + +$events = $database->select('events', ['eventid (id)', 'event (name)']); +?> + +
+ +
+
+
+

+ + get("Popularity"); ?> +

+
+ +
    +
  • + get("Event"); ?> + get("Families"); ?> +
  • + select("interests", ["[>]events" => ['eventid' => 'eventid']], ['interests.eventid (id)', 'events.event (name)']); + $ranking = []; + $rankingtitles = []; + foreach ($interests as $ev) { + if (empty($ranking[$ev['id']])) { + $ranking[$ev['id']] = 1; + $rankingtitles[$ev['id']] = $ev['name']; + } else { + $ranking[$ev['id']] ++; + } + } + arsort($ranking); + foreach ($ranking as $k => $v) { + ?> +
  • + + +
  • + +
+
+
+ +
+ +
+ + + + +
+
+

+ + + get("Event List"); ?> + + + + + + get("Edit"); ?> + + + +

+
+
    + +
  • + + + +
  • + + +
  • + +
  • + +
+ + + +
+ + +
+ +
+ +
\ No newline at end of file