Fix set_input_dir_visible bug
This commit is contained in:
parent
da563514fc
commit
df2bcca66e
2 changed files with 12 additions and 9 deletions
17
new.php
17
new.php
|
|
@ -7,13 +7,15 @@ if (!is_dir(__DIR__ . "/cache")) mkdir(__DIR__ . "/cache", 0775, true);
|
||||||
function h($s){ return htmlspecialchars((string)$s, ENT_QUOTES, "UTF-8"); }
|
function h($s){ return htmlspecialchars((string)$s, ENT_QUOTES, "UTF-8"); }
|
||||||
function ajax_json($data){ header('Content-Type: application/json; charset=UTF-8'); echo json_encode($data, JSON_UNESCAPED_UNICODE); exit; }
|
function ajax_json($data){ header('Content-Type: application/json; charset=UTF-8'); echo json_encode($data, JSON_UNESCAPED_UNICODE); exit; }
|
||||||
function run_gpsmap($dir) {
|
function run_gpsmap($dir) {
|
||||||
|
file_put_contents("/var/www/html/mvlog/gps_err.log", "DEBUG: run_gpsmap called for " . $dir . "
|
||||||
|
", FILE_APPEND);
|
||||||
$stateFile = $dir . '/.movmaker-state.json';
|
$stateFile = $dir . '/.movmaker-state.json';
|
||||||
$state = is_file($stateFile) ? json_decode((string)file_get_contents($stateFile), true) : [];
|
$state = is_file($stateFile) ? json_decode((string)file_get_contents($stateFile), true) : [];
|
||||||
$output = basename((string)($state['output'] ?? ''));
|
$output = basename((string)($state['output'] ?? ''));
|
||||||
$map_filename = ($output !== '' ? pathinfo($output, PATHINFO_FILENAME) : basename($dir)) . '.png';
|
$map_filename = ($output !== '' ? pathinfo($output, PATHINFO_FILENAME) : basename($dir)) . '.png';
|
||||||
$out_path = '/var/www/html/mvlog/out-dir/' . $map_filename;
|
$out_path = '/var/www/html/mvlog/out-dir/' . $map_filename;
|
||||||
$cmd = "python3 /var/www/html/mvlog/bin/gpsmap.py " . escapeshellarg($dir) . " " . escapeshellarg($out_path) . " > /dev/null 2>&1 &";
|
$cmd = "/usr/bin/python3 /var/www/html/mvlog/bin/gpsmap.py " . escapeshellarg($dir) . " " . escapeshellarg($out_path) . " >> /var/www/html/mvlog/gps_err.log 2>&1 &";
|
||||||
shell_exec($cmd);
|
$cmd = "PATH=/usr/bin:/usr/local/bin " . $cmd; shell_exec($cmd);
|
||||||
}
|
}
|
||||||
function slugify($s){ $s = strtolower(trim($s)); $s = preg_replace('/[^a-z0-9]+/', '-', $s); return trim($s, '-') ?: 'movie'; }
|
function slugify($s){ $s = strtolower(trim($s)); $s = preg_replace('/[^a-z0-9]+/', '-', $s); return trim($s, '-') ?: 'movie'; }
|
||||||
function rrmdir($dir){ if(!is_dir($dir)) return; foreach(scandir($dir) as $f){ if($f==='.'||$f==='..') continue; $p="$dir/$f"; is_dir($p)?rrmdir($p):unlink($p);} rmdir($dir); }
|
function rrmdir($dir){ if(!is_dir($dir)) return; foreach(scandir($dir) as $f){ if($f==='.'||$f==='..') continue; $p="$dir/$f"; is_dir($p)?rrmdir($p):unlink($p);} rmdir($dir); }
|
||||||
|
|
@ -75,7 +77,6 @@ function write_data($dir, $post){
|
||||||
if ($fileName !== '' && $caption !== '') $lines[] = $fileName . ': ' . $caption;
|
if ($fileName !== '' && $caption !== '') $lines[] = $fileName . ': ' . $caption;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
file_put_contents($dir . '/data.txt', implode("\n", $lines) . "\n");
|
|
||||||
}
|
}
|
||||||
function editable_file($f){ $ext = strtolower(pathinfo((string)$f, PATHINFO_EXTENSION)); return $f !== '' && $f[0] !== '.' && $f !== 'data.txt' && in_array($ext, ['jpg','jpeg','png','webp','gif','mp4','mov','m4v','avi','mkv','webm','mp3','wav','m4a','aac','ogg','flac'], true); }
|
function editable_file($f){ $ext = strtolower(pathinfo((string)$f, PATHINFO_EXTENSION)); return $f !== '' && $f[0] !== '.' && $f !== 'data.txt' && in_array($ext, ['jpg','jpeg','png','webp','gif','mp4','mov','m4v','avi','mkv','webm','mp3','wav','m4a','aac','ogg','flac'], true); }
|
||||||
function natural_file_compare($a, $b){ return strnatcasecmp((string)$a, (string)$b); }
|
function natural_file_compare($a, $b){ return strnatcasecmp((string)$a, (string)$b); }
|
||||||
|
|
@ -152,7 +153,7 @@ for dirpath, dirnames, filenames in os.walk(root):
|
||||||
entries.sort()
|
entries.sort()
|
||||||
print(hashlib.sha256(json.dumps(entries, ensure_ascii=False, separators=(',', ':')).encode('utf-8')).hexdigest())
|
print(hashlib.sha256(json.dumps(entries, ensure_ascii=False, separators=(',', ':')).encode('utf-8')).hexdigest())
|
||||||
PY;
|
PY;
|
||||||
$cmd = 'python3 -c ' . escapeshellarg($script) . ' ' . escapeshellarg($dir);
|
$cmd = '/usr/bin/python3 -c ' . escapeshellarg($script) . ' ' . escapeshellarg($dir);
|
||||||
$output = trim(shell_exec($cmd) ?? '');
|
$output = trim(shell_exec($cmd) ?? '');
|
||||||
return $output !== '' ? $output : '';
|
return $output !== '' ? $output : '';
|
||||||
}
|
}
|
||||||
|
|
@ -185,7 +186,6 @@ function load_input_dir_cache($dirs){
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
if (array_diff(array_keys($oldItems), array_keys($items))) $changed = true;
|
if (array_diff(array_keys($oldItems), array_keys($items))) $changed = true;
|
||||||
if ($changed) file_put_contents($cacheFile, json_encode(['version'=>1,'generated_at'=>date('c'),'items'=>$items], JSON_UNESCAPED_UNICODE | JSON_PRETTY_PRINT), LOCK_EX);
|
|
||||||
return $items;
|
return $items;
|
||||||
}
|
}
|
||||||
function sort_input_dirs_by_metadata_date(&$dirs, $dirInfo){
|
function sort_input_dirs_by_metadata_date(&$dirs, $dirInfo){
|
||||||
|
|
@ -243,15 +243,15 @@ function set_input_dir_preview($dir, $preview){
|
||||||
if (!is_array($state)) $state = [];
|
if (!is_array($state)) $state = [];
|
||||||
$state['preview'] = (bool)$preview;
|
$state['preview'] = (bool)$preview;
|
||||||
$state['preview_updated_at'] = gmdate('c');
|
$state['preview_updated_at'] = gmdate('c');
|
||||||
file_put_contents($stateFile, json_encode($state, JSON_UNESCAPED_UNICODE | JSON_PRETTY_PRINT) . "
|
file_put_contents($stateFile, json_encode($state, JSON_UNESCAPED_UNICODE | JSON_PRETTY_PRINT) . "\n");
|
||||||
");
|
|
||||||
chmod($stateFile, 0664);
|
chmod($stateFile, 0664);
|
||||||
}
|
}
|
||||||
function input_dir_visible($dir){ return !is_file($dir . '/.mvlog-hidden'); }
|
function input_dir_visible($dir){ return !is_file($dir . '/.mvlog-hidden'); }
|
||||||
function set_input_dir_visible($dir, $visible){
|
function set_input_dir_visible($dir, $visible){
|
||||||
$path = $dir . '/.mvlog-hidden';
|
$path = $dir . '/.mvlog-hidden';
|
||||||
if ($visible) { if (is_file($path)) unlink($path); }
|
if ($visible) { if (is_file($path)) unlink($path); }
|
||||||
else { file_put_contents($path, "hidden\n"); chmod($path, 0664); }
|
else { file_put_contents($path, "hidden
|
||||||
|
"); chmod($path, 0664); }
|
||||||
}
|
}
|
||||||
function input_dir_state($dir){
|
function input_dir_state($dir){
|
||||||
$stateFile = $dir . '/.movmaker-state.json';
|
$stateFile = $dir . '/.movmaker-state.json';
|
||||||
|
|
@ -423,7 +423,6 @@ try {
|
||||||
include_once __DIR__ . '/lib/send_push.php';
|
include_once __DIR__ . '/lib/send_push.php';
|
||||||
try_send_show_notification(basename($dir), $dir, __DIR__, '/var/log/mvlog_notify.log');
|
try_send_show_notification(basename($dir), $dir, __DIR__, '/var/log/mvlog_notify.log');
|
||||||
} else {
|
} else {
|
||||||
error_log("[mvlog] send_push helper missing, cannot send notification for " . basename($dir) . "\n", 3, '/var/log/mvlog_notify.log');
|
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
|
||||||
|
|
@ -61,3 +61,7 @@
|
||||||
border-radius: .5rem;
|
border-radius: .5rem;
|
||||||
margin-top: 1rem;
|
margin-top: 1rem;
|
||||||
}
|
}
|
||||||
|
.video-wrapper {
|
||||||
|
display: flex;
|
||||||
|
flex-direction: column;
|
||||||
|
}
|
||||||
|
|
|
||||||
Loading…
Add table
Add a link
Reference in a new issue