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']);
?>