- Public display

This commit is contained in:
Ty Clifford
2026-07-03 18:00:34 -04:00
parent c5ec4f4c7e
commit 90b1194b65
16 changed files with 237 additions and 49 deletions
+49 -1
View File
@@ -4,9 +4,57 @@ declare(strict_types=1);
date_default_timezone_set('America/New_York');
const APP_ROOT = __DIR__ . '/..';
const CONFIG_DIR = APP_ROOT . '/config';
const PUBLIC_ACCESS_CONFIG_PATH = CONFIG_DIR . '/public-access.json';
const DATA_DIR = APP_ROOT . '/data';
const DB_PATH = DATA_DIR . '/health_tracker.sqlite';
function public_access_config(): array
{
static $config = null;
if (is_array($config)) {
return $config;
}
$config = [
'admin_area_enabled' => false,
'tracker_area_enabled' => false,
];
if (!is_file(PUBLIC_ACCESS_CONFIG_PATH)) {
return $config;
}
$json = json_decode((string) file_get_contents(PUBLIC_ACCESS_CONFIG_PATH), true);
if (!is_array($json)) {
return $config;
}
foreach ($config as $key => $default) {
if (array_key_exists($key, $json)) {
$config[$key] = filter_var($json[$key], FILTER_VALIDATE_BOOLEAN);
}
}
return $config;
}
function app_admin_area_enabled(): bool
{
return public_access_config()['admin_area_enabled'];
}
function app_tracker_area_enabled(): bool
{
return public_access_config()['tracker_area_enabled'];
}
function app_private_tools_enabled(): bool
{
return app_admin_area_enabled() || app_tracker_area_enabled();
}
function app_db(): PDO
{
static $pdo = null;
@@ -2698,7 +2746,7 @@ function state_payload(array $query): array
}
}
$userId = (int) $currentUser['id'];
$currentUserIsAdmin = is_admin($pdo, $userId);
$currentUserIsAdmin = app_admin_area_enabled() && is_admin($pdo, $userId);
$exercises = db_all(
$pdo,