diff options
| author | winter | 2025-01-26 15:25:17 +0000 |
|---|---|---|
| committer | winter | 2025-01-26 15:25:17 +0000 |
| commit | 890dad24d6c095c41e6358b2a6cb61f1b6c2f6ad (patch) | |
| tree | a662dfd61585b755054075cd93121a9c70a48983 /routes/preferences.php | |
| parent | 5841d6550936e1fc34f1fbdf4325b1e27ff79230 (diff) | |
add user settings / preferences
Diffstat (limited to 'routes/preferences.php')
| -rw-r--r-- | routes/preferences.php | 25 |
1 files changed, 25 insertions, 0 deletions
diff --git a/routes/preferences.php b/routes/preferences.php new file mode 100644 index 0000000..c7e27fc --- /dev/null +++ b/routes/preferences.php @@ -0,0 +1,25 @@ +<?php + +use Digitigrade\Model\UserAccount; +use Digitigrade\Router; +use Digitigrade\UserSettings; + +Router::getInstance()->mount('/preferences', function (array $args) { + $user = UserAccount::requireByCurrentSession(); + render_template('preferences_page', ['user' => $user]); +}); + +Router::getInstance()->mount('/fragment/preferences', function (array $args) { + $user = UserAccount::requireByCurrentSession(); + $settings = new UserSettings($user); + $saved = false; + if ($_SERVER['REQUEST_METHOD'] == 'POST') { + // updating the preferences + $user->actor->requestToFollow = $_POST['requestToFollow'] == 'true'; + $user->actor->save(); + $settings->set('interface.smallUnreadIndicators', $_POST['smallIndicators']); + + $saved = true; + } + render_template('preferences_form', ['user' => $user, 'saved' => $saved]); +});
\ No newline at end of file |
