Urban-Guy commited on
Commit
6ffac52
·
verified ·
1 Parent(s): 11399c0

Create update_share.php

Browse files
Files changed (1) hide show
  1. update_share.php +155 -0
update_share.php ADDED
@@ -0,0 +1,155 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ <?php
2
+ session_start();
3
+ $metadataFile = 'data/files.json';
4
+
5
+ function loadMetadata() {
6
+ global $metadataFile;
7
+ if (!file_exists($metadataFile)) return ['files' => []];
8
+ return json_decode(file_get_contents($metadataFile), true);
9
+ }
10
+
11
+ function saveMetadata($metadata) {
12
+ global $metadataFile;
13
+ file_put_contents($metadataFile, json_encode($metadata, JSON_PRETTY_PRINT));
14
+ }
15
+
16
+ if ($_SERVER['REQUEST_METHOD'] === 'POST') {
17
+ $fileId = isset($_POST['fileId']) ? $_POST['fileId'] : '';
18
+ $action = isset($_POST['action']) ? $_POST['action'] : '';
19
+
20
+ if (empty($fileId) || empty($action)) {
21
+ echo json_encode(['success' => false, 'error' => 'Missing parameters']);
22
+ exit;
23
+ }
24
+
25
+ $metadata = loadMetadata();
26
+ $fileFound = false;
27
+
28
+ foreach ($metadata['files'] as &$file) {
29
+ if ($file['id'] === $fileId) {
30
+ $fileFound = true;
31
+
32
+ // Initialize share data if not exists
33
+ if (!isset($file['shared'])) {
34
+ $file['shared'] = [
35
+ 'enabled' => false,
36
+ 'linkSharing' => false
37
+ ];
38
+ }
39
+
40
+ switch ($action) {
41
+ case 'enable_link':
42
+ $file['shared']['enabled'] = true;
43
+ $file['shared']['linkSharing'] = true;
44
+ saveMetadata($metadata);
45
+ echo json_encode(['success' => true, 'message' => 'Link sharing enabled']);
46
+ break;
47
+
48
+ case 'disable_link':
49
+ $file['shared']['linkSharing'] = false;
50
+ $file['shared']['enabled'] = false;
51
+ saveMetadata($metadata);
52
+ echo json_encode(['success' => true, 'message' => 'Link sharing disabled']);
53
+ break;
54
+
55
+ default:
56
+ echo json_encode(['success' => false, 'error' => 'Invalid action']);
57
+ }
58
+
59
+ break;
60
+ }
61
+ }
62
+
63
+ if (!$fileFound) {
64
+ echo json_encode(['success' => false, 'error' => 'File not found']);
65
+ }
66
+ exit;
67
+ }
68
+
69
+ echo json_encode(['success' => false, 'error' => 'Invalid request method']);
70
+ ?>
71
+
72
+
73
+ /* ============================================
74
+ FILE 2: get_shares.php (Simplified)
75
+ ============================================ */
76
+
77
+ <?php
78
+ session_start();
79
+ $metadataFile = 'data/files.json';
80
+
81
+ function loadMetadata() {
82
+ global $metadataFile;
83
+ if (!file_exists($metadataFile)) return ['files' => []];
84
+ return json_decode(file_get_contents($metadataFile), true);
85
+ }
86
+
87
+ if ($_SERVER['REQUEST_METHOD'] === 'GET' && isset($_GET['fileId'])) {
88
+ $fileId = $_GET['fileId'];
89
+ $metadata = loadMetadata();
90
+
91
+ foreach ($metadata['files'] as $file) {
92
+ if ($file['id'] === $fileId) {
93
+ $shareData = isset($file['shared']) ? $file['shared'] : [
94
+ 'enabled' => false,
95
+ 'linkSharing' => false
96
+ ];
97
+
98
+ echo json_encode([
99
+ 'success' => true,
100
+ 'linkSharing' => $shareData['linkSharing']
101
+ ]);
102
+ exit;
103
+ }
104
+ }
105
+
106
+ echo json_encode([
107
+ 'success' => false,
108
+ 'linkSharing' => false
109
+ ]);
110
+ exit;
111
+ }
112
+
113
+ echo json_encode([
114
+ 'success' => false,
115
+ 'error' => 'Invalid request'
116
+ ]);
117
+ ?>
118
+
119
+
120
+ /* ============================================
121
+ FILE 3: Update index.php
122
+ Add these in the appropriate places
123
+ ============================================ */
124
+
125
+ // 1. ADD SHARE BUTTON IN TOOLBAR (after delete button)
126
+ <?php else: ?>
127
+ <button class="toolbar-button" onclick="deleteSelectedFiles()" style="display: none;" id="deleteSelectedBtn">
128
+ <span class="material-icons">delete</span>
129
+ Move to trash
130
+ </button>
131
+ <button class="toolbar-button" onclick="shareSelected()" style="display: none;" id="shareSelectedBtn">
132
+ <span class="material-icons">person_add</span>
133
+ Share
134
+ </button>
135
+ <?php endif; ?>
136
+
137
+
138
+ // 2. ADD SHARE TO CONTEXT MENU (after "Make a copy")
139
+ <div class="context-menu-item" onclick="contextMenuAction('copy')">
140
+ <span class="material-icons">content_copy</span>
141
+ <span>Make a copy</span>
142
+ </div>
143
+ <div class="context-menu-item" onclick="contextMenuAction('share')">
144
+ <span class="material-icons">person_add</span>
145
+ <span>Share</span>
146
+ </div>
147
+
148
+
149
+ // 3. ADD SHARED INDICATOR (in file rendering, after star badge)
150
+ <?php if ($file['starred']): ?>
151
+ <span class="star-badge material-icons">star</span>
152
+ <?php endif; ?>
153
+ <?php if (isset($file['shared']) && $file['shared']['enabled']): ?>
154
+ <span class="shared-indicator">SHARED</span>
155
+ <?php endif; ?>