No video yet=h($meta['title'] ?: ($info['title'] ?? basename($d)))?>
=nl2br(h($meta['description']), false)?>
=h(basename($d))?> · =h($info['file_count'] ?? count(list_files($d)))?> files
diff --git a/new.php b/new.php index 07906c5..d4ff190 100644 --- a/new.php +++ b/new.php @@ -355,12 +355,26 @@ try { $dir = safe_input_dir($config['uploads_dir'], $_POST['dir'] ?? ''); $enabledNow = !empty($_POST['enabled']); set_input_dir_enabled($dir, $enabledNow); + if ($enabledNow) { + set_input_dir_preview($dir, false); + } $state = input_dir_state($dir); $output = basename((string)($state['output'] ?? '')); $canShow = $output !== '' && is_file($config['videos_dir'].'/'.$output) && !input_dir_preview($dir); if (!$canShow) set_input_dir_visible($dir, false); - if (!empty($_POST['ajax'])) ajax_json(['ok'=>true, 'enabled'=>$enabledNow, 'preview'=>input_dir_preview($dir), 'visible'=>input_dir_visible($dir) && $canShow, 'can_show'=>$canShow, 'dir'=>basename($dir)]); - header('Location: new.php?tab=edit&msg=' . rawurlencode(($enabledNow ? 'Enabled rendering for: in-dir/' : 'Disabled rendering for: in-dir/') . basename($dir))); + $message = ($enabledNow ? 'Enabled rendering for: in-dir/' : 'Disabled rendering for: in-dir/') . basename($dir); + if (!empty($_POST['ajax'])) { + ajax_json([ + 'ok' => true, + 'enabled' => $enabledNow, + 'preview' => input_dir_preview($dir), + 'visible' => input_dir_visible($dir) && $canShow, + 'can_show' => $canShow, + 'dir' => basename($dir), + 'message' => $message, + ]); + } + header('Location: new.php?tab=edit&msg=' . rawurlencode($message)); exit; } elseif ($action === 'set_preview') { $dir = safe_input_dir($config['uploads_dir'], $_POST['dir'] ?? ''); @@ -370,8 +384,19 @@ try { $state = input_dir_state($dir); $output = basename((string)($state['output'] ?? '')); $canShow = $output !== '' && is_file($config['videos_dir'].'/'.$output) && !input_dir_preview($dir); - if (!empty($_POST['ajax'])) ajax_json(['ok'=>true, 'preview'=>$previewNow, 'enabled'=>input_dir_enabled($dir), 'visible'=>input_dir_visible($dir) && $canShow, 'can_show'=>$canShow, 'dir'=>basename($dir)]); - header('Location: new.php?tab=edit&msg=' . rawurlencode(($previewNow ? 'Enabled preview for: in-dir/' : 'Disabled preview for: in-dir/') . basename($dir))); + $message = ($previewNow ? 'Enabled preview for: in-dir/' : 'Disabled preview for: in-dir/') . basename($dir); + if (!empty($_POST['ajax'])) { + ajax_json([ + 'ok' => true, + 'preview' => $previewNow, + 'enabled' => input_dir_enabled($dir), + 'visible' => input_dir_visible($dir) && $canShow, + 'can_show' => $canShow, + 'dir' => basename($dir), + 'message' => $message, + ]); + } + header('Location: new.php?tab=edit&msg=' . rawurlencode($message)); exit; } elseif ($action === 'set_visible') { $dir = safe_input_dir($config['uploads_dir'], $_POST['dir'] ?? ''); @@ -381,8 +406,18 @@ try { $canShow = $output !== '' && is_file($config['videos_dir'].'/'.$output) && !input_dir_preview($dir); if ($visibleNow && !$canShow) throw new RuntimeException('Only finished full-quality videos can be shown.'); set_input_dir_visible($dir, $visibleNow && $canShow); - if (!empty($_POST['ajax'])) ajax_json(['ok'=>true, 'visible'=>input_dir_visible($dir) && $canShow, 'can_show'=>$canShow, 'dir'=>basename($dir)]); - header('Location: new.php?tab=edit&msg=' . rawurlencode(($visibleNow ? 'Shown: in-dir/' : 'Hidden: in-dir/') . basename($dir))); + $message = ($visibleNow ? 'Shown: in-dir/' : 'Hidden: in-dir/') . basename($dir); + $currentVisible = input_dir_visible($dir) && $canShow; + if (!empty($_POST['ajax'])) { + ajax_json([ + 'ok' => true, + 'visible' => $currentVisible, + 'can_show' => $canShow, + 'dir' => basename($dir), + 'message' => $message, + ]); + } + header('Location: new.php?tab=edit&msg=' . rawurlencode($message)); exit; } elseif ($action === 'update') { $dir = safe_input_dir($config['uploads_dir'], $_POST['dir'] ?? ''); @@ -463,7 +498,36 @@ $runningJobs = active_worker_jobs($config);
No orphan videos.
=page_links('videos',$videoPage,$videoPages)?>No input directories yet.
No video yet=nl2br(h($meta['description']), false)?>
=h(basename($d))?> · =h($info['file_count'] ?? count(list_files($d)))?> files
No input directories yet.
No video yet=nl2br(h($meta['description']), false)?>
=h(basename($d))?> · =h($info['file_count'] ?? count(list_files($d)))?> files
in-dir/=h(basename($editDir))?>
in-dir/=h(basename($editDir))?>