diff --git a/assets/less/mio/classes/input/text.less b/assets/less/mio/classes/input/text.less index df90e5ac..e58e6d21 100644 --- a/assets/less/mio/classes/input/text.less +++ b/assets/less/mio/classes/input/text.less @@ -7,6 +7,10 @@ &:focus { border-color: #9475b2; } + + &--readonly { + color: #666; + } } .mio--dark .input__text { diff --git a/config/config.example.ini b/config/config.example.ini index 38985de1..3b1aff5e 100644 --- a/config/config.example.ini +++ b/config/config.example.ini @@ -42,3 +42,7 @@ method = null ; encryption = tls ; username = sys@misuzu.localhost ; password = flashwaveiscool78 + +[Exceptions] +report_url = http://misuzu-crash.localhost/report.php +hash_key = secret_key_used_to_make_a_hmac_sha256_hash diff --git a/public/settings.php b/public/settings.php index 7138d6fa..e4828aac 100644 --- a/public/settings.php +++ b/public/settings.php @@ -4,7 +4,6 @@ use Misuzu\IO\File; require_once __DIR__ . '/../misuzu.php'; -$db = Database::connection(); $tpl = $app->getTemplating(); $queryOffset = (int)($_GET['o'] ?? 0); @@ -148,7 +147,7 @@ if ($_SERVER['REQUEST_METHOD'] === 'POST') { ) { $updateAccountFields = []; - $fetchPassword = $db->prepare(' + $fetchPassword = Database::prepare(' SELECT `password` FROM `msz_users` WHERE `user_id` = :user_id @@ -222,7 +221,7 @@ if ($_SERVER['REQUEST_METHOD'] === 'POST') { } if (count($updateAccountFields) > 0) { - $updateUser = $db->prepare(' + $updateUser = Database::prepare(' UPDATE `msz_users` SET ' . pdo_prepare_array_update($updateAccountFields, true) . ' WHERE `user_id` = :user_id @@ -298,7 +297,7 @@ if ($_SERVER['REQUEST_METHOD'] === 'POST') { break; } - $findSession = $db->prepare(' + $findSession = Database::prepare(' SELECT `session_id`, `user_id` FROM `msz_sessions` WHERE `session_id` = :session_id @@ -330,7 +329,7 @@ $tpl->var('settings_errors', $settingsErrors); switch ($settingsMode) { case 'account': $profileFields = user_profile_fields_get(); - $getUserFields = $db->prepare(' + $getUserFields = Database::prepare(' SELECT ' . pdo_prepare_array($profileFields, true, '`user_%s`') . ' FROM `msz_users` WHERE `user_id` = :user_id @@ -338,10 +337,19 @@ switch ($settingsMode) { $getUserFields->bindValue('user_id', $app->getUserId()); $userFields = $getUserFields->execute() ? $getUserFields->fetch() : []; + $getMail = Database::prepare(' + SELECT `email` + FROM `msz_users` + WHERE `user_id` = :user_id + '); + $getMail->bindValue('user_id', $app->getUserId()); + $currentEmail = $getMail->execute() ? $getMail->fetchColumn() : 'Failed to fetch e-mail address.'; + $tpl->vars([ 'settings_profile_fields' => $profileFields, 'settings_profile_values' => $userFields, 'settings_disable_account_options' => $disableAccountOptions, + 'settings_email' => $currentEmail, ]); break; @@ -357,7 +365,7 @@ switch ($settingsMode) { break; case 'sessions': - $getSessionCount = $db->prepare(' + $getSessionCount = Database::prepare(' SELECT COUNT(`session_id`) FROM `msz_sessions` WHERE `user_id` = :user_id @@ -365,7 +373,7 @@ switch ($settingsMode) { $getSessionCount->bindValue('user_id', $app->getUserId()); $sessionCount = $getSessionCount->execute() ? $getSessionCount->fetchColumn() : 0; - $getSessions = $db->prepare(' + $getSessions = Database::prepare(' SELECT `session_id`, `session_country`, `user_agent`, `created_at`, `expires_on`, INET6_NTOA(`session_ip`) as `session_ip_decoded` @@ -389,7 +397,7 @@ switch ($settingsMode) { break; case 'login-history': - $getLoginAttemptsCount = $db->prepare(' + $getLoginAttemptsCount = Database::prepare(' SELECT COUNT(`attempt_id`) FROM `msz_login_attempts` WHERE `user_id` = :user_id @@ -397,7 +405,7 @@ switch ($settingsMode) { $getLoginAttemptsCount->bindValue('user_id', $app->getUserId()); $loginAttemptsCount = $getLoginAttemptsCount->execute() ? $getLoginAttemptsCount->fetchColumn() : 0; - $getLoginAttempts = $db->prepare(' + $getLoginAttempts = Database::prepare(' SELECT `attempt_id`, `attempt_country`, `was_successful`, `user_agent`, `created_at`, INET6_NTOA(`attempt_ip`) as `attempt_ip_decoded` diff --git a/views/mio/settings/account.twig b/views/mio/settings/account.twig index fe87806c..72e3467f 100644 --- a/views/mio/settings/account.twig +++ b/views/mio/settings/account.twig @@ -37,7 +37,16 @@ + +