PluginProbe
WPIDE – File Manager & Code Editor / 3.4.1
WPIDE – File Manager & Code Editor v3.4.1
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/FileManager/ImageController.php +9 -165 3.13.4.1 View file →
@@ -1,169 +1,13 @@
1 1 <?php
2 2
3 3 namespace WPIDE\App\Controllers\FileManager;
4 4
5 -use WPIDE\App\App;
6 -use WPIDE\App\Config\Config;
7 -use WPIDE\App\Helpers\ImageStateData;
8 -use WPIDE\App\Kernel\Request;
9 -use WPIDE\App\Kernel\Response;
10 -use WPIDE\App\Kernel\StreamedResponse;
11 -use WPIDE\App\Services\Auth\AuthInterface;
12 -use WPIDE\App\Services\Session\SessionStorageInterface as Session;
13 -use WPIDE\App\Services\Storage\Filesystem;
14 -
15 -/**
16 - *
17 - */
18 -class ImageController
19 -{
20 - /**
21 - * @var AuthInterface
22 - */
23 - protected $auth;
24 -
25 - /**
26 - * @var Mixed
27 - */
28 - protected $user;
29 -
30 - /**
31 - * @var Session
32 - */
33 - protected $session;
34 -
35 - /**
36 - * @var Config
37 - */
38 - protected $config;
39 -
40 - /**
41 - * @var Filesystem
42 - */
43 - protected $storage;
44 -
45 - /**
46 - * @param Config $config
47 - * @param Session $session
48 - * @param AuthInterface $auth
49 - * @param Filesystem $storage
50 - */
51 - public function __construct(Config $config, Session $session, AuthInterface $auth, Filesystem $storage)
52 - {
53 - $this->session = $session;
54 - $this->config = $config;
55 - $this->auth = $auth;
56 -
57 - $this->user = $this->auth->user() ?: $this->auth->getGuest();
58 -
59 - $this->storage = $storage;
60 - $this->storage->setPathPrefix($this->user->getHomeDir());
61 - }
62 -
63 - /**
64 - * @param Request $request
65 - * @param Response $response
66 - * @return void
67 - */
68 - public function stateExists(Request $request, Response $response)
69 - {
70 -
71 - $id = $request->input('id');
72 -
73 - $exists = ImageStateData::stateFileExists($id);
74 -
75 - return $response->json([
76 - 'exists' => $exists
77 - ]);
78 -
79 - }
80 -
81 - /**
82 - * @param Request $request
83 - * @param Response $response
84 - * @return void
85 - */
86 - public function getState(Request $request, Response $response)
87 - {
88 -
89 - $id = $request->input('id');
90 -
91 - $state = null;
92 -
93 - try {
94 - $file = ImageStateData::getState($id);
95 - $state = $file['contents'];
96 - } catch (\Exception $e) {}
97 -
98 - $response->json([
99 - 'state' => json_decode($state)
100 - ]);
101 -
102 - }
103 -
104 - /**
105 - * @param Request $request
106 - * @param Response $response
107 - * @param StreamedResponse $streamedResponse
108 - * @return void
109 - */
110 - public function download(Request $request, Response $response, StreamedResponse $streamedResponse)
111 - {
112 -
113 - $id = $request->input('id');
114 - $originalPath = $request->input('path');
115 - $ext = $request->input('ext');
116 - $stateImageName = $id.'.'.$ext;
117 -
118 - // if not, get state image file
119 -
120 - try {
121 - $file = ImageStateData::getImage($stateImageName);
122 - } catch (\Exception $e) {}
123 -
124 - // if not found, get original file
125 - if(empty($file)) {
126 - try {
127 - // if not, get original image
128 - $file = $this->storage->readStream((string) base64_decode($originalPath));
129 - } catch (\Exception $e) {}
130 - }
131 -
132 - if(empty($file)) {
133 - return $response->redirect('/');
134 - }
135 -
136 - return App::instance()->call([DownloadController::class, 'downloadFile'], [$file, $request, $streamedResponse]);
137 -
138 - }
139 -
140 - /**
141 - * @param Request $request
142 - * @param Response $response
143 - * @return void
144 - */
145 - public function revert(Request $request, Response $response)
146 - {
147 -
148 - $item = $request->input('item');
149 - $stateImageName = $item->id.'.'.$item->ext;
150 -
151 - try {
152 -
153 - $file = ImageStateData::getImage($stateImageName);
154 - $this->storage->storeStream($item->dir, $item->name, $file['stream'], true);
155 - ImageStateData::deleteState($item->id);
156 -
157 - } catch (\Exception $e) {
158 -
159 - return $response->json([
160 - 'success' => false
161 - ]);
162 - }
163 -
164 - $response->json([
165 - 'success' => true
166 - ]);
167 - }
168 -
169 -}
5 +use WPIDE\App\Classes\Freemius ;
6 +use WPIDE\App\App ;
7 +use WPIDE\App\Config\Config ;
8 +use WPIDE\App\Helpers\ImageStateData ;
9 +use WPIDE\App\Kernel\Request ;
10 +use WPIDE\App\Kernel\Response ;
11 +use WPIDE\App\Kernel\StreamedResponse ;
12 +use WPIDE\App\Services\Auth\AuthInterface ;
13 +use WPIDE\App\Services\Storage\Filesystem ;