PluginProbe
WPIDE – File Manager & Code Editor / 3.5.5
WPIDE – File Manager & Code Editor v3.5.5
3.5.8 3.5.7 2.0.14 2.0.15 2.0.16 2.0.2 2.0.4 2.0.5 2.0.6 2.0.7 2.0.8 2.0.9 2.1 2.2 2.3 2.3.1 2.3.2 2.4.0 2.5 2.6 3.0 3.1 3.2 3.3 3.4 All 54 releases
← All changes | App/Controllers/DbManager/DatabaseController.php +2 -292 3.23.5.5 View file →
@@ -1,8 +1,9 @@
1 1 <?php
2 2
3 3 namespace WPIDE\App\Controllers\DbManager;
4 4
5 +use WPIDE\App\Classes\Freemius;
5 6 use WPIDE\App\App;
6 7 use WPIDE\App\Config\Config;
7 8 use WPIDE\App\Controllers\FileManager\DownloadController;
8 9 use WPIDE\App\Kernel\Request;
@@ -9,296 +10,5 @@
9 10 use WPIDE\App\Kernel\Response;
10 11 use WPIDE\App\Kernel\StreamedResponse;
11 12 use WPIDE\App\Services\Auth\AuthInterface;
12 13 use WPIDE\App\Services\Database\Database;
13 -use WPIDE\App\Services\Storage\LocalFileSystem;
14 -use const WPIDE\Constants\TMP_DIR;
15 -
16 -/**
17 - *
18 - */
19 -class DatabaseController
20 -{
21 -
22 - /**
23 - * @var AuthInterface
24 - */
25 - protected $auth;
26 -
27 - /**
28 - * @var Config
29 - */
30 - protected $config;
31 -
32 - /**
33 - * @var Database
34 - */
35 - protected $db;
36 -
37 - /**
38 - * @param Config $config
39 - * @param AuthInterface $auth
40 - * @param Database $db
41 - */
42 - public function __construct(Config $config, AuthInterface $auth, Database $db)
43 - {
44 - $this->config = $config;
45 - $this->auth = $auth;
46 - $this->db = $db;
47 -
48 - }
49 -
50 - /**
51 - * @param Response $response
52 - * @return void
53 - */
54 - public function getTables(Response $response)
55 - {
56 - return $response->json($this->db->getTables());
57 - }
58 -
59 - /**
60 - * @throws \DI\DependencyException
61 - * @throws \DI\NotFoundException
62 - */
63 - public function getTableStructureRows(Request $request, Response $response)
64 - {
65 -
66 - $table = $request->input('table');
67 -
68 - if(empty($table)) {
69 - return $response->json(__('Missing table name!', 'wpide'), 422);
70 - }
71 -
72 - $content = $this->db->getTableStructureRows($table);
73 -
74 - return $response->json($content);
75 - }
76 -
77 - /**
78 - * @throws \DI\DependencyException
79 - * @throws \DI\NotFoundException
80 - */
81 - public function getTableRows(Request $request, Response $response)
82 - {
83 -
84 - $table = $request->input('table');
85 - $page = $request->input('page', 1);
86 - $per_page = $request->input('per_page', 20);
87 - $search_value = $request->input('search_value');
88 - $search_field = $request->input('search_field');
89 -
90 - if(empty($table)) {
91 - return $response->json(__('Missing table name!', 'wpide'), 422);
92 - }
93 -
94 - $content = $this->db->getTableRows($table, [
95 - 'page' => $page,
96 - 'per_page' => $per_page,
97 - 'search_value' => $search_value,
98 - 'search_field' => $search_field
99 - ]);
100 -
101 - return $response->json($content);
102 - }
103 -
104 - /**
105 - * @param Request $request
106 - * @param Response $response
107 - * @return void
108 - */
109 - public function saveTableRow(Request $request, Response $response)
110 - {
111 - $table = $request->input('table');
112 - $id = $request->input('id');
113 - $row = (array) $request->input('row');
114 - $is_new = (bool) $request->input('is_new');
115 - $is_structure = (bool) $request->input('is_structure');
116 -
117 - if(empty($table)) {
118 - return $response->json(__('Missing table name!', 'wpide'), 422);
119 - }
120 -
121 - if(isset($row["is_new_row"])) {
122 - unset($row["is_new_row"]);
123 - }
124 - if(isset($row[""])) {
125 - unset($row[""]);
126 - }
127 -
128 - try {
129 - $id = $this->db->saveTableRow($table, $id, $row, $is_new, $is_structure);
130 - }catch (\Throwable $error) {
131 - return $response->json($error->getMessage(), 500);
132 - }
133 -
134 - return $response->json([
135 - 'success' => $id !== false,
136 - 'id' => $id
137 - ]);
138 - }
139 -
140 - /**
141 - * @param Request $request
142 - * @param Response $response
143 - * @return void
144 - */
145 - public function deleteTableRows(Request $request, Response $response)
146 - {
147 - $table = $request->input('table');
148 - $ids = $request->input('ids');
149 - $is_structure = (bool) $request->input('is_structure');
150 -
151 - if(empty($table)) {
152 - return $response->json(__('Missing table name!', 'wpide'), 422);
153 - }
154 -
155 - if(empty($ids)) {
156 - return $response->json(__('Missing primary key value(s)!', 'wpide'), 422);
157 - }
158 -
159 - try {
160 - $success = $this->db->deleteTableRows($table, $ids, $is_structure);
161 - }catch (\Throwable $error) {
162 - return $response->json($error->getMessage(), 500);
163 - }
164 -
165 - return $response->json([
166 - 'success' => $success
167 - ]);
168 - }
169 -
170 - /**
171 - * @param Request $request
172 - * @param Response $response
173 - * @return void
174 - */
175 - public function createTable(Request $request, Response $response)
176 - {
177 - $table = $request->input('table');
178 - $table = str_replace(" ", "_", sanitize_text_field($table));
179 -
180 - if(empty($table)) {
181 - return $response->json(__('Missing table name!', 'wpide'), 422);
182 - }
183 -
184 - try {
185 - $success = $this->db->createTable($table);
186 - }catch (\Throwable $error) {
187 - return $response->json($error->getMessage(), 500);
188 - }
189 -
190 - return $response->json([
191 - 'success' => $success,
192 - 'table' => $table
193 - ]);
194 - }
195 -
196 - /**
197 - * @param Request $request
198 - * @param Response $response
199 - * @return void
200 - */
201 - public function dropTable(Request $request, Response $response)
202 - {
203 - $table = $request->input('table');
204 -
205 - if(empty($table)) {
206 - return $response->json(__('Missing table name!', 'wpide'), 422);
207 - }
208 -
209 - try {
210 - $success = $this->db->dropTable($table);
211 - }catch (\Throwable $error) {
212 - return $response->json($error->getMessage(), 500);
213 - }
214 -
215 - return $response->json([
216 - 'success' => $success
217 - ]);
218 - }
219 -
220 - /**
221 - * @param Request $request
222 - * @param Response $response
223 - * @return void
224 - */
225 - public function emptyTable(Request $request, Response $response)
226 - {
227 - $table = $request->input('table');
228 -
229 - if(empty($table)) {
230 - return $response->json(__('Missing table name!', 'wpide'), 422);
231 - }
232 -
233 - try {
234 - $success = $this->db->emptyTable($table);
235 - }catch (\Throwable $error) {
236 - return $response->json($error->getMessage(), 500);
237 - }
238 -
239 - return $response->json([
240 - 'success' => $success
241 - ]);
242 - }
243 -
244 - /**
245 - * @param Request $request
246 - * @param Response $response
247 - * @param StreamedResponse $streamedResponse
248 - * @return void
249 - */
250 - public function exportTable(Request $request, Response $response, StreamedResponse $streamedResponse)
251 - {
252 - $table = $request->input('table');
253 -
254 - if(empty($table)) {
255 - return $response->json(__('Missing table name!', 'wpide'), 422);
256 - }
257 -
258 - try {
259 -
260 - $filename = $this->db->exportTable($table);
261 - $storage = LocalFileSystem::load(TMP_DIR);
262 -
263 - $file = $storage->readStream($filename);
264 -
265 - $response = App::instance()->call([DownloadController::class, 'downloadFile'], [$file, $request, $streamedResponse]);
266 -
267 - $storage->deleteFile($filename);
268 -
269 - return $response;
270 -
271 - }catch (\Throwable $error) {
272 - return $response->json($error->getMessage(), 500);
273 - }
274 -
275 - }
276 -
277 - /**
278 - * @param Request $request
279 - * @param Response $response
280 - * @param StreamedResponse $streamedResponse
281 - * @return void
282 - */
283 - public function exportDatabase(Request $request, Response $response, StreamedResponse $streamedResponse)
284 - {
285 -
286 - try {
287 -
288 - $filename = $this->db->exportDatabase();
289 - $storage = LocalFileSystem::load(TMP_DIR);
290 -
291 - $file = $storage->readStream($filename);
292 -
293 - $response = App::instance()->call([DownloadController::class, 'downloadFile'], [$file, $request, $streamedResponse]);
294 -
295 - $storage->deleteFile($filename);
296 -
297 - return $response;
298 -
299 - }catch (\Throwable $error) {
300 - return $response->json($error->getMessage(), 500);
301 - }
302 -
303 - }
304 -}
14 +use WPIDE\App\Services\Tmpfs\TmpfsInterface;