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.
		
		
		
		
		
			
		
			
				
					
					
						
							58 lines
						
					
					
						
							1.5 KiB
						
					
					
				
			
		
		
	
	
							58 lines
						
					
					
						
							1.5 KiB
						
					
					
				<?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';
 | 
						|
 | 
						|
opcache_reset();
 | 
						|
 | 
						|
$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 : ".$oldTotalTime." 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,
 | 
						|
        'LP time abusive fixes',
 | 
						|
        $log,
 | 
						|
        1
 | 
						|
    );
 | 
						|
}
 | 
						|
 |