ff9a351091
Course cards go back to the colour-block art that previously sat under the captured frame, so the UI is unchanged apart from losing the photo. - Drop thumb.php, generateThumbnails(), captureThumbnail() and ensureThumbnailColumns(), plus the first-video tracking the scanner only kept to pick a frame source. - Drop the ffprobe fallback in probeDuration(); the pure-PHP mvhd parse is now the only scan-time probe, with the player's report on first play as the remaining fallback. - Drop THUMBNAILS_DIR/THUMBNAIL_SEEK_PERCENT from config, the thumbnail_* columns from schema.sql, the thumbnail counters from scan output, .thumb img from the stylesheet, and the matching README parts. Existing databases keep two now-unused folders.thumbnail_* columns; they are inert and can be dropped by hand if wanted. Co-Authored-By: Claude Opus 5 (1M context) <noreply@anthropic.com> Claude-Session: https://claude.ai/code/session_014oyi9DMdhALrGz989MNNZJ
15 lines
538 B
PHP
15 lines
538 B
PHP
<?php
|
|
// CLI library scan (for cron or manual runs): php scan.php
|
|
// From the browser, use the "Rescan library" button (api/scan.php).
|
|
require_once __DIR__ . '/includes/functions.php';
|
|
|
|
if (PHP_SAPI !== 'cli') {
|
|
header('Location: index.php');
|
|
exit;
|
|
}
|
|
|
|
$stats = scanLibrary();
|
|
echo "Scan complete: {$stats['folders']} folders, {$stats['videos']} videos, {$stats['quizzes']} quizzes"
|
|
. " ({$stats['missing_folders']} folders / {$stats['missing_videos']} videos"
|
|
. " / {$stats['missing_quizzes']} quizzes flagged missing)\n";
|