File size: 2,158 Bytes
6ffac52 99e24a6 | 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 | <?php
session_start();
$metadataFile = 'data/files.json';
function loadMetadata() {
global $metadataFile;
if (!file_exists($metadataFile)) return ['files' => []];
return json_decode(file_get_contents($metadataFile), true);
}
function saveMetadata($metadata) {
global $metadataFile;
file_put_contents($metadataFile, json_encode($metadata, JSON_PRETTY_PRINT));
}
if ($_SERVER['REQUEST_METHOD'] === 'POST') {
$fileId = isset($_POST['fileId']) ? $_POST['fileId'] : '';
$action = isset($_POST['action']) ? $_POST['action'] : '';
if (empty($fileId) || empty($action)) {
echo json_encode(['success' => false, 'error' => 'Missing parameters']);
exit;
}
$metadata = loadMetadata();
$fileFound = false;
foreach ($metadata['files'] as &$file) {
if ($file['id'] === $fileId) {
$fileFound = true;
// Initialize share data if not exists
if (!isset($file['shared'])) {
$file['shared'] = [
'enabled' => false,
'linkSharing' => false
];
}
switch ($action) {
case 'enable_link':
$file['shared']['enabled'] = true;
$file['shared']['linkSharing'] = true;
saveMetadata($metadata);
echo json_encode(['success' => true, 'message' => 'Link sharing enabled']);
break;
case 'disable_link':
$file['shared']['linkSharing'] = false;
$file['shared']['enabled'] = false;
saveMetadata($metadata);
echo json_encode(['success' => true, 'message' => 'Link sharing disabled']);
break;
default:
echo json_encode(['success' => false, 'error' => 'Invalid action']);
}
break;
}
}
if (!$fileFound) {
echo json_encode(['success' => false, 'error' => 'File not found']);
}
exit;
}
echo json_encode(['success' => false, 'error' => 'Invalid request method']);
?> |