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