PluginProbe ʕ •ᴥ•ʔ
Robin Image Optimizer – Unlimited Image Optimization, WebP & AVIF / trunk
Robin Image Optimizer – Unlimited Image Optimization, WebP & AVIF vtrunk
2.0.5 trunk 1.3.7 1.4.0 1.4.1 1.4.2 1.4.6 1.5.0 1.5.3 1.5.6 1.5.8 1.6.5 1.6.6 1.6.9 1.7.0 1.7.4 1.8.1 1.8.2 1.9.0 2.0.0 2.0.1 2.0.2 2.0.3 2.0.4
robin-image-optimizer / libs / addons / includes / classes / models / class.nextgen-extra-data.php
robin-image-optimizer / libs / addons / includes / classes / models Last commit date
class.folders-extra-data.php 5 months ago class.nextgen-extra-data.php 5 months ago
class.nextgen-extra-data.php
272 lines
1 <?php
2
3 // Exit if accessed directly
4 if ( ! defined( 'ABSPATH' ) ) {
5 exit;
6 }
7
8 /**
9 * Class WRIO_Nextgen_Extra_Data is a DTO model for `nextgen` post type used for `extra_data`
10 * property in RIO_Process_Queue.
11 *
12 * @see RIO_Process_Queue::$extra_data for further information
13 */
14 class WRIO_Nextgen_Extra_Data extends RIO_Base_Extra_Data {
15
16 /**
17 * @var string тип ошибки
18 */
19 protected $error = null;
20
21 /**
22 * @var string текст сообщения об ошибке
23 */
24 protected $error_msg = null;
25
26 /**
27 * @var int оригинальный размер основного файла
28 */
29 protected $original_main_size = null;
30
31 /**
32 * @var int оптимизированный размер основного файла
33 */
34 protected $optimized_main_size = null;
35
36 /**
37 * @var array ответ от сервера оптимизации по основному файлу
38 */
39 protected $main_optimized_data = null;
40
41 /**
42 * @var array ответ от сервера оптимизации по превьюшке
43 */
44 protected $thumbnails_optimized_data = null;
45
46 /**
47 * @var string относительный путь к изображению
48 */
49 protected $image_relative_path = null;
50
51 /**
52 * @var int размер основного изображения
53 */
54 protected $webp_main_size = null;
55
56 /**
57 * get_error
58 *
59 * @return string
60 */
61 public function get_error() {
62 return $this->error;
63 }
64
65 /**
66 * set_error
67 *
68 * @param string $error
69 *
70 * @return void
71 */
72 public function set_error( $error ) {
73 $this->error = $error;
74 }
75
76 /**
77 * get_error_msg
78 *
79 * @return string
80 */
81 public function get_error_msg() {
82 return $this->error_msg;
83 }
84
85 /**
86 * set_error_msg
87 *
88 * @param string $error_msg
89 *
90 * @return void
91 */
92 public function set_error_msg( $error_msg ) {
93 $this->error_msg = $error_msg;
94 }
95
96 /**
97 * get_original_main_size
98 *
99 * @return int
100 */
101 public function get_original_main_size() {
102 return $this->original_main_size;
103 }
104
105 /**
106 * set_original_main_size
107 *
108 * @param int $original_main_size
109 *
110 * @return void
111 */
112 public function set_original_main_size( $original_main_size ) {
113 $this->original_main_size = $original_main_size;
114 }
115
116 /**
117 * get_optimized_main_size
118 *
119 * @return int
120 */
121 public function get_optimized_main_size() {
122 return $this->optimized_main_size;
123 }
124
125 /**
126 * set_optimized_main_size
127 *
128 * @param int $optimized_main_size
129 *
130 * @return void
131 */
132 public function set_optimized_main_size( $optimized_main_size ) {
133 $this->optimized_main_size = $optimized_main_size;
134 }
135
136 /**
137 * get_main_optimized_data
138 *
139 * @return array
140 */
141 public function get_main_optimized_data() {
142 return (array) $this->main_optimized_data;
143 }
144
145 /**
146 * set_main_optimized_data
147 *
148 * @param array $main_optimized_data
149 *
150 * @return void
151 */
152 public function set_main_optimized_data( $main_optimized_data ) {
153 $this->main_optimized_data = $main_optimized_data;
154 }
155
156 /**
157 * get_thumbnails_optimized_data
158 *
159 * @return array
160 */
161 public function get_thumbnails_optimized_data() {
162 return (array) $this->thumbnails_optimized_data;
163 }
164
165 /**
166 * set_thumbnails_optimized_data
167 *
168 * @param array $thumbnails_optimized_data
169 *
170 * @return void
171 */
172 public function set_thumbnails_optimized_data( $thumbnails_optimized_data ) {
173 $this->thumbnails_optimized_data = $thumbnails_optimized_data;
174 }
175
176 /**
177 * get_image_relative_path
178 *
179 * @return string
180 */
181 public function get_image_relative_path() {
182 return $this->image_relative_path;
183 }
184
185 /**
186 * set_image_relative_path
187 *
188 * @param string $image_relative_path
189 *
190 * @return void
191 */
192 public function set_image_relative_path( $image_relative_path ) {
193 $this->image_relative_path = $image_relative_path;
194 }
195
196 /**
197 * Возвращает путь к превьюшке относительно корня WP
198 *
199 * @return string
200 */
201 public function get_image_thumbnail_relative_path() {
202 $basename = wp_basename( $this->image_relative_path );
203 $dir = dirname( $this->image_relative_path );
204
205 return $dir . '/thumbs/thumbs-' . $basename;
206 }
207
208 /**
209 * Возвращает абсолютный путь к изображению
210 *
211 * @return string
212 */
213 public function get_image_absolute_path() {
214 $relative_path = $this->get_image_relative_path();
215
216 return wp_normalize_path( untrailingslashit( ABSPATH ) . $relative_path );
217 }
218
219 /**
220 * Возвращает абсолютный путь к превьюшке
221 *
222 * @return string
223 */
224 public function get_image_thumbnail_absolute_path() {
225 $relative_path = $this->get_image_thumbnail_relative_path();
226
227 return wp_normalize_path( untrailingslashit( ABSPATH ) . $relative_path );
228 }
229
230 /**
231 * Возвращает URL изображения
232 *
233 * @return string
234 */
235 public function get_image_url() {
236 $relative_path = $this->get_image_relative_path();
237
238 return home_url( $relative_path );
239 }
240
241 /**
242 * Возвращает URL изображения-превьюшки
243 *
244 * @return string
245 */
246 public function get_image_thumbnail_url() {
247 $relative_path = $this->get_image_thumbnail_relative_path();
248
249 return home_url( $relative_path );
250 }
251
252 /**
253 * Возвращает WebP размер основного изображения
254 *
255 * @return int
256 */
257 public function get_webp_main_size() {
258 return $this->webp_main_size;
259 }
260
261 /**
262 * Устанавливает WebP размер основного изображения
263 *
264 * @param int $webp_main_size
265 *
266 * @return void
267 */
268 public function set_webp_main_size( $webp_main_size ) {
269 $this->webp_main_size = $webp_main_size;
270 }
271 }
272