]> git.mxchange.org Git - friendica.git/commitdiff
Rework reports query in Moderation\Reports module class
authorHypolite Petovan <hypolite@mrpetovan.com>
Thu, 25 Apr 2024 02:43:32 +0000 (22:43 -0400)
committerHypolite Petovan <hypolite@mrpetovan.com>
Thu, 25 Apr 2024 02:43:59 +0000 (22:43 -0400)
- References to non-existent fields removed
- Added computed rules field
- Patch originally submitted by @TheTomcat14

src/Module/Moderation/Reports.php

index c9aa92df9c967baab82964d2c1a38d4a80be6cf4..02c665471f6f478b9a5565bcb6be70100822ecc6 100644 (file)
@@ -56,9 +56,24 @@ class Reports extends BaseModeration
 
                $pager = new Pager($this->l10n, $this->args->getQueryString(), 10);
 
-               $query = $this->database->p("SELECT `report`.`id`, `report`.`cid`, `report`.`comment`, `report`.`forward`, `report`.`created`, `report`.`reporter-id`,
-                       `report`.`category`, `report`.`rules`, `contact`.`micro`, `contact`.`name`, `contact`.`nick`, `contact`.`url`, `contact`.`addr` FROM report
-                       INNER JOIN `contact` ON `contact`.`id` = `report`.`cid` ORDER BY `report`.`created` DESC LIMIT ?, ?", $pager->getStart(), $pager->getItemsPerPage());
+               $query = $this->database->p(
+                       "SELECT
+       `report`.`id`, `report`.`cid`, `report`.`comment`, `report`.`forward`, `report`.`created`, `report`.`reporter-id`,
+       `report`.`category-id`,
+       (
+               SELECT GROUP_CONCAT(`report-rule`.`text` ORDER BY `report-rule`.`line-id` SEPARATOR \"\n\")
+               FROM `report-rule`
+               WHERE `report-rule`.`rid` = `report`.`id`
+               GROUP BY `report-rule`.`rid`
+       ) AS `rules`,
+       `contact`.`micro`, `contact`.`name`, `contact`.`nick`, `contact`.`url`, `contact`.`addr`
+FROM report
+INNER JOIN `contact` ON `contact`.`id` = `report`.`cid`
+ORDER BY `report`.`created` DESC
+LIMIT ?, ?",
+                       $pager->getStart(),
+                       $pager->getItemsPerPage(),
+               );
 
                $reports = [];
                while ($report = $this->database->fetch($query)) {