aboutsummaryrefslogtreecommitdiffhomepage
path: root/routes
diff options
context:
space:
mode:
Diffstat (limited to 'routes')
-rw-r--r--routes/preferences.php25
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