From c82457e534a573d5838ccecd9ab94cf7c5b05cc2 Mon Sep 17 00:00:00 2001
From: Andrew Dolgov <noreply@fakecake.org>
Date: Sun, 17 Jan 2021 10:47:37 +0300
Subject: [PATCH] add plugins/scored_oldest_first

---
 plugins/scored_oldest_first/init.php | 35 ++++++++++++++++++++++++++++
 1 file changed, 35 insertions(+)
 create mode 100644 plugins/scored_oldest_first/init.php

diff --git a/plugins/scored_oldest_first/init.php b/plugins/scored_oldest_first/init.php
new file mode 100644
index 000000000..087253de1
--- /dev/null
+++ b/plugins/scored_oldest_first/init.php
@@ -0,0 +1,35 @@
+<?php
+class Scored_Oldest_First extends Plugin {
+
+	function init($host) {
+		$host->add_hook($host::HOOK_HEADLINES_CUSTOM_SORT_MAP, $this);
+		$host->add_hook($host::HOOK_HEADLINES_CUSTOM_SORT_OVERRIDE, $this);
+	}
+
+	function hook_headlines_custom_sort_map() {
+		return [
+			"dates_reverse_scored" => "Oldest first (legacy)"
+		];
+	}
+
+	function hook_headlines_custom_sort_override($order) {
+		if ($order == "dates_reverse_scored") {
+			return [ "score DESC, updated", true ];
+		} else {
+			return [ "", false ];
+		}
+	}
+
+	function about() {
+		return array(1.0,
+			"Consider article score while sorting by oldest first",
+			"fox",
+			false,
+			"");
+	}
+
+	function api_version() {
+		return 2;
+	}
+
+}
-- 
GitLab