From 8dd6ffbe81e4107102cd56eb5bc6bc2d67b500c0 Mon Sep 17 00:00:00 2001 From: Jan-Hendrik Willms <tleilax+studip@gmail.com> Date: Wed, 20 Apr 2022 15:57:32 +0000 Subject: [PATCH] adjust queries to avoid 'Numeric value out of range' error, fixes #894 Closes #894 --- lib/classes/FilesSearch/FilesIndexManager.php | 2 +- lib/classes/Score.class.php | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/lib/classes/FilesSearch/FilesIndexManager.php b/lib/classes/FilesSearch/FilesIndexManager.php index 818bb21a778..9f762d5e60a 100644 --- a/lib/classes/FilesSearch/FilesIndexManager.php +++ b/lib/classes/FilesSearch/FilesIndexManager.php @@ -197,7 +197,7 @@ class FilesIndexManager private static function relevance($base, $modifier) { // 31556926 is the number of seconds in one year - return "POW( $base , ((UNIX_TIMESTAMP() - $modifier ) / 31556926)) AS relevance"; + return "POW( $base , ((UNIX_TIMESTAMP() - CAST($modifier AS SIGNED)) / 31556926)) AS relevance"; } /** diff --git a/lib/classes/Score.class.php b/lib/classes/Score.class.php index ededb7ec71e..5fa80d9b1e6 100644 --- a/lib/classes/Score.class.php +++ b/lib/classes/Score.class.php @@ -25,7 +25,7 @@ class Score $query = "SELECT nr.range_id as user_id, COUNT(*) AS newscount FROM news_range AS nr INNER JOIN news AS n ON (nr.news_id = n.news_id) - WHERE nr.range_id IN (?) AND (UNIX_TIMESTAMP() - n.date) <= n.expire + WHERE nr.range_id IN (?) AND UNIX_TIMESTAMP() <= n.date + n.expire GROUP BY nr.range_id ORDER BY NULL"; $statement = DBManager::get()->prepare($query); -- GitLab