From 062b6d3f4a2b92227b269b546fcd743b073f4509 Mon Sep 17 00:00:00 2001 From: Shish Date: Fri, 9 Feb 2024 14:41:23 +0000 Subject: [PATCH] Back out "use POST when building search results, see #1026" Original commit changeset: c44822ec4782 --- core/util.php | 4 +++- ext/auto_tagger/theme.php | 2 +- ext/comment/theme.php | 2 +- ext/home/theme.php | 3 ++- ext/index/main.php | 4 ++-- ext/index/theme.php | 3 ++- ext/pools/main.php | 4 ++-- ext/pools/theme.php | 3 ++- ext/random_list/main.php | 6 +++--- ext/random_list/theme.php | 1 + ext/resize/theme.php | 2 +- ext/source_history/theme.php | 2 +- ext/tag_edit/theme.php | 2 +- ext/view/theme.php | 3 ++- themes/danbooru/index.theme.php | 5 +++-- themes/danbooru2/index.theme.php | 5 +++-- themes/danbooru2/view.theme.php | 3 ++- 17 files changed, 32 insertions(+), 22 deletions(-) diff --git a/core/util.php b/core/util.php index 2055ff84..a98e613d 100644 --- a/core/util.php +++ b/core/util.php @@ -741,7 +741,9 @@ function make_form(string $target, string $method = "POST", bool $multipart = fa { global $user; if ($method == "GET") { - die("make_form: GET method is not supported"); + $link = html_escape($target); + $target = make_link($target); + $extra_inputs = ""; } else { $extra_inputs = $user->get_auth_html(); } diff --git a/ext/auto_tagger/theme.php b/ext/auto_tagger/theme.php index 138a085d..abe99281 100644 --- a/ext/auto_tagger/theme.php +++ b/ext/auto_tagger/theme.php @@ -25,7 +25,7 @@ class AutoTaggerTheme extends Themelet "; $bulk_html = " - ".make_form(make_link("auto_tag/import"), 'POST', true)." + ".make_form(make_link("auto_tag/import"), 'post', true)." diff --git a/ext/comment/theme.php b/ext/comment/theme.php index 14ad0ec8..b5bf49cf 100644 --- a/ext/comment/theme.php +++ b/ext/comment/theme.php @@ -101,7 +101,7 @@ class CommentListTheme extends Themelet $html = ' Delete comments by IP. -

'.make_form(make_link("comment/bulk_delete"))." +

'.make_form(make_link("comment/bulk_delete"), 'POST')." diff --git a/ext/home/theme.php b/ext/home/theme.php index fa8662ef..97d33087 100644 --- a/ext/home/theme.php +++ b/ext/home/theme.php @@ -37,8 +37,9 @@ EOD $contact_link = empty($contact_link) ? "" : "
Contact –"; $search_html = " diff --git a/ext/index/main.php b/ext/index/main.php index 77e9bfb5..ed929800 100644 --- a/ext/index/main.php +++ b/ext/index/main.php @@ -28,9 +28,9 @@ class Index extends Extension { global $cache, $config, $page, $user; if ($event->page_matches("post/list")) { - if (isset($_POST['search'])) { + if (isset($_GET['search'])) { $page->set_mode(PageMode::REDIRECT); - $page->set_redirect(search_link(Tag::explode($_POST['search'], false))); + $page->set_redirect(search_link(Tag::explode($_GET['search'], false))); return; } diff --git a/ext/index/theme.php b/ext/index/theme.php index 8ef6802d..5d5a1a8a 100644 --- a/ext/index/theme.php +++ b/ext/index/theme.php @@ -89,8 +89,9 @@ and of course start organising your images :-) $h_search_string = html_escape(Tag::implode($search_terms)); $h_search_link = search_link(); $h_search = " -

+

+ "; diff --git a/ext/pools/main.php b/ext/pools/main.php index b8c52f11..6a556676 100644 --- a/ext/pools/main.php +++ b/ext/pools/main.php @@ -236,9 +236,9 @@ class Pools extends Extension { global $config, $database, $page, $user; if ($event->page_matches("pool/list")) { //index - if (isset($_POST['search']) and $_POST['search'] != null) { + if (isset($_GET['search']) and $_GET['search'] != null) { $page->set_mode(PageMode::REDIRECT); - $page->set_redirect(make_link('pool/list').'/'.url_escape($_POST['search']).'/'.strval($event->try_page_num(1))); + $page->set_redirect(make_link('pool/list').'/'.$_GET['search'].'/'.strval($event->try_page_num(1))); return; } if (count($event->args) >= 4) { // Assume first 2 args are search and page num diff --git a/ext/pools/theme.php b/ext/pools/theme.php index 32dd48d2..30c13144 100644 --- a/ext/pools/theme.php +++ b/ext/pools/theme.php @@ -133,9 +133,10 @@ class PoolsTheme extends Themelet SHM_A("pool/updated", "Pool Changes") ); - $search = "
+ $search = " + "; $page->add_block(new NavBlock()); diff --git a/ext/random_list/main.php b/ext/random_list/main.php index aa819843..693ba43d 100644 --- a/ext/random_list/main.php +++ b/ext/random_list/main.php @@ -14,15 +14,15 @@ class RandomList extends Extension global $config, $page; if ($event->page_matches("random")) { - if (isset($_POST['search'])) { + if (isset($_GET['search'])) { // implode(explode()) to resolve aliases and sanitise - $search = url_escape(Tag::implode(Tag::explode($_POST['search'], false))); + $search = url_escape(Tag::implode(Tag::explode($_GET['search'], false))); if (empty($search)) { $page->set_mode(PageMode::REDIRECT); $page->set_redirect(make_link("random")); } else { $page->set_mode(PageMode::REDIRECT); - $page->set_redirect(make_link('random/'.url_escape($search))); + $page->set_redirect(make_link('random/'.$search)); } return; } diff --git a/ext/random_list/theme.php b/ext/random_list/theme.php index 5cc19d81..bec7a133 100644 --- a/ext/random_list/theme.php +++ b/ext/random_list/theme.php @@ -53,6 +53,7 @@ class RandomListTheme extends Themelet $h_search = "

+ "; diff --git a/ext/resize/theme.php b/ext/resize/theme.php index 36cbef8a..04900c96 100644 --- a/ext/resize/theme.php +++ b/ext/resize/theme.php @@ -26,7 +26,7 @@ class ResizeImageTheme extends Themelet } $html = rawHTML(" - ".make_form(make_link("resize/{$image->id}"))." + ".make_form(make_link("resize/{$image->id}"), 'POST')." diff --git a/ext/source_history/theme.php b/ext/source_history/theme.php index 5523c9f7..5bb01ba2 100644 --- a/ext/source_history/theme.php +++ b/ext/source_history/theme.php @@ -66,7 +66,7 @@ class SourceHistoryTheme extends Themelet Revert source changes by a specific IP address or username, optionally limited to recent changes. '.$validation_msg.' -

'.make_form(make_link("source_history/bulk_revert"))." +

'.make_form(make_link("source_history/bulk_revert"), 'POST')."

IP Address
diff --git a/ext/tag_edit/theme.php b/ext/tag_edit/theme.php index 4fc40111..8ef6eeac 100644 --- a/ext/tag_edit/theme.php +++ b/ext/tag_edit/theme.php @@ -32,7 +32,7 @@ class TagEditTheme extends Themelet public function mss_html(string $terms): string { $h_terms = html_escape($terms); - $html = make_form(make_link("tag_edit/mass_source_set")) . " + $html = make_form(make_link("tag_edit/mass_source_set"), "POST") . " diff --git a/ext/view/theme.php b/ext/view/theme.php index c375b6e0..4e53c5cf 100644 --- a/ext/view/theme.php +++ b/ext/view/theme.php @@ -98,7 +98,8 @@ class ViewPostTheme extends Themelet { $h_pin = $this->build_pin($image); $h_search = " -

+

+ diff --git a/themes/danbooru/index.theme.php b/themes/danbooru/index.theme.php index f9b4272d..80f00517 100644 --- a/themes/danbooru/index.theme.php +++ b/themes/danbooru/index.theme.php @@ -47,10 +47,11 @@ class CustomIndexTheme extends IndexTheme protected function build_navigation(int $page_number, int $total_pages, array $search_terms): string { $h_search_string = count($search_terms) == 0 ? "" : html_escape(implode(" ", $search_terms)); - $h_search_link = search_link(); + $h_search_link = make_link(); return " -

+

+

"; diff --git a/themes/danbooru2/index.theme.php b/themes/danbooru2/index.theme.php index 2ab78117..6f7d9808 100644 --- a/themes/danbooru2/index.theme.php +++ b/themes/danbooru2/index.theme.php @@ -31,11 +31,12 @@ class CustomIndexTheme extends IndexTheme protected function build_navigation(int $page_number, int $total_pages, array $search_terms): string { $h_search_string = count($search_terms) == 0 ? "" : html_escape(implode(" ", $search_terms)); - $h_search_link = search_link(); + $h_search_link = make_link(); return " -

+

+

"; } diff --git a/themes/danbooru2/view.theme.php b/themes/danbooru2/view.theme.php index bd737a90..30bb9bd8 100644 --- a/themes/danbooru2/view.theme.php +++ b/themes/danbooru2/view.theme.php @@ -71,9 +71,10 @@ class CustomViewPostTheme extends ViewPostTheme { //$h_pin = $this->build_pin($image); $h_search = " - + + ";
Username
IP Address