fastcgi_param SCRIPT_FILENAME ${dollar}document_root/insert.sh;
}
+ location ~ ^/split(.*) {
+ include fastcgi_params;
+ fastcgi_pass unix:/var/run/fcgiwrap.socket;
+ fastcgi_param DATE ${dollar}arg_date;
+ fastcgi_param SCRIPT_FILENAME ${dollar}document_root/split.sh;
+ }
+
location = / {
include fastcgi_params;
fastcgi_pass unix:/var/run/fcgiwrap.socket;
<button type='submit'>Associate</button>
</fieldset>
</form>
+
+ <form action='/split'>
+ <fieldset>
+ <legend>Exercise categories since (split)</legend>
+ <label>
+ 📅<input type='date' id='date' name='date' required />
+ </label>
+ <button type='submit'>Record</>
+ </fieldset>
+ </form>
</body>
</html>"
--- /dev/null
+#!/bin/bash
+# Copyright (c) 2024 Jakub Czajka <jakub@ekhem.eu.org>
+# License: GPL-3.0 or later.
+
+. /etc/environment
+
+PAGE="
+<!DOCTYPE html>
+<html>
+<meta name='viewport' content='width=device-width'>
+<link rel='stylesheet' href='gym.css'>
+<head>
+ <title>Gym</title>
+</head>
+<body>
+ $(/usr/bin/psql --user=gym_tracker --html --dbname="${GYM_DB}" --command="\
+SELECT categories.name, COUNT(*) AS exercises_per_category
+FROM workouts INNER JOIN workouts_exercises
+ ON workouts.id = workouts_exercises.workout_id
+INNER JOIN exercises_categories
+ ON workouts_exercises.exercise_id = exercises_categories.exercise_id
+INNER JOIN categories ON exercises_categories.category_id = categories.id
+WHERE date >= '${DATE}'
+GROUP BY categories.id
+ORDER BY categories.id")
+</body>
+</html>"
+
+echo "HTTP/1.1 200 OK"
+echo "Content-Type: text/html"
+echo "${PAGE}" | sed 's/^[ \t]*//g'