v1.2.0
This commit is contained in:
parent
6708bbb67f
commit
650e69349f
21 changed files with 2919 additions and 268 deletions
|
|
@ -461,4 +461,26 @@ class UsageScanner {
|
|||
Scheduler::schedule_single( self::AS_HOOK );
|
||||
}
|
||||
}
|
||||
|
||||
/**
|
||||
* Resets usage scan state for all indexed attachments.
|
||||
*
|
||||
* Clears internal_scanned_at so every attachment is re-queued for scanning, and
|
||||
* deletes all mra_media_usage rows. File metadata in mra_media_index is preserved.
|
||||
*
|
||||
* @return int Number of attachments reset.
|
||||
*/
|
||||
public static function reset_all(): int {
|
||||
global $wpdb;
|
||||
|
||||
// phpcs:disable WordPress.DB.DirectDatabaseQuery
|
||||
$count = (int) $wpdb->get_var(
|
||||
"SELECT COUNT(*) FROM {$wpdb->prefix}mra_media_index WHERE internal_scanned_at IS NOT NULL"
|
||||
);
|
||||
$wpdb->query( "UPDATE {$wpdb->prefix}mra_media_index SET internal_scanned_at = NULL" );
|
||||
$wpdb->query( "DELETE FROM {$wpdb->prefix}mra_media_usage" );
|
||||
// phpcs:enable WordPress.DB.DirectDatabaseQuery
|
||||
|
||||
return $count;
|
||||
}
|
||||
}
|
||||
|
|
|
|||
Loading…
Reference in a new issue