From 01454544896827113e49db0d2848b5aab6ce14ae Mon Sep 17 00:00:00 2001 From: Jonas Kohl Date: Wed, 18 Sep 2024 23:05:35 +0200 Subject: Many changes --- src/application/messages/de.msg | 15 +++++++++ .../mystic/forum/utils/RequestUtils.php | 24 ++++++++++----- src/application/views/form_addpost.php | 3 +- src/application/views/form_login.php | 5 +-- src/application/views/form_newtopic.php | 3 +- src/application/views/form_register.php | 7 +++-- src/application/views/form_search.php | 6 ++-- src/application/views/nav_logged_in.php | 2 +- src/application/views/template_end.php | 8 ++++- src/application/views/template_navigation.php | 5 ++- .../views/template_navigation_start.php | 5 ++- src/application/views/view_post.php | 8 ++--- src/application/views/view_search_results.php | 2 +- src/application/views/view_user.php | 36 +++++++++++++++++++--- 14 files changed, 99 insertions(+), 30 deletions(-) (limited to 'src/application') diff --git a/src/application/messages/de.msg b/src/application/messages/de.msg index 784c257..3a334a9 100644 --- a/src/application/messages/de.msg +++ b/src/application/messages/de.msg @@ -254,6 +254,9 @@ metadata({ : "posted on %post_date% in %topic%" = "veröffentlicht am %post_date% in %topic%" +: "posted by %author% on %post_date% in %topic%" += "veröffentlicht von %author% am %post_date% in %topic%" + : "Show all posts" = "Alle Beiträge anzeigen" @@ -338,3 +341,15 @@ metadata({ : "%result_count% result(s) in %search_duration% second(s)" = "%result_count% Treffer in %search_duration% Sekunde(n)" + +: "Change password" += "Passwort ändern" + +: "Current password:" += "Aktuelles Passwort:" + +: "New password:" += "Neues Passwort:" + +: "Retype password:" += "Passwort wiederholen:" diff --git a/src/application/mystic/forum/utils/RequestUtils.php b/src/application/mystic/forum/utils/RequestUtils.php index 6599052..796a476 100644 --- a/src/application/mystic/forum/utils/RequestUtils.php +++ b/src/application/mystic/forum/utils/RequestUtils.php @@ -10,6 +10,8 @@ use mystic\forum\orm\User; final class RequestUtils { use StaticClass; + private static ?string $formErrorDestination = null; + public static function getRequestMethod(): string { return strtoupper($_SERVER["REQUEST_METHOD"] ?? "GET"); } @@ -27,12 +29,12 @@ final class RequestUtils { } } - public static function getRequiredField(string $field): string { + public static function getRequiredField(string $field, string $formId): string { $fieldValue = $_POST[$field] ?? null; if ($fieldValue === null) { //http_response_code(400); //Messaging::error("Missing required field $field"); - RequestUtils::triggerFormError("Missing required field '$field'"); + RequestUtils::triggerFormError("Missing required field '$field'", $formId); //exit; } return $fieldValue; @@ -43,18 +45,24 @@ final class RequestUtils { $_SESSION["lastForm_uri"] = $_SERVER["REQUEST_URI"]; } - public static function triggerFormError(string $message, ?string $next = null): never { - $next ??= $_SERVER["REQUEST_URI"]; - $_SESSION["formError"] = $message; + public static function setFormErrorDestination(?string $dest): ?string { + $prev = self::$formErrorDestination; + self::$formErrorDestination = $dest; + return $prev; + } + + public static function triggerFormError(string $message, string $formId, ?string $next = null): never { + $next ??= self::$formErrorDestination ?? $_SERVER["REQUEST_URI"]; + $_SESSION["formError/$formId"] = $message; // store last form submission self::storeForm(); header("Location: $next"); exit; } - public static function getAndClearFormError(): ?string { - $err = $_SESSION["formError"] ?? null; - unset($_SESSION["formError"]); + public static function getAndClearFormError(string $formId): ?string { + $err = $_SESSION["formError/$formId"] ?? null; + unset($_SESSION["formError/$formId"]); return $err; } diff --git a/src/application/views/form_addpost.php b/src/application/views/form_addpost.php index 33b7281..2de44c5 100644 --- a/src/application/views/form_addpost.php +++ b/src/application/views/form_addpost.php @@ -10,11 +10,12 @@ RequestUtils::clearLastForm(); ?>

$_formError]); } ?>
#form" method="post" enctype="multipart/form-data"> +
diff --git a/src/application/views/form_login.php b/src/application/views/form_login.php index 1ae20a9..1c4a9ea 100644 --- a/src/application/views/form_login.php +++ b/src/application/views/form_login.php @@ -15,11 +15,12 @@ RequestUtils::clearLastForm();
$_formError]); } ?> " method="post"> +
" required autofocus> @@ -31,7 +32,7 @@ if (($_formError = RequestUtils::getAndClearFormError()) !== null) {
- +
diff --git a/src/application/views/form_newtopic.php b/src/application/views/form_newtopic.php index f701fbb..0850c84 100644 --- a/src/application/views/form_newtopic.php +++ b/src/application/views/form_newtopic.php @@ -13,11 +13,12 @@ RequestUtils::clearLastForm();

$_formError]); } ?> #form" method="post" enctype="multipart/form-data"> +
" required autofocus> diff --git a/src/application/views/form_register.php b/src/application/views/form_register.php index a082611..23f470d 100644 --- a/src/application/views/form_register.php +++ b/src/application/views/form_register.php @@ -15,11 +15,12 @@ RequestUtils::clearLastForm();
$_formError]); } ?> " method="post"> +
@@ -27,7 +28,7 @@ if (($_formError = RequestUtils::getAndClearFormError()) !== null) {
- " required> + " required autofocus>
@@ -64,7 +65,7 @@ if (($_formError = RequestUtils::getAndClearFormError()) !== null) {
- +
diff --git a/src/application/views/form_search.php b/src/application/views/form_search.php index edc68b8..ed3752f 100644 --- a/src/application/views/form_search.php +++ b/src/application/views/form_search.php @@ -12,11 +12,13 @@ RequestUtils::clearLastForm();

$_formError]); } ?> -" method="post"> + + +
" required autofocus> diff --git a/src/application/views/nav_logged_in.php b/src/application/views/nav_logged_in.php index 0f77f90..c049ec5 100644 --- a/src/application/views/nav_logged_in.php +++ b/src/application/views/nav_logged_in.php @@ -7,6 +7,6 @@ use mystic\forum\orm\User; ]) ?>

