You can not select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
57 lines
1.5 KiB
57 lines
1.5 KiB
|
8 years ago
|
<?php
|
||
|
|
/* For licensing terms, see /license.txt */
|
||
|
|
|
||
|
|
/**
|
||
|
|
* This script checks that the c_lp_item_view.total_time field
|
||
|
|
* doesn't have big values. The scripts updates it or send a message to the admin (depending the settings).
|
||
|
|
*/
|
||
|
|
|
||
|
|
exit;
|
||
|
|
|
||
|
|
require_once __DIR__.'/../../main/inc/global.inc.php';
|
||
|
|
|
||
|
|
$maxSeconds = 5 * 60 * 60; // Check records higher than 5 hours
|
||
|
|
$valueToUpdate = 1 * 60 * 60; // Update this abusive records with 1 hours
|
||
|
|
$limit = 10; // Only fix first 10
|
||
|
|
$sendMessage = true;
|
||
|
|
$userId = 1; // User id that will receive a report
|
||
|
|
$update = false;
|
||
|
|
|
||
|
|
$sql = "SELECT iid, total_time FROM c_lp_item_view
|
||
|
|
WHERE total_time > $maxSeconds
|
||
|
|
order by total_time desc
|
||
|
|
LIMIT $limit
|
||
|
|
";
|
||
|
|
|
||
|
|
$result = Database::query($sql);
|
||
|
|
$log = '';
|
||
|
|
while ($row = Database::fetch_array($result, 'ASSOC')) {
|
||
|
|
$id = $row['iid'];
|
||
|
|
$oldTotalTime = $row['total_time'];
|
||
|
|
$sql = "UPDATE c_lp_item_view SET total_time = '$valueToUpdate' WHERE iid = $id;";
|
||
|
|
// Uncomment to fix
|
||
|
|
if ($update) {
|
||
|
|
Database::query($sql);
|
||
|
|
}
|
||
|
|
|
||
|
|
$oldTotalTime = round($oldTotalTime / 3600 , 2) ;
|
||
|
|
$report = "Previous total_time : ".round($oldTotalTime/3600,2)." hours";
|
||
|
|
$report .= PHP_EOL;
|
||
|
|
$report .= "New total_time: $valueToUpdate";
|
||
|
|
$report .= PHP_EOL;
|
||
|
|
$report .= $sql;
|
||
|
|
$report .= PHP_EOL;
|
||
|
|
$report .= PHP_EOL;
|
||
|
|
$log .= $report;
|
||
|
|
echo $report;
|
||
|
|
}
|
||
|
|
|
||
|
|
if ($sendMessage && !empty($log)) {
|
||
|
|
$log = nl2br($log);
|
||
|
|
MessageManager::send_message_simple(
|
||
|
|
$userId,
|
||
|
|
'Course time spent fixes',
|
||
|
|
$log
|
||
|
|
);
|
||
|
|
}
|