Rework reports query in Moderation\Reports module class

- References to non-existent fields removed
- Added computed rules field
- Patch originally submitted by @TheTomcat14
pull/14114/head
Hypolite Petovan 2024-04-24 22:43:32 -04:00
parent fe9ef20392
commit b1b2e9bd11
1 changed files with 18 additions and 3 deletions

View 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)) {