diff --git a/new.php b/new.php index 4a73e13..a23d10b 100644 --- a/new.php +++ b/new.php @@ -586,6 +586,9 @@ function page_links($tab, $page, $pages){ if ($tab === 'edit') { $q = trim((string)($_GET['q'] ?? '')); if ($q !== '') $extra .= '&q=' . rawurlencode($q); + if (!empty($_GET['f_preview'])) $extra .= '&f_preview=1'; + if (!empty($_GET['f_render'])) $extra .= '&f_render=1'; + if (!empty($_GET['f_shown'])) $extra .= '&f_shown=1'; } $html = '
'; for ($i = 1; $i <= $pages; $i++) { @@ -802,13 +805,18 @@ $tab = $_GET['tab'] ?? 'edit'; $rawKeyword = trim((string)($_GET['q'] ?? '')); $keywordType = 'general'; $keywordValue = $rawKeyword; +$filterPreview = !empty($_GET['f_preview']); +$filterRender = !empty($_GET['f_render']); +$filterShown = !empty($_GET['f_shown']); +$statusFilterActive = $filterPreview || $filterRender || $filterShown; +$searchEmpty = ($rawKeyword === '' && !$statusFilterActive); if ($rawKeyword !== '' && preg_match('/^\s*(date|location|place)\s*=\s*(.+)\s*$/i', $rawKeyword, $m)) { $keywordType = strtolower((string)$m[1]); if ($keywordType === 'place') $keywordType = 'location'; $keywordValue = trim((string)$m[2]); } -if ($keywordValue !== '') { - $dirs = array_values(array_filter($dirs, function($dir) use ($keywordType, $keywordValue, $config) { +if ($keywordValue !== '' || $statusFilterActive) { + $dirs = array_values(array_filter($dirs, function($dir) use ($keywordType, $keywordValue, $config, $statusFilterActive, $filterPreview, $filterRender, $filterShown) { $data = read_data($dir); $state = input_dir_state($dir); $fullOutput = basename((string)($state['output'] ?? '')); @@ -816,9 +824,22 @@ if ($keywordValue !== '') { $hasFullVideo = $fullOutput !== '' && is_file($config['videos_dir'].'/'.$fullOutput); $hasPreviewVideo = $previewOutput !== '' && is_file($config['videos_dir'].'/'.$previewOutput); $preview = input_dir_preview($dir); + $enabled = input_dir_enabled($dir); + $canShow = $hasFullVideo && !$preview; + $visible = $canShow && input_dir_visible($dir); + + if ($statusFilterActive) { + $statusMatch = false; + if ($filterPreview && $preview) $statusMatch = true; + if ($filterRender && $enabled) $statusMatch = true; + if ($filterShown && $visible) $statusMatch = true; + if (!$statusMatch) return false; + } + + if ($keywordValue === '') return true; + $displayOutput = ($preview && $hasPreviewVideo) ? $previewOutput : ($hasFullVideo ? $fullOutput : ($hasPreviewVideo ? $previewOutput : '')); $meta = cached_video_metadata($displayOutput, $data); - $title = (string)($meta['title'] ?: ($data['title'] ?: basename($dir))); $description = (string)($meta['description'] ?? ($data['description'] ?? '')); $date = (string)($meta['date'] ?? ($data['date'] ?? '')); @@ -839,13 +860,13 @@ $editDir = null; $editStatus = ''; $editRunning = false; $editData = ['title'=>' if ($editName !== '' || $editId !== '') { try { $editDir = resolve_input_dir_from_request($config['uploads_dir'], $editId, $editName, $articleIndex); $editStatus = input_dir_status($editDir); $editRunning = input_dir_running($editDir); if (!$editRunning) { $editData = read_data($editDir); $editFiles = media_sort_files($editDir, list_files($editDir)); } } catch (Throwable $e) { $err = $e->getMessage(); } } $runningJobs = active_worker_jobs($config); ?> -Admin - <?=h($config['site_name'])?> +Admin - <?=h($config['site_name'])?>

Videos without input dir

No orphan videos.


MB
-

No input directories yet.

Map
No video yet
+

No input directories yet.

Map
No video yet