From ab327964e7635f49d950a7b8054b23fd7bbffdc0 Mon Sep 17 00:00:00 2001 From: gbateson Date: Mon, 21 Jan 2008 08:13:46 +0000 Subject: [PATCH] fix MDL-13047 in which an invalid SQL query was run if no attempts were foudn to match the conditions of the required report --- mod/hotpot/report.php | 19 ++++++++++++++----- 1 file changed, 14 insertions(+), 5 deletions(-) diff --git a/mod/hotpot/report.php b/mod/hotpot/report.php index faa66f7e72..db8c0fc65c 100644 --- a/mod/hotpot/report.php +++ b/mod/hotpot/report.php @@ -193,15 +193,24 @@ $groupby = 'userid'; $records = hotpot_get_records_groupby($function, $fieldnames, $table, $select, $groupby); - $ids = array(); - foreach ($records as $record) { - $ids[] = $record->clickreportid; + $select = ''; + if ($records) { + $ids = array(); + foreach ($records as $record) { + $ids[] = $record->clickreportid; + } + if (count($ids)) { + $select = "a.clickreportid IN (".join(',', $ids).")"; + } } - $select = "a.clickreportid IN (".join(',', $ids).")"; } // pick out last attempt in each clickreport series - $cr_attempts = hotpot_get_records_groupby('MAX', array('timefinish', 'id'), $table, $select, 'clickreportid'); + if ($select) { + $cr_attempts = hotpot_get_records_groupby('MAX', array('timefinish', 'id'), $table, $select, 'clickreportid'); + } else { + $cr_attempts = array(); + } $fields = 'a.*, u.firstname, u.lastname, u.picture'; if ($mode=='click') { -- 2.39.5