/password.txt // Simple admin login (hardcoded for demo) $adminPassword = 'admin123'; $loggedIn = isset($_SESSION['admin']) && $_SESSION['admin'] === true; // AJAX endpoint to get album info if (isset($_GET['get_album_info']) && isset($_GET['album'])) { $album = $_GET['album']; $pwFile = __DIR__ . '/images/' . $album . '/info.yaml'; $pw = ''; $title = ''; if (file_exists($pwFile)) { if (function_exists('yaml_parse_file')) { $yaml = yaml_parse_file($pwFile); $pw = isset($yaml['password']) ? $yaml['password'] : ''; $title = isset($yaml['title']) ? $yaml['title'] : ''; } else { $lines = file($pwFile); foreach ($lines as $line) { if (preg_match('/^password:\s*(.+)$/', trim($line), $m)) { $pw = $m[1]; } if (preg_match('/^title:\s*(.+)$/', trim($line), $m)) { $title = $m[1]; } } } } header('Content-Type: application/json'); echo json_encode(['password' => $pw, 'title' => $title]); exit; } if (isset($_POST['admin_login'])) { if ($_POST['admin_password'] === $adminPassword) { $_SESSION['admin'] = true; $loggedIn = true; } else { $error = 'Incorrect admin password.'; } } if ($loggedIn && isset($_POST['set_album_password'])) { $album = $_POST['album_name']; $pw = $_POST['album_password']; $title = isset($_POST['album_title']) ? $_POST['album_title'] : ''; if ($album && $pw !== null) { $pwFile = __DIR__ . '/images/' . $album . '/info.yaml'; $yamlArr = ['password' => $pw, 'title' => $title]; $yamlContent = "password: " . $pw . "\ntitle: " . $title . "\n"; if (function_exists('yaml_emit_file')) { yaml_emit_file($pwFile, $yamlArr); } else { file_put_contents($pwFile, $yamlContent); } $success = "Password and title set for album '$album'."; } } if (isset($_POST['logout'])) { session_destroy(); header('Location: admin.php'); exit; } // Get album list $dir = __DIR__ . '/images/'; $albums = []; if (is_dir($dir)) { foreach (scandir($dir) as $album) { if ($album === '.' || $album === '..' || !is_dir($dir . $album)) continue; $albums[] = $album; } } ?> Admin - Album Passwords

Albums

thumb

Administrator Mode

$error
"; ?>
$success
"; ?>