> -
  • View profile
  • +>View profile
  • ">Log out
  • diff --git a/src/application/views/template_end.php b/src/application/views/template_end.php index f322b36..9633782 100644 --- a/src/application/views/template_end.php +++ b/src/application/views/template_end.php @@ -76,11 +76,17 @@ $(function() { $("input[type=file]").each(function(i, e) { var isMultiple = !!$(e).prop("multiple"); + var isSmall = !!$(e).hasClass("small"); var $input = $('').attr("placeholder", _messages.filesSelected[0]).css("text-overflow", "ellipsis"); + var $btn = $(''); + if (isSmall) { + $input.addClass("input-sm"); + $btn.addClass("btn-sm"); + } $(e).after($('
    ').append( $input, $('').append( - $('').text(_messages.selectFiles[isMultiple ? 1 : 0]).click(function() { + $btn.text(_messages.selectFiles[isMultiple ? 1 : 0]).click(function() { $(e).click(); }) ) diff --git a/src/application/views/template_navigation.php b/src/application/views/template_navigation.php index d39c1ea..ff0752b 100644 --- a/src/application/views/template_navigation.php +++ b/src/application/views/template_navigation.php @@ -1,6 +1,9 @@ $user]); + _view("nav_logged_in", [ + "user" => $user, + "isViewingOwnProfile" => $isViewingOwnProfile ?? false, + ]); } else { _view("nav_guest"); } diff --git a/src/application/views/template_navigation_start.php b/src/application/views/template_navigation_start.php index 3c69bf4..bd2b3a5 100644 --- a/src/application/views/template_navigation_start.php +++ b/src/application/views/template_navigation_start.php @@ -7,6 +7,9 @@ - + + + +
    - +
    -
    +
    -
    +
    @@ -100,7 +100,7 @@ $is_op = $postAuthor?->id === $topicAuthor?->id && $postAuthor?->id !== null;
    -
    content)) ?>
    +
    content) ?>
    0): ?>
    diff --git a/src/application/views/view_search_results.php b/src/application/views/view_search_results.php index 19a6978..e21fbb8 100644 --- a/src/application/views/view_search_results.php +++ b/src/application/views/view_search_results.php @@ -27,7 +27,7 @@ use mystic\forum\utils\StringUtils;
    - +
    diff --git a/src/application/views/view_user.php b/src/application/views/view_user.php index 6631407..aba0f2f 100644 --- a/src/application/views/view_user.php +++ b/src/application/views/view_user.php @@ -23,7 +23,7 @@ $dateJoined->setTime(0, 0, 0, 0); ?>
    - +
    @@ -80,11 +80,12 @@ $dateJoined->setTime(0, 0, 0, 0);

    $_formError]); } ?> " method="post" enctype="multipart/form-data"> +
    @@ -130,12 +131,39 @@ $_checkbox_disabled_class = $_checkbox_disabled ? " disabled text-muted" : "";
    - +
    + +

    + $_formError]); +} +?> +
    " method="post"> + +
    + + +
    +
    + + +
    +
    + + +
    +
    + +
    +
    + +
    -- cgit v1.2.3