diff --git a/admin.php b/admin.php index 02caaac..7ebc3b3 100644 --- a/admin.php +++ b/admin.php @@ -1144,8 +1144,11 @@ try { $state = input_dir_state($dir); $output = basename((string)($state['output'] ?? '')); $canShow = $output !== '' && is_file($config['videos_dir'].'/'.$output) && !input_dir_preview($dir); + $canPermalink = input_dir_can_permalink($dir, $config); if ($visibleNow && !$canShow) throw new RuntimeException('Only finished full-quality videos can be shown.'); + if ($visibleNow && !$canPermalink) throw new RuntimeException('Only finished full-quality videos can use permalinks.'); set_input_dir_visible($dir, $visibleNow && $canShow); + if ($visibleNow && $canShow && $canPermalink) set_input_dir_permalink($dir, true); // Attempt to send "Show enabled" notification (server-side) on enable. Non-fatal. if ($visibleNow && $canShow) { if (is_file(__DIR__ . '/lib/send_push.php')) { @@ -1163,8 +1166,9 @@ try { ajax_json([ 'ok' => true, 'visible' => $currentVisible, + 'permalink' => input_dir_permalink($dir), 'can_show' => $canShow, - 'can_permalink' => input_dir_can_permalink($dir, $config), + 'can_permalink' => $canPermalink, 'dir' => basename($dir), 'id' => $articleId, 'message' => $message, @@ -1179,11 +1183,19 @@ try { $canPermalink = input_dir_can_permalink($dir, $config); if ($permalinkNow && !$canPermalink) throw new RuntimeException('Only finished full-quality videos can use permalinks.'); set_input_dir_permalink($dir, $permalinkNow && $canPermalink); + if (!$permalinkNow) set_input_dir_visible($dir, false); + $currentPermalink = input_dir_permalink($dir); + $state = input_dir_state($dir); + $output = basename((string)($state['output'] ?? '')); + $canShow = $output !== '' && is_file($config['videos_dir'].'/'.$output) && !input_dir_preview($dir); + $currentVisible = input_dir_visible($dir) && $canShow; $message = ($permalinkNow ? 'Permalink enabled for: in-dir/' : 'Permalink disabled for: in-dir/') . basename($dir); if (!empty($_POST['ajax'])) { ajax_json([ 'ok' => true, - 'permalink' => $permalinkNow && $canPermalink, + 'permalink' => $currentPermalink, + 'visible' => $currentVisible, + 'can_show' => $canShow, 'can_permalink' => $canPermalink, 'dir' => basename($dir), 'id' => $articleId,