diff --git a/new.php b/new.php
index c3b10c5..3984e60 100644
--- a/new.php
+++ b/new.php
@@ -305,8 +305,11 @@ try {
set_input_dir_enabled($dir, false);
set_input_dir_preview($dir, false);
set_input_dir_visible($dir, false);
- $msg = "Created movmaker input directory: in-dir/$slug";
- $_GET['edit'] = $slug;
+ if (!empty($_POST['ajax'])) {
+ ajax_json(['ok'=>true, 'message'=>"Created movmaker input directory: in-dir/$slug", 'dir'=>$slug, 'tab'=>'edit']);
+ }
+ header('Location: new.php?tab=edit');
+ exit;
} elseif ($action === 'set_enabled') {
$dir = safe_input_dir($config['uploads_dir'], $_POST['dir'] ?? '');
$enabledNow = !empty($_POST['enabled']);
@@ -347,7 +350,8 @@ try {
write_data($dir, $_POST);
save_uploads('media', $dir, $allowedMedia);
save_uploads('audio', $dir, $allowedAudio);
- header('Location: new.php?tab=edit&msg=' . rawurlencode('Updated input directory: in-dir/' . basename($dir)));
+ if (!empty($_POST['ajax'])) ajax_json(['ok'=>true, 'message'=>'Updated input directory: in-dir/' . basename($dir), 'dir'=>basename($dir)]);
+ header('Location: new.php?tab=edit');
exit;
} elseif ($action === 'delete_file') {
$dir = safe_input_dir($config['uploads_dir'], $_POST['dir'] ?? '');
@@ -355,8 +359,11 @@ try {
$file = basename((string)($_POST['file'] ?? ''));
if (!editable_file($file) || !is_file($dir.'/'.$file)) throw new RuntimeException('Invalid file.');
unlink($dir.'/'.$file);
- $msg = 'Removed file: ' . $file;
- $_GET['edit'] = basename($dir);
+ if (!empty($_POST['ajax'])) {
+ ajax_json(['ok'=>true, 'message'=>'Removed file: ' . $file, 'tab'=>'edit']);
+ }
+ header('Location: new.php?tab=edit');
+ exit;
} elseif ($action === 'delete_video') {
$file = basename((string)($_POST['video'] ?? ''));
$path = $config['videos_dir'] . '/' . $file;
@@ -364,7 +371,11 @@ try {
unlink($path);
$cache = __DIR__ . '/cache/videos.json';
if (is_file($cache)) unlink($cache);
- $msg = 'Deleted video: ' . $file;
+ if (!empty($_POST['ajax'])) {
+ ajax_json(['ok'=>true, 'message'=>'Deleted video: ' . $file, 'tab'=>'videos']);
+ }
+ header('Location: new.php?tab=videos');
+ exit;
} elseif ($action === 'delete_dir') {
$dir = safe_input_dir($config['uploads_dir'], $_POST['dir'] ?? '');
if (input_dir_running($dir)) throw new RuntimeException('This input directory is being rendered. Editing is disabled until the job completes.');
@@ -379,7 +390,10 @@ try {
if (is_file($cache)) unlink($cache);
}
rrmdir($dir);
- header('Location: new.php?msg=' . rawurlencode('Deleted input directory: in-dir/' . $name));
+ if (!empty($_POST['ajax'])) {
+ ajax_json(['ok'=>true, 'message'=>'Deleted input directory: in-dir/' . $name, 'tab'=>'edit']);
+ }
+ header('Location: new.php?tab=edit');
exit;
}
}
@@ -403,14 +417,15 @@ $editDir = null; $editStatus = ''; $editRunning = false; $editData = ['title'=>'
if ($editName !== '') { try { $editDir = safe_input_dir($config['uploads_dir'], $editName); $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(); } }
?>
Admin - =h($config['site_name'])?>
-
-=h($msg)?>
=h($err)?>
+
+
+=h($err)?>
-Videos without input dir
No orphan videos.
=page_links('videos',$videoPage,$videoPages)?>
-Existing input dirs
No input directories yet.
No video yet=h($meta['title'] ?: ($info['title'] ?? basename($d)))?>
=h($meta['date'])?>=h($meta['location'])?>No videoPreview video
=nl2br(h($meta['description']), false)?>
=h(basename($d))?> · =h($info['file_count'] ?? count(list_files($d)))?> files · = $enabled ? 'Rendering enabled' : 'Rendering disabled' ?> · = $preview ? 'Preview enabled' : 'Preview disabled' ?> · = $visible ? 'Shown' : 'Hidden' ?>= $running ? ' · '.h(ucfirst($runStatus)) : '' ?>
=page_links('edit',$editPage,$editPages)?>
+Videos without input dir
No orphan videos.
=page_links('videos',$videoPage,$videoPages)?>
+Existing input dirs
No input directories yet.
No video yet=h($meta['title'] ?: ($info['title'] ?? basename($d)))?>
=h($meta['date'])?>=h($meta['location'])?>No videoPreview video
=nl2br(h($meta['description']), false)?>
=h(basename($d))?> · =h($info['file_count'] ?? count(list_files($d)))?> files
=page_links('edit',$editPage,$editPages)?>
Edit input dir
in-dir/=h(basename($editDir))?>
This input directory is =h($editStatus)?>. Editing is disabled until the job completes.
-
-
+
+
+