diff --git a/tests/scripts/fix_lp_empty_total_time.php b/tests/scripts/fix_lp_empty_total_time.php index 4e91bab341..d24c8afa46 100644 --- a/tests/scripts/fix_lp_empty_total_time.php +++ b/tests/scripts/fix_lp_empty_total_time.php @@ -5,29 +5,33 @@ exit; /** - * Find LP progress = 100 and total_time = 0 + * Find LP progress = 100 and total_time = $totalTime */ require_once '../../main/inc/global.inc.php'; +$totalTime = 0; // In seconds + $sql = ' SELECT lp_view_id, v.user_id, username, code, session_id, lp_id, progress, sum(total_time) total_time FROM c_lp_view v -inner join c_lp_item_view vi on v.c_id = vi.c_id and v.iid = vi.lp_view_id -inner join course c on v.c_id = c.id -inner join user u on u.id = v.user_id +INNER JOIN c_lp_item_view vi +ON v.c_id = vi.c_id AND v.iid = vi.lp_view_id +INNER JOIN course c +ON v.c_id = c.id +INNER JOIN user u +ON u.id = v.user_id WHERE progress = 100 group by v.user_id, lp_id, v.c_id, session_id, lp_view_id -HAVING sum(total_time) = 0 +HAVING sum(total_time) = $totalTime ORDER BY code;'; -$items = Database::store_result( - Database::query($sql), - 'ASSOC' -); +echo $sql.PHP_EOL; + +$items = Database::store_result(Database::query($sql), 'ASSOC'); $minutes = 18; -$seconds = $minutes*60; +$seconds = $minutes * 60; $count = 1; foreach ($items as $row) { @@ -36,9 +40,9 @@ foreach ($items as $row) { $sql = " SELECT iid, total_time, score from c_lp_item_view WHERE lp_view_id = $lpViewId"; echo $sql.PHP_EOL; $data = Database::fetch_array(Database::query($sql)); - if ($data && $data['total_time'] == 0) { + if ($data && $data['total_time'] == $totalTime) { $iid = $data['iid']; - $sql = "UPDATE c_lp_item_view SET total_time = $seconds WHERE iid = $iid"; + $sql = "UPDATE c_lp_item_view SET total_time = $seconds WHERE iid = $iid;"; //Database::query($sql); echo $sql; echo PHP_EOL;