Featured Image From URL - Version 3.3.1

Version Description

  • New feature: FIFU widget for Elementor; improvement: integration with WP All Import (taxonomies); style issue: conflict between FIFU Settings and plugins/themes CSS (jQuery-ui).
Download this release

Release Info

Developer marceljm
Plugin Icon 128x128 Featured Image From URL
Version 3.3.1
Comparing to
See all releases

Code changes from version 3.3.0 to 3.3.1

admin/html/css/base-ui.css ADDED
@@ -0,0 +1,1287 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ /*! jQuery UI - v1.12.1 - 2016-09-14
2
+ * http://jqueryui.com
3
+ * Includes: core.css, accordion.css, autocomplete.css, menu.css, button.css, controlgroup.css, checkboxradio.css, datepicker.css, dialog.css, draggable.css, resizable.css, progressbar.css, selectable.css, selectmenu.css, slider.css, sortable.css, spinner.css, tabs.css, tooltip.css, theme.css
4
+ * To view and modify this theme, visit http://jqueryui.com/themeroller/?ffDefault=Arial%2CHelvetica%2Csans-serif&fsDefault=1em&fwDefault=normal&cornerRadius=3px&bgColorHeader=e9e9e9&bgTextureHeader=flat&borderColorHeader=dddddd&fcHeader=333333&iconColorHeader=444444&bgColorContent=ffffff&bgTextureContent=flat&borderColorContent=dddddd&fcContent=333333&iconColorContent=444444&bgColorDefault=f6f6f6&bgTextureDefault=flat&borderColorDefault=c5c5c5&fcDefault=454545&iconColorDefault=777777&bgColorHover=ededed&bgTextureHover=flat&borderColorHover=cccccc&fcHover=2b2b2b&iconColorHover=555555&bgColorActive=007fff&bgTextureActive=flat&borderColorActive=003eff&fcActive=ffffff&iconColorActive=ffffff&bgColorHighlight=fffa90&bgTextureHighlight=flat&borderColorHighlight=dad55e&fcHighlight=777620&iconColorHighlight=777620&bgColorError=fddfdf&bgTextureError=flat&borderColorError=f1a899&fcError=5f3f3f&iconColorError=cc0000&bgColorOverlay=aaaaaa&bgTextureOverlay=flat&bgImgOpacityOverlay=0&opacityOverlay=30&bgColorShadow=666666&bgTextureShadow=flat&bgImgOpacityShadow=0&opacityShadow=30&thicknessShadow=5px&offsetTopShadow=0px&offsetLeftShadow=0px&cornerRadiusShadow=8px
5
+ * Copyright jQuery Foundation and other contributors; Licensed MIT */
6
+
7
+ /* Layout helpers
8
+ ----------------------------------*/
9
+ .ui-helper-hidden {
10
+ display: none;
11
+ }
12
+ .ui-helper-hidden-accessible {
13
+ border: 0;
14
+ clip: rect(0 0 0 0);
15
+ height: 1px;
16
+ margin: -1px;
17
+ overflow: hidden;
18
+ padding: 0;
19
+ position: absolute;
20
+ width: 1px;
21
+ }
22
+ .ui-helper-reset {
23
+ margin: 0;
24
+ padding: 0;
25
+ border: 0;
26
+ outline: 0;
27
+ line-height: 1.3;
28
+ text-decoration: none;
29
+ font-size: 100%;
30
+ list-style: none;
31
+ }
32
+ .ui-helper-clearfix:before,
33
+ .ui-helper-clearfix:after {
34
+ content: "";
35
+ display: table;
36
+ border-collapse: collapse;
37
+ }
38
+ .ui-helper-clearfix:after {
39
+ clear: both;
40
+ }
41
+ .ui-helper-zfix {
42
+ width: 100%;
43
+ height: 100%;
44
+ top: 0;
45
+ left: 0;
46
+ position: absolute;
47
+ opacity: 0;
48
+ filter:Alpha(Opacity=0); /* support: IE8 */
49
+ }
50
+
51
+ .ui-front {
52
+ z-index: 100;
53
+ }
54
+
55
+
56
+ /* Interaction Cues
57
+ ----------------------------------*/
58
+ .ui-state-disabled {
59
+ cursor: default !important;
60
+ pointer-events: none;
61
+ }
62
+
63
+
64
+ /* Icons
65
+ ----------------------------------*/
66
+ .ui-icon {
67
+ display: inline-block;
68
+ vertical-align: middle;
69
+ margin-top: -.25em;
70
+ position: relative;
71
+ text-indent: -99999px;
72
+ overflow: hidden;
73
+ background-repeat: no-repeat;
74
+ }
75
+
76
+ .ui-widget-icon-block {
77
+ left: 50%;
78
+ margin-left: -8px;
79
+ display: block;
80
+ }
81
+
82
+ /* Misc visuals
83
+ ----------------------------------*/
84
+
85
+ /* Overlays */
86
+ .ui-widget-overlay {
87
+ position: fixed;
88
+ top: 0;
89
+ left: 0;
90
+ width: 100%;
91
+ height: 100%;
92
+ }
93
+ .ui-accordion .ui-accordion-header {
94
+ display: block;
95
+ cursor: pointer;
96
+ position: relative;
97
+ margin: 2px 0 0 0;
98
+ padding: .5em .5em .5em .7em;
99
+ font-size: 100%;
100
+ }
101
+ .ui-accordion .ui-accordion-content {
102
+ padding: 1em 2.2em;
103
+ border-top: 0;
104
+ overflow: auto;
105
+ }
106
+ .ui-autocomplete {
107
+ position: absolute;
108
+ top: 0;
109
+ left: 0;
110
+ cursor: default;
111
+ }
112
+ .ui-menu {
113
+ list-style: none;
114
+ padding: 0;
115
+ margin: 0;
116
+ display: block;
117
+ outline: 0;
118
+ }
119
+ .ui-menu .ui-menu {
120
+ position: absolute;
121
+ }
122
+ .ui-menu .ui-menu-item {
123
+ margin: 0;
124
+ cursor: pointer;
125
+ /* support: IE10, see #8844 */
126
+ list-style-image: url("data:image/gif;base64,R0lGODlhAQABAIAAAAAAAP///yH5BAEAAAAALAAAAAABAAEAAAIBRAA7");
127
+ }
128
+ .ui-menu .ui-menu-item-wrapper {
129
+ position: relative;
130
+ padding: 3px 1em 3px .4em;
131
+ }
132
+ .ui-menu .ui-menu-divider {
133
+ margin: 5px 0;
134
+ height: 0;
135
+ font-size: 0;
136
+ line-height: 0;
137
+ border-width: 1px 0 0 0;
138
+ }
139
+ .ui-menu .ui-state-focus,
140
+ .ui-menu .ui-state-active {
141
+ margin: -1px;
142
+ }
143
+
144
+ /* icon support */
145
+ .ui-menu-icons {
146
+ position: relative;
147
+ }
148
+ .ui-menu-icons .ui-menu-item-wrapper {
149
+ padding-left: 2em;
150
+ }
151
+
152
+ /* left-aligned */
153
+ .ui-menu .ui-icon {
154
+ position: absolute;
155
+ top: 0;
156
+ bottom: 0;
157
+ left: .2em;
158
+ margin: auto 0;
159
+ }
160
+
161
+ /* right-aligned */
162
+ .ui-menu .ui-menu-icon {
163
+ left: auto;
164
+ right: 0;
165
+ }
166
+ .ui-button {
167
+ padding: .4em 1em;
168
+ display: inline-block;
169
+ position: relative;
170
+ line-height: normal;
171
+ margin-right: .1em;
172
+ cursor: pointer;
173
+ vertical-align: middle;
174
+ text-align: center;
175
+ -webkit-user-select: none;
176
+ -moz-user-select: none;
177
+ -ms-user-select: none;
178
+ user-select: none;
179
+
180
+ /* Support: IE <= 11 */
181
+ overflow: visible;
182
+ }
183
+
184
+ .ui-button,
185
+ .ui-button:link,
186
+ .ui-button:visited,
187
+ .ui-button:hover,
188
+ .ui-button:active {
189
+ text-decoration: none;
190
+ }
191
+
192
+ /* to make room for the icon, a width needs to be set here */
193
+ .ui-button-icon-only {
194
+ width: 2em;
195
+ box-sizing: border-box;
196
+ text-indent: -9999px;
197
+ white-space: nowrap;
198
+ }
199
+
200
+ /* no icon support for input elements */
201
+ input.ui-button.ui-button-icon-only {
202
+ text-indent: 0;
203
+ }
204
+
205
+ /* button icon element(s) */
206
+ .ui-button-icon-only .ui-icon {
207
+ position: absolute;
208
+ top: 50%;
209
+ left: 50%;
210
+ margin-top: -8px;
211
+ margin-left: -8px;
212
+ }
213
+
214
+ .ui-button.ui-icon-notext .ui-icon {
215
+ padding: 0;
216
+ width: 2.1em;
217
+ height: 2.1em;
218
+ text-indent: -9999px;
219
+ white-space: nowrap;
220
+
221
+ }
222
+
223
+ input.ui-button.ui-icon-notext .ui-icon {
224
+ width: auto;
225
+ height: auto;
226
+ text-indent: 0;
227
+ white-space: normal;
228
+ padding: .4em 1em;
229
+ }
230
+
231
+ /* workarounds */
232
+ /* Support: Firefox 5 - 40 */
233
+ input.ui-button::-moz-focus-inner,
234
+ button.ui-button::-moz-focus-inner {
235
+ border: 0;
236
+ padding: 0;
237
+ }
238
+ .ui-controlgroup {
239
+ vertical-align: middle;
240
+ display: inline-block;
241
+ }
242
+ .ui-controlgroup > .ui-controlgroup-item {
243
+ float: left;
244
+ margin-left: 0;
245
+ margin-right: 0;
246
+ }
247
+ .ui-controlgroup > .ui-controlgroup-item:focus,
248
+ .ui-controlgroup > .ui-controlgroup-item.ui-visual-focus {
249
+ z-index: 9999;
250
+ }
251
+ .ui-controlgroup-vertical > .ui-controlgroup-item {
252
+ display: block;
253
+ float: none;
254
+ width: 100%;
255
+ margin-top: 0;
256
+ margin-bottom: 0;
257
+ text-align: left;
258
+ }
259
+ .ui-controlgroup-vertical .ui-controlgroup-item {
260
+ box-sizing: border-box;
261
+ }
262
+ .ui-controlgroup .ui-controlgroup-label {
263
+ padding: .4em 1em;
264
+ }
265
+ .ui-controlgroup .ui-controlgroup-label span {
266
+ font-size: 80%;
267
+ }
268
+ .ui-controlgroup-horizontal .ui-controlgroup-label + .ui-controlgroup-item {
269
+ border-left: none;
270
+ }
271
+ .ui-controlgroup-vertical .ui-controlgroup-label + .ui-controlgroup-item {
272
+ border-top: none;
273
+ }
274
+ .ui-controlgroup-horizontal .ui-controlgroup-label.ui-widget-content {
275
+ border-right: none;
276
+ }
277
+ .ui-controlgroup-vertical .ui-controlgroup-label.ui-widget-content {
278
+ border-bottom: none;
279
+ }
280
+
281
+ /* Spinner specific style fixes */
282
+ .ui-controlgroup-vertical .ui-spinner-input {
283
+
284
+ /* Support: IE8 only, Android < 4.4 only */
285
+ width: 75%;
286
+ width: calc( 100% - 2.4em );
287
+ }
288
+ .ui-controlgroup-vertical .ui-spinner .ui-spinner-up {
289
+ border-top-style: solid;
290
+ }
291
+
292
+ .ui-checkboxradio-label .ui-icon-background {
293
+ box-shadow: inset 1px 1px 1px #ccc;
294
+ border-radius: .12em;
295
+ border: none;
296
+ }
297
+ .ui-checkboxradio-radio-label .ui-icon-background {
298
+ width: 16px;
299
+ height: 16px;
300
+ border-radius: 1em;
301
+ overflow: visible;
302
+ border: none;
303
+ }
304
+ .ui-checkboxradio-radio-label.ui-checkboxradio-checked .ui-icon,
305
+ .ui-checkboxradio-radio-label.ui-checkboxradio-checked:hover .ui-icon {
306
+ background-image: none;
307
+ width: 8px;
308
+ height: 8px;
309
+ border-width: 4px;
310
+ border-style: solid;
311
+ }
312
+ .ui-checkboxradio-disabled {
313
+ pointer-events: none;
314
+ }
315
+ .ui-datepicker {
316
+ width: 17em;
317
+ padding: .2em .2em 0;
318
+ display: none;
319
+ }
320
+ .ui-datepicker .ui-datepicker-header {
321
+ position: relative;
322
+ padding: .2em 0;
323
+ }
324
+ .ui-datepicker .ui-datepicker-prev,
325
+ .ui-datepicker .ui-datepicker-next {
326
+ position: absolute;
327
+ top: 2px;
328
+ width: 1.8em;
329
+ height: 1.8em;
330
+ }
331
+ .ui-datepicker .ui-datepicker-prev-hover,
332
+ .ui-datepicker .ui-datepicker-next-hover {
333
+ top: 1px;
334
+ }
335
+ .ui-datepicker .ui-datepicker-prev {
336
+ left: 2px;
337
+ }
338
+ .ui-datepicker .ui-datepicker-next {
339
+ right: 2px;
340
+ }
341
+ .ui-datepicker .ui-datepicker-prev-hover {
342
+ left: 1px;
343
+ }
344
+ .ui-datepicker .ui-datepicker-next-hover {
345
+ right: 1px;
346
+ }
347
+ .ui-datepicker .ui-datepicker-prev span,
348
+ .ui-datepicker .ui-datepicker-next span {
349
+ display: block;
350
+ position: absolute;
351
+ left: 50%;
352
+ margin-left: -8px;
353
+ top: 50%;
354
+ margin-top: -8px;
355
+ }
356
+ .ui-datepicker .ui-datepicker-title {
357
+ margin: 0 2.3em;
358
+ line-height: 1.8em;
359
+ text-align: center;
360
+ }
361
+ .ui-datepicker .ui-datepicker-title select {
362
+ font-size: 1em;
363
+ margin: 1px 0;
364
+ }
365
+ .ui-datepicker select.ui-datepicker-month,
366
+ .ui-datepicker select.ui-datepicker-year {
367
+ width: 45%;
368
+ }
369
+ .ui-datepicker table {
370
+ width: 100%;
371
+ font-size: .9em;
372
+ border-collapse: collapse;
373
+ margin: 0 0 .4em;
374
+ }
375
+ .ui-datepicker th {
376
+ padding: .7em .3em;
377
+ text-align: center;
378
+ font-weight: bold;
379
+ border: 0;
380
+ }
381
+ .ui-datepicker td {
382
+ border: 0;
383
+ padding: 1px;
384
+ }
385
+ .ui-datepicker td span,
386
+ .ui-datepicker td a {
387
+ display: block;
388
+ padding: .2em;
389
+ text-align: right;
390
+ text-decoration: none;
391
+ }
392
+ .ui-datepicker .ui-datepicker-buttonpane {
393
+ background-image: none;
394
+ margin: .7em 0 0 0;
395
+ padding: 0 .2em;
396
+ border-left: 0;
397
+ border-right: 0;
398
+ border-bottom: 0;
399
+ }
400
+ .ui-datepicker .ui-datepicker-buttonpane button {
401
+ float: right;
402
+ margin: .5em .2em .4em;
403
+ cursor: pointer;
404
+ padding: .2em .6em .3em .6em;
405
+ width: auto;
406
+ overflow: visible;
407
+ }
408
+ .ui-datepicker .ui-datepicker-buttonpane button.ui-datepicker-current {
409
+ float: left;
410
+ }
411
+
412
+ /* with multiple calendars */
413
+ .ui-datepicker.ui-datepicker-multi {
414
+ width: auto;
415
+ }
416
+ .ui-datepicker-multi .ui-datepicker-group {
417
+ float: left;
418
+ }
419
+ .ui-datepicker-multi .ui-datepicker-group table {
420
+ width: 95%;
421
+ margin: 0 auto .4em;
422
+ }
423
+ .ui-datepicker-multi-2 .ui-datepicker-group {
424
+ width: 50%;
425
+ }
426
+ .ui-datepicker-multi-3 .ui-datepicker-group {
427
+ width: 33.3%;
428
+ }
429
+ .ui-datepicker-multi-4 .ui-datepicker-group {
430
+ width: 25%;
431
+ }
432
+ .ui-datepicker-multi .ui-datepicker-group-last .ui-datepicker-header,
433
+ .ui-datepicker-multi .ui-datepicker-group-middle .ui-datepicker-header {
434
+ border-left-width: 0;
435
+ }
436
+ .ui-datepicker-multi .ui-datepicker-buttonpane {
437
+ clear: left;
438
+ }
439
+ .ui-datepicker-row-break {
440
+ clear: both;
441
+ width: 100%;
442
+ font-size: 0;
443
+ }
444
+
445
+ /* RTL support */
446
+ .ui-datepicker-rtl {
447
+ direction: rtl;
448
+ }
449
+ .ui-datepicker-rtl .ui-datepicker-prev {
450
+ right: 2px;
451
+ left: auto;
452
+ }
453
+ .ui-datepicker-rtl .ui-datepicker-next {
454
+ left: 2px;
455
+ right: auto;
456
+ }
457
+ .ui-datepicker-rtl .ui-datepicker-prev:hover {
458
+ right: 1px;
459
+ left: auto;
460
+ }
461
+ .ui-datepicker-rtl .ui-datepicker-next:hover {
462
+ left: 1px;
463
+ right: auto;
464
+ }
465
+ .ui-datepicker-rtl .ui-datepicker-buttonpane {
466
+ clear: right;
467
+ }
468
+ .ui-datepicker-rtl .ui-datepicker-buttonpane button {
469
+ float: left;
470
+ }
471
+ .ui-datepicker-rtl .ui-datepicker-buttonpane button.ui-datepicker-current,
472
+ .ui-datepicker-rtl .ui-datepicker-group {
473
+ float: right;
474
+ }
475
+ .ui-datepicker-rtl .ui-datepicker-group-last .ui-datepicker-header,
476
+ .ui-datepicker-rtl .ui-datepicker-group-middle .ui-datepicker-header {
477
+ border-right-width: 0;
478
+ border-left-width: 1px;
479
+ }
480
+
481
+ /* Icons */
482
+ .ui-datepicker .ui-icon {
483
+ display: block;
484
+ text-indent: -99999px;
485
+ overflow: hidden;
486
+ background-repeat: no-repeat;
487
+ left: .5em;
488
+ top: .3em;
489
+ }
490
+ .ui-dialog {
491
+ position: absolute;
492
+ top: 0;
493
+ left: 0;
494
+ padding: .2em;
495
+ outline: 0;
496
+ }
497
+ .ui-dialog .ui-dialog-titlebar {
498
+ padding: .4em 1em;
499
+ position: relative;
500
+ }
501
+ .ui-dialog .ui-dialog-title {
502
+ float: left;
503
+ margin: .1em 0;
504
+ white-space: nowrap;
505
+ width: 90%;
506
+ overflow: hidden;
507
+ text-overflow: ellipsis;
508
+ }
509
+ .ui-dialog .ui-dialog-titlebar-close {
510
+ position: absolute;
511
+ right: .3em;
512
+ top: 50%;
513
+ width: 20px;
514
+ margin: -10px 0 0 0;
515
+ padding: 1px;
516
+ height: 20px;
517
+ }
518
+ .ui-dialog .ui-dialog-content {
519
+ position: relative;
520
+ border: 0;
521
+ padding: .5em 1em;
522
+ background: none;
523
+ overflow: auto;
524
+ }
525
+ .ui-dialog .ui-dialog-buttonpane {
526
+ text-align: left;
527
+ border-width: 1px 0 0 0;
528
+ background-image: none;
529
+ margin-top: .5em;
530
+ padding: .3em 1em .5em .4em;
531
+ }
532
+ .ui-dialog .ui-dialog-buttonpane .ui-dialog-buttonset {
533
+ float: right;
534
+ }
535
+ .ui-dialog .ui-dialog-buttonpane button {
536
+ margin: .5em .4em .5em 0;
537
+ cursor: pointer;
538
+ }
539
+ .ui-dialog .ui-resizable-n {
540
+ height: 2px;
541
+ top: 0;
542
+ }
543
+ .ui-dialog .ui-resizable-e {
544
+ width: 2px;
545
+ right: 0;
546
+ }
547
+ .ui-dialog .ui-resizable-s {
548
+ height: 2px;
549
+ bottom: 0;
550
+ }
551
+ .ui-dialog .ui-resizable-w {
552
+ width: 2px;
553
+ left: 0;
554
+ }
555
+ .ui-dialog .ui-resizable-se,
556
+ .ui-dialog .ui-resizable-sw,
557
+ .ui-dialog .ui-resizable-ne,
558
+ .ui-dialog .ui-resizable-nw {
559
+ width: 7px;
560
+ height: 7px;
561
+ }
562
+ .ui-dialog .ui-resizable-se {
563
+ right: 0;
564
+ bottom: 0;
565
+ }
566
+ .ui-dialog .ui-resizable-sw {
567
+ left: 0;
568
+ bottom: 0;
569
+ }
570
+ .ui-dialog .ui-resizable-ne {
571
+ right: 0;
572
+ top: 0;
573
+ }
574
+ .ui-dialog .ui-resizable-nw {
575
+ left: 0;
576
+ top: 0;
577
+ }
578
+ .ui-draggable .ui-dialog-titlebar {
579
+ cursor: move;
580
+ }
581
+ .ui-draggable-handle {
582
+ -ms-touch-action: none;
583
+ touch-action: none;
584
+ }
585
+ .ui-resizable {
586
+ position: relative;
587
+ }
588
+ .ui-resizable-handle {
589
+ position: absolute;
590
+ font-size: 0.1px;
591
+ display: block;
592
+ -ms-touch-action: none;
593
+ touch-action: none;
594
+ }
595
+ .ui-resizable-disabled .ui-resizable-handle,
596
+ .ui-resizable-autohide .ui-resizable-handle {
597
+ display: none;
598
+ }
599
+ .ui-resizable-n {
600
+ cursor: n-resize;
601
+ height: 7px;
602
+ width: 100%;
603
+ top: -5px;
604
+ left: 0;
605
+ }
606
+ .ui-resizable-s {
607
+ cursor: s-resize;
608
+ height: 7px;
609
+ width: 100%;
610
+ bottom: -5px;
611
+ left: 0;
612
+ }
613
+ .ui-resizable-e {
614
+ cursor: e-resize;
615
+ width: 7px;
616
+ right: -5px;
617
+ top: 0;
618
+ height: 100%;
619
+ }
620
+ .ui-resizable-w {
621
+ cursor: w-resize;
622
+ width: 7px;
623
+ left: -5px;
624
+ top: 0;
625
+ height: 100%;
626
+ }
627
+ .ui-resizable-se {
628
+ cursor: se-resize;
629
+ width: 12px;
630
+ height: 12px;
631
+ right: 1px;
632
+ bottom: 1px;
633
+ }
634
+ .ui-resizable-sw {
635
+ cursor: sw-resize;
636
+ width: 9px;
637
+ height: 9px;
638
+ left: -5px;
639
+ bottom: -5px;
640
+ }
641
+ .ui-resizable-nw {
642
+ cursor: nw-resize;
643
+ width: 9px;
644
+ height: 9px;
645
+ left: -5px;
646
+ top: -5px;
647
+ }
648
+ .ui-resizable-ne {
649
+ cursor: ne-resize;
650
+ width: 9px;
651
+ height: 9px;
652
+ right: -5px;
653
+ top: -5px;
654
+ }
655
+ .ui-progressbar {
656
+ height: 2em;
657
+ text-align: left;
658
+ overflow: hidden;
659
+ }
660
+ .ui-progressbar .ui-progressbar-value {
661
+ margin: -1px;
662
+ height: 100%;
663
+ }
664
+ .ui-progressbar .ui-progressbar-overlay {
665
+ background: url("data:image/gif;base64,R0lGODlhKAAoAIABAAAAAP///yH/C05FVFNDQVBFMi4wAwEAAAAh+QQJAQABACwAAAAAKAAoAAACkYwNqXrdC52DS06a7MFZI+4FHBCKoDeWKXqymPqGqxvJrXZbMx7Ttc+w9XgU2FB3lOyQRWET2IFGiU9m1frDVpxZZc6bfHwv4c1YXP6k1Vdy292Fb6UkuvFtXpvWSzA+HycXJHUXiGYIiMg2R6W459gnWGfHNdjIqDWVqemH2ekpObkpOlppWUqZiqr6edqqWQAAIfkECQEAAQAsAAAAACgAKAAAApSMgZnGfaqcg1E2uuzDmmHUBR8Qil95hiPKqWn3aqtLsS18y7G1SzNeowWBENtQd+T1JktP05nzPTdJZlR6vUxNWWjV+vUWhWNkWFwxl9VpZRedYcflIOLafaa28XdsH/ynlcc1uPVDZxQIR0K25+cICCmoqCe5mGhZOfeYSUh5yJcJyrkZWWpaR8doJ2o4NYq62lAAACH5BAkBAAEALAAAAAAoACgAAAKVDI4Yy22ZnINRNqosw0Bv7i1gyHUkFj7oSaWlu3ovC8GxNso5fluz3qLVhBVeT/Lz7ZTHyxL5dDalQWPVOsQWtRnuwXaFTj9jVVh8pma9JjZ4zYSj5ZOyma7uuolffh+IR5aW97cHuBUXKGKXlKjn+DiHWMcYJah4N0lYCMlJOXipGRr5qdgoSTrqWSq6WFl2ypoaUAAAIfkECQEAAQAsAAAAACgAKAAAApaEb6HLgd/iO7FNWtcFWe+ufODGjRfoiJ2akShbueb0wtI50zm02pbvwfWEMWBQ1zKGlLIhskiEPm9R6vRXxV4ZzWT2yHOGpWMyorblKlNp8HmHEb/lCXjcW7bmtXP8Xt229OVWR1fod2eWqNfHuMjXCPkIGNileOiImVmCOEmoSfn3yXlJWmoHGhqp6ilYuWYpmTqKUgAAIfkECQEAAQAsAAAAACgAKAAAApiEH6kb58biQ3FNWtMFWW3eNVcojuFGfqnZqSebuS06w5V80/X02pKe8zFwP6EFWOT1lDFk8rGERh1TTNOocQ61Hm4Xm2VexUHpzjymViHrFbiELsefVrn6XKfnt2Q9G/+Xdie499XHd2g4h7ioOGhXGJboGAnXSBnoBwKYyfioubZJ2Hn0RuRZaflZOil56Zp6iioKSXpUAAAh+QQJAQABACwAAAAAKAAoAAACkoQRqRvnxuI7kU1a1UU5bd5tnSeOZXhmn5lWK3qNTWvRdQxP8qvaC+/yaYQzXO7BMvaUEmJRd3TsiMAgswmNYrSgZdYrTX6tSHGZO73ezuAw2uxuQ+BbeZfMxsexY35+/Qe4J1inV0g4x3WHuMhIl2jXOKT2Q+VU5fgoSUI52VfZyfkJGkha6jmY+aaYdirq+lQAACH5BAkBAAEALAAAAAAoACgAAAKWBIKpYe0L3YNKToqswUlvznigd4wiR4KhZrKt9Upqip61i9E3vMvxRdHlbEFiEXfk9YARYxOZZD6VQ2pUunBmtRXo1Lf8hMVVcNl8JafV38aM2/Fu5V16Bn63r6xt97j09+MXSFi4BniGFae3hzbH9+hYBzkpuUh5aZmHuanZOZgIuvbGiNeomCnaxxap2upaCZsq+1kAACH5BAkBAAEALAAAAAAoACgAAAKXjI8By5zf4kOxTVrXNVlv1X0d8IGZGKLnNpYtm8Lr9cqVeuOSvfOW79D9aDHizNhDJidFZhNydEahOaDH6nomtJjp1tutKoNWkvA6JqfRVLHU/QUfau9l2x7G54d1fl995xcIGAdXqMfBNadoYrhH+Mg2KBlpVpbluCiXmMnZ2Sh4GBqJ+ckIOqqJ6LmKSllZmsoq6wpQAAAh+QQJAQABACwAAAAAKAAoAAAClYx/oLvoxuJDkU1a1YUZbJ59nSd2ZXhWqbRa2/gF8Gu2DY3iqs7yrq+xBYEkYvFSM8aSSObE+ZgRl1BHFZNr7pRCavZ5BW2142hY3AN/zWtsmf12p9XxxFl2lpLn1rseztfXZjdIWIf2s5dItwjYKBgo9yg5pHgzJXTEeGlZuenpyPmpGQoKOWkYmSpaSnqKileI2FAAACH5BAkBAAEALAAAAAAoACgAAAKVjB+gu+jG4kORTVrVhRlsnn2dJ3ZleFaptFrb+CXmO9OozeL5VfP99HvAWhpiUdcwkpBH3825AwYdU8xTqlLGhtCosArKMpvfa1mMRae9VvWZfeB2XfPkeLmm18lUcBj+p5dnN8jXZ3YIGEhYuOUn45aoCDkp16hl5IjYJvjWKcnoGQpqyPlpOhr3aElaqrq56Bq7VAAAOw==");
666
+ height: 100%;
667
+ filter: alpha(opacity=25); /* support: IE8 */
668
+ opacity: 0.25;
669
+ }
670
+ .ui-progressbar-indeterminate .ui-progressbar-value {
671
+ background-image: none;
672
+ }
673
+ .ui-selectable {
674
+ -ms-touch-action: none;
675
+ touch-action: none;
676
+ }
677
+ .ui-selectable-helper {
678
+ position: absolute;
679
+ z-index: 100;
680
+ border: 1px dotted black;
681
+ }
682
+ .ui-selectmenu-menu {
683
+ padding: 0;
684
+ margin: 0;
685
+ position: absolute;
686
+ top: 0;
687
+ left: 0;
688
+ display: none;
689
+ }
690
+ .ui-selectmenu-menu .ui-menu {
691
+ overflow: auto;
692
+ overflow-x: hidden;
693
+ padding-bottom: 1px;
694
+ }
695
+ .ui-selectmenu-menu .ui-menu .ui-selectmenu-optgroup {
696
+ font-size: 1em;
697
+ font-weight: bold;
698
+ line-height: 1.5;
699
+ padding: 2px 0.4em;
700
+ margin: 0.5em 0 0 0;
701
+ height: auto;
702
+ border: 0;
703
+ }
704
+ .ui-selectmenu-open {
705
+ display: block;
706
+ }
707
+ .ui-selectmenu-text {
708
+ display: block;
709
+ margin-right: 20px;
710
+ overflow: hidden;
711
+ text-overflow: ellipsis;
712
+ }
713
+ .ui-selectmenu-button.ui-button {
714
+ text-align: left;
715
+ white-space: nowrap;
716
+ width: 14em;
717
+ }
718
+ .ui-selectmenu-icon.ui-icon {
719
+ float: right;
720
+ margin-top: 0;
721
+ }
722
+ .ui-slider {
723
+ position: relative;
724
+ text-align: left;
725
+ }
726
+ .ui-slider .ui-slider-handle {
727
+ position: absolute;
728
+ z-index: 2;
729
+ width: 1.2em;
730
+ height: 1.2em;
731
+ cursor: default;
732
+ -ms-touch-action: none;
733
+ touch-action: none;
734
+ }
735
+ .ui-slider .ui-slider-range {
736
+ position: absolute;
737
+ z-index: 1;
738
+ font-size: .7em;
739
+ display: block;
740
+ border: 0;
741
+ background-position: 0 0;
742
+ }
743
+
744
+ /* support: IE8 - See #6727 */
745
+ .ui-slider.ui-state-disabled .ui-slider-handle,
746
+ .ui-slider.ui-state-disabled .ui-slider-range {
747
+ filter: inherit;
748
+ }
749
+
750
+ .ui-slider-horizontal {
751
+ height: .8em;
752
+ }
753
+ .ui-slider-horizontal .ui-slider-handle {
754
+ top: -.3em;
755
+ margin-left: -.6em;
756
+ }
757
+ .ui-slider-horizontal .ui-slider-range {
758
+ top: 0;
759
+ height: 100%;
760
+ }
761
+ .ui-slider-horizontal .ui-slider-range-min {
762
+ left: 0;
763
+ }
764
+ .ui-slider-horizontal .ui-slider-range-max {
765
+ right: 0;
766
+ }
767
+
768
+ .ui-slider-vertical {
769
+ width: .8em;
770
+ height: 100px;
771
+ }
772
+ .ui-slider-vertical .ui-slider-handle {
773
+ left: -.3em;
774
+ margin-left: 0;
775
+ margin-bottom: -.6em;
776
+ }
777
+ .ui-slider-vertical .ui-slider-range {
778
+ left: 0;
779
+ width: 100%;
780
+ }
781
+ .ui-slider-vertical .ui-slider-range-min {
782
+ bottom: 0;
783
+ }
784
+ .ui-slider-vertical .ui-slider-range-max {
785
+ top: 0;
786
+ }
787
+ .ui-sortable-handle {
788
+ -ms-touch-action: none;
789
+ touch-action: none;
790
+ }
791
+ .ui-spinner {
792
+ position: relative;
793
+ display: inline-block;
794
+ overflow: hidden;
795
+ padding: 0;
796
+ vertical-align: middle;
797
+ }
798
+ .ui-spinner-input {
799
+ border: none;
800
+ background: none;
801
+ color: inherit;
802
+ padding: .222em 0;
803
+ margin: .2em 0;
804
+ vertical-align: middle;
805
+ margin-left: .4em;
806
+ margin-right: 2em;
807
+ }
808
+ .ui-spinner-button {
809
+ width: 1.6em;
810
+ height: 50%;
811
+ font-size: .5em;
812
+ padding: 0;
813
+ margin: 0;
814
+ text-align: center;
815
+ position: absolute;
816
+ cursor: default;
817
+ display: block;
818
+ overflow: hidden;
819
+ right: 0;
820
+ }
821
+ /* more specificity required here to override default borders */
822
+ .ui-spinner a.ui-spinner-button {
823
+ border-top-style: none;
824
+ border-bottom-style: none;
825
+ border-right-style: none;
826
+ }
827
+ .ui-spinner-up {
828
+ top: 0;
829
+ }
830
+ .ui-spinner-down {
831
+ bottom: 0;
832
+ }
833
+ .ui-tabs {
834
+ position: relative;/* position: relative prevents IE scroll bug (element with position: relative inside container with overflow: auto appear as "fixed") */
835
+ padding: .2em;
836
+ }
837
+ .ui-tabs .ui-tabs-nav {
838
+ margin: 0;
839
+ padding: .2em .2em 0;
840
+ }
841
+ .ui-tabs .ui-tabs-nav li {
842
+ list-style: none;
843
+ float: left;
844
+ position: relative;
845
+ top: 0;
846
+ margin: 1px .2em 0 0;
847
+ border-bottom-width: 0;
848
+ padding: 0;
849
+ white-space: nowrap;
850
+ }
851
+ .ui-tabs .ui-tabs-nav .ui-tabs-anchor {
852
+ float: left;
853
+ padding: .5em 1em;
854
+ text-decoration: none;
855
+ }
856
+ .ui-tabs .ui-tabs-nav li.ui-tabs-active {
857
+ margin-bottom: -1px;
858
+ padding-bottom: 1px;
859
+ }
860
+ .ui-tabs .ui-tabs-nav li.ui-tabs-active .ui-tabs-anchor,
861
+ .ui-tabs .ui-tabs-nav li.ui-state-disabled .ui-tabs-anchor,
862
+ .ui-tabs .ui-tabs-nav li.ui-tabs-loading .ui-tabs-anchor {
863
+ cursor: text;
864
+ }
865
+ .ui-tabs-collapsible .ui-tabs-nav li.ui-tabs-active .ui-tabs-anchor {
866
+ cursor: pointer;
867
+ }
868
+ .ui-tabs .ui-tabs-panel {
869
+ display: block;
870
+ border-width: 0;
871
+ padding: 1em 1.4em;
872
+ background: none;
873
+ }
874
+ .ui-tooltip {
875
+ padding: 8px;
876
+ position: absolute;
877
+ z-index: 9999;
878
+ max-width: 300px;
879
+ }
880
+ body .ui-tooltip {
881
+ border-width: 2px;
882
+ }
883
+ /* Component containers
884
+ ----------------------------------*/
885
+ .ui-widget {
886
+ font-family: Arial,Helvetica,sans-serif;
887
+ font-size: 1em;
888
+ }
889
+ .ui-widget .ui-widget {
890
+ font-size: 1em;
891
+ }
892
+ .ui-widget input,
893
+ .ui-widget select,
894
+ .ui-widget textarea,
895
+ .ui-widget button {
896
+ font-family: Arial,Helvetica,sans-serif;
897
+ font-size: 1em;
898
+ }
899
+ .ui-widget.ui-widget-content {
900
+ border: 1px solid #c5c5c5;
901
+ }
902
+ .ui-widget-content {
903
+ border: 1px solid #dddddd;
904
+ background: #ffffff;
905
+ color: #333333;
906
+ }
907
+ .ui-widget-content a {
908
+ color: #333333;
909
+ }
910
+ .ui-widget-header {
911
+ border: 1px solid #dddddd;
912
+ background: #e9e9e9;
913
+ color: #333333;
914
+ font-weight: bold;
915
+ }
916
+ .ui-widget-header a {
917
+ color: #333333;
918
+ }
919
+
920
+ /* Interaction states
921
+ ----------------------------------*/
922
+ .ui-state-default,
923
+ .ui-widget-content .ui-state-default,
924
+ .ui-widget-header .ui-state-default,
925
+ .ui-button,
926
+
927
+ /* We use html here because we need a greater specificity to make sure disabled
928
+ works properly when clicked or hovered */
929
+ html .ui-button.ui-state-disabled:hover,
930
+ html .ui-button.ui-state-disabled:active {
931
+ border: 1px solid #c5c5c5;
932
+ background: #f6f6f6;
933
+ font-weight: normal;
934
+ color: #454545;
935
+ }
936
+ .ui-state-default a,
937
+ .ui-state-default a:link,
938
+ .ui-state-default a:visited,
939
+ a.ui-button,
940
+ a:link.ui-button,
941
+ a:visited.ui-button,
942
+ .ui-button {
943
+ color: #454545;
944
+ text-decoration: none;
945
+ }
946
+ .ui-state-hover,
947
+ .ui-widget-content .ui-state-hover,
948
+ .ui-widget-header .ui-state-hover,
949
+ .ui-state-focus,
950
+ .ui-widget-content .ui-state-focus,
951
+ .ui-widget-header .ui-state-focus,
952
+ .ui-button:hover,
953
+ .ui-button:focus {
954
+ border: 1px solid #cccccc;
955
+ background: #ededed;
956
+ font-weight: normal;
957
+ color: #2b2b2b;
958
+ }
959
+ .ui-state-hover a,
960
+ .ui-state-hover a:hover,
961
+ .ui-state-hover a:link,
962
+ .ui-state-hover a:visited,
963
+ .ui-state-focus a,
964
+ .ui-state-focus a:hover,
965
+ .ui-state-focus a:link,
966
+ .ui-state-focus a:visited,
967
+ a.ui-button:hover,
968
+ a.ui-button:focus {
969
+ color: #2b2b2b;
970
+ text-decoration: none;
971
+ }
972
+
973
+ .ui-visual-focus {
974
+ box-shadow: 0 0 3px 1px rgb(94, 158, 214);
975
+ }
976
+ .ui-state-active,
977
+ .ui-widget-content .ui-state-active,
978
+ .ui-widget-header .ui-state-active,
979
+ a.ui-button:active,
980
+ .ui-button:active,
981
+ .ui-button.ui-state-active:hover {
982
+ border: 1px solid #003eff;
983
+ background: #0073aa;
984
+ font-weight: normal;
985
+ color: #ffffff;
986
+ }
987
+ .ui-icon-background,
988
+ .ui-state-active .ui-icon-background {
989
+ border: #003eff;
990
+ background-color: #ffffff;
991
+ }
992
+ .ui-state-active a,
993
+ .ui-state-active a:link,
994
+ .ui-state-active a:visited {
995
+ color: #ffffff;
996
+ text-decoration: none;
997
+ }
998
+
999
+ /* Interaction Cues
1000
+ ----------------------------------*/
1001
+ .ui-state-highlight,
1002
+ .ui-widget-content .ui-state-highlight,
1003
+ .ui-widget-header .ui-state-highlight {
1004
+ border: 1px solid #dad55e;
1005
+ background: #fffa90;
1006
+ color: #777620;
1007
+ }
1008
+ .ui-state-checked {
1009
+ border: 1px solid #dad55e;
1010
+ background: #fffa90;
1011
+ }
1012
+ .ui-state-highlight a,
1013
+ .ui-widget-content .ui-state-highlight a,
1014
+ .ui-widget-header .ui-state-highlight a {
1015
+ color: #777620;
1016
+ }
1017
+ .ui-state-error,
1018
+ .ui-widget-content .ui-state-error,
1019
+ .ui-widget-header .ui-state-error {
1020
+ border: 1px solid #f1a899;
1021
+ background: #fddfdf;
1022
+ color: #5f3f3f;
1023
+ }
1024
+ .ui-state-error a,
1025
+ .ui-widget-content .ui-state-error a,
1026
+ .ui-widget-header .ui-state-error a {
1027
+ color: #5f3f3f;
1028
+ }
1029
+ .ui-state-error-text,
1030
+ .ui-widget-content .ui-state-error-text,
1031
+ .ui-widget-header .ui-state-error-text {
1032
+ color: #5f3f3f;
1033
+ }
1034
+ .ui-priority-primary,
1035
+ .ui-widget-content .ui-priority-primary,
1036
+ .ui-widget-header .ui-priority-primary {
1037
+ font-weight: bold;
1038
+ }
1039
+ .ui-priority-secondary,
1040
+ .ui-widget-content .ui-priority-secondary,
1041
+ .ui-widget-header .ui-priority-secondary {
1042
+ opacity: .7;
1043
+ filter:Alpha(Opacity=70); /* support: IE8 */
1044
+ font-weight: normal;
1045
+ }
1046
+ .ui-state-disabled,
1047
+ .ui-widget-content .ui-state-disabled,
1048
+ .ui-widget-header .ui-state-disabled {
1049
+ opacity: .35;
1050
+ filter:Alpha(Opacity=35); /* support: IE8 */
1051
+ background-image: none;
1052
+ }
1053
+ .ui-state-disabled .ui-icon {
1054
+ filter:Alpha(Opacity=35); /* support: IE8 - See #6059 */
1055
+ }
1056
+
1057
+ /* Icons
1058
+ ----------------------------------*/
1059
+
1060
+ /* states and images */
1061
+ .ui-icon {
1062
+ width: 16px;
1063
+ height: 16px;
1064
+ }
1065
+
1066
+ .ui-button .ui-icon {
1067
+ background-image: url("https://cdnjs.cloudflare.com/ajax/libs/jqueryui/1.12.1/themes/base/images/ui-icons_777777_256x240.png");
1068
+ }
1069
+
1070
+ /* positioning */
1071
+ .ui-icon-blank { background-position: 16px 16px; }
1072
+ .ui-icon-caret-1-n { background-position: 0 0; }
1073
+ .ui-icon-caret-1-ne { background-position: -16px 0; }
1074
+ .ui-icon-caret-1-e { background-position: -32px 0; }
1075
+ .ui-icon-caret-1-se { background-position: -48px 0; }
1076
+ .ui-icon-caret-1-s { background-position: -65px 0; }
1077
+ .ui-icon-caret-1-sw { background-position: -80px 0; }
1078
+ .ui-icon-caret-1-w { background-position: -96px 0; }
1079
+ .ui-icon-caret-1-nw { background-position: -112px 0; }
1080
+ .ui-icon-caret-2-n-s { background-position: -128px 0; }
1081
+ .ui-icon-caret-2-e-w { background-position: -144px 0; }
1082
+ .ui-icon-triangle-1-n { background-position: 0 -16px; }
1083
+ .ui-icon-triangle-1-ne { background-position: -16px -16px; }
1084
+ .ui-icon-triangle-1-e { background-position: -32px -16px; }
1085
+ .ui-icon-triangle-1-se { background-position: -48px -16px; }
1086
+ .ui-icon-triangle-1-s { background-position: -65px -16px; }
1087
+ .ui-icon-triangle-1-sw { background-position: -80px -16px; }
1088
+ .ui-icon-triangle-1-w { background-position: -96px -16px; }
1089
+ .ui-icon-triangle-1-nw { background-position: -112px -16px; }
1090
+ .ui-icon-triangle-2-n-s { background-position: -128px -16px; }
1091
+ .ui-icon-triangle-2-e-w { background-position: -144px -16px; }
1092
+ .ui-icon-arrow-1-n { background-position: 0 -32px; }
1093
+ .ui-icon-arrow-1-ne { background-position: -16px -32px; }
1094
+ .ui-icon-arrow-1-e { background-position: -32px -32px; }
1095
+ .ui-icon-arrow-1-se { background-position: -48px -32px; }
1096
+ .ui-icon-arrow-1-s { background-position: -65px -32px; }
1097
+ .ui-icon-arrow-1-sw { background-position: -80px -32px; }
1098
+ .ui-icon-arrow-1-w { background-position: -96px -32px; }
1099
+ .ui-icon-arrow-1-nw { background-position: -112px -32px; }
1100
+ .ui-icon-arrow-2-n-s { background-position: -128px -32px; }
1101
+ .ui-icon-arrow-2-ne-sw { background-position: -144px -32px; }
1102
+ .ui-icon-arrow-2-e-w { background-position: -160px -32px; }
1103
+ .ui-icon-arrow-2-se-nw { background-position: -176px -32px; }
1104
+ .ui-icon-arrowstop-1-n { background-position: -192px -32px; }
1105
+ .ui-icon-arrowstop-1-e { background-position: -208px -32px; }
1106
+ .ui-icon-arrowstop-1-s { background-position: -224px -32px; }
1107
+ .ui-icon-arrowstop-1-w { background-position: -240px -32px; }
1108
+ .ui-icon-arrowthick-1-n { background-position: 1px -48px; }
1109
+ .ui-icon-arrowthick-1-ne { background-position: -16px -48px; }
1110
+ .ui-icon-arrowthick-1-e { background-position: -32px -48px; }
1111
+ .ui-icon-arrowthick-1-se { background-position: -48px -48px; }
1112
+ .ui-icon-arrowthick-1-s { background-position: -64px -48px; }
1113
+ .ui-icon-arrowthick-1-sw { background-position: -80px -48px; }
1114
+ .ui-icon-arrowthick-1-w { background-position: -96px -48px; }
1115
+ .ui-icon-arrowthick-1-nw { background-position: -112px -48px; }
1116
+ .ui-icon-arrowthick-2-n-s { background-position: -128px -48px; }
1117
+ .ui-icon-arrowthick-2-ne-sw { background-position: -144px -48px; }
1118
+ .ui-icon-arrowthick-2-e-w { background-position: -160px -48px; }
1119
+ .ui-icon-arrowthick-2-se-nw { background-position: -176px -48px; }
1120
+ .ui-icon-arrowthickstop-1-n { background-position: -192px -48px; }
1121
+ .ui-icon-arrowthickstop-1-e { background-position: -208px -48px; }
1122
+ .ui-icon-arrowthickstop-1-s { background-position: -224px -48px; }
1123
+ .ui-icon-arrowthickstop-1-w { background-position: -240px -48px; }
1124
+ .ui-icon-arrowreturnthick-1-w { background-position: 0 -64px; }
1125
+ .ui-icon-arrowreturnthick-1-n { background-position: -16px -64px; }
1126
+ .ui-icon-arrowreturnthick-1-e { background-position: -32px -64px; }
1127
+ .ui-icon-arrowreturnthick-1-s { background-position: -48px -64px; }
1128
+ .ui-icon-arrowreturn-1-w { background-position: -64px -64px; }
1129
+ .ui-icon-arrowreturn-1-n { background-position: -80px -64px; }
1130
+ .ui-icon-arrowreturn-1-e { background-position: -96px -64px; }
1131
+ .ui-icon-arrowreturn-1-s { background-position: -112px -64px; }
1132
+ .ui-icon-arrowrefresh-1-w { background-position: -128px -64px; }
1133
+ .ui-icon-arrowrefresh-1-n { background-position: -144px -64px; }
1134
+ .ui-icon-arrowrefresh-1-e { background-position: -160px -64px; }
1135
+ .ui-icon-arrowrefresh-1-s { background-position: -176px -64px; }
1136
+ .ui-icon-arrow-4 { background-position: 0 -80px; }
1137
+ .ui-icon-arrow-4-diag { background-position: -16px -80px; }
1138
+ .ui-icon-extlink { background-position: -32px -80px; }
1139
+ .ui-icon-newwin { background-position: -48px -80px; }
1140
+ .ui-icon-refresh { background-position: -64px -80px; }
1141
+ .ui-icon-shuffle { background-position: -80px -80px; }
1142
+ .ui-icon-transfer-e-w { background-position: -96px -80px; }
1143
+ .ui-icon-transferthick-e-w { background-position: -112px -80px; }
1144
+ .ui-icon-folder-collapsed { background-position: 0 -96px; }
1145
+ .ui-icon-folder-open { background-position: -16px -96px; }
1146
+ .ui-icon-document { background-position: -32px -96px; }
1147
+ .ui-icon-document-b { background-position: -48px -96px; }
1148
+ .ui-icon-note { background-position: -64px -96px; }
1149
+ .ui-icon-mail-closed { background-position: -80px -96px; }
1150
+ .ui-icon-mail-open { background-position: -96px -96px; }
1151
+ .ui-icon-suitcase { background-position: -112px -96px; }
1152
+ .ui-icon-comment { background-position: -128px -96px; }
1153
+ .ui-icon-person { background-position: -144px -96px; }
1154
+ .ui-icon-print { background-position: -160px -96px; }
1155
+ .ui-icon-trash { background-position: -176px -96px; }
1156
+ .ui-icon-locked { background-position: -192px -96px; }
1157
+ .ui-icon-unlocked { background-position: -208px -96px; }
1158
+ .ui-icon-bookmark { background-position: -224px -96px; }
1159
+ .ui-icon-tag { background-position: -240px -96px; }
1160
+ .ui-icon-home { background-position: 0 -112px; }
1161
+ .ui-icon-flag { background-position: -16px -112px; }
1162
+ .ui-icon-calendar { background-position: -32px -112px; }
1163
+ .ui-icon-cart { background-position: -48px -112px; }
1164
+ .ui-icon-pencil { background-position: -64px -112px; }
1165
+ .ui-icon-clock { background-position: -80px -112px; }
1166
+ .ui-icon-disk { background-position: -96px -112px; }
1167
+ .ui-icon-calculator { background-position: -112px -112px; }
1168
+ .ui-icon-zoomin { background-position: -128px -112px; }
1169
+ .ui-icon-zoomout { background-position: -144px -112px; }
1170
+ .ui-icon-search { background-position: -160px -112px; }
1171
+ .ui-icon-wrench { background-position: -176px -112px; }
1172
+ .ui-icon-gear { background-position: -192px -112px; }
1173
+ .ui-icon-heart { background-position: -208px -112px; }
1174
+ .ui-icon-star { background-position: -224px -112px; }
1175
+ .ui-icon-link { background-position: -240px -112px; }
1176
+ .ui-icon-cancel { background-position: 0 -128px; }
1177
+ .ui-icon-plus { background-position: -16px -128px; }
1178
+ .ui-icon-plusthick { background-position: -32px -128px; }
1179
+ .ui-icon-minus { background-position: -48px -128px; }
1180
+ .ui-icon-minusthick { background-position: -64px -128px; }
1181
+ .ui-icon-close { background-position: -80px -128px; }
1182
+ .ui-icon-closethick { background-position: -96px -128px; }
1183
+ .ui-icon-key { background-position: -112px -128px; }
1184
+ .ui-icon-lightbulb { background-position: -128px -128px; }
1185
+ .ui-icon-scissors { background-position: -144px -128px; }
1186
+ .ui-icon-clipboard { background-position: -160px -128px; }
1187
+ .ui-icon-copy { background-position: -176px -128px; }
1188
+ .ui-icon-contact { background-position: -192px -128px; }
1189
+ .ui-icon-image { background-position: -208px -128px; }
1190
+ .ui-icon-video { background-position: -224px -128px; }
1191
+ .ui-icon-script { background-position: -240px -128px; }
1192
+ .ui-icon-alert { background-position: 0 -144px; }
1193
+ .ui-icon-info { background-position: -16px -144px; }
1194
+ .ui-icon-notice { background-position: -32px -144px; }
1195
+ .ui-icon-help { background-position: -48px -144px; }
1196
+ .ui-icon-check { background-position: -64px -144px; }
1197
+ .ui-icon-bullet { background-position: -80px -144px; }
1198
+ .ui-icon-radio-on { background-position: -96px -144px; }
1199
+ .ui-icon-radio-off { background-position: -112px -144px; }
1200
+ .ui-icon-pin-w { background-position: -128px -144px; }
1201
+ .ui-icon-pin-s { background-position: -144px -144px; }
1202
+ .ui-icon-play { background-position: 0 -160px; }
1203
+ .ui-icon-pause { background-position: -16px -160px; }
1204
+ .ui-icon-seek-next { background-position: -32px -160px; }
1205
+ .ui-icon-seek-prev { background-position: -48px -160px; }
1206
+ .ui-icon-seek-end { background-position: -64px -160px; }
1207
+ .ui-icon-seek-start { background-position: -80px -160px; }
1208
+ /* ui-icon-seek-first is deprecated, use ui-icon-seek-start instead */
1209
+ .ui-icon-seek-first { background-position: -80px -160px; }
1210
+ .ui-icon-stop { background-position: -96px -160px; }
1211
+ .ui-icon-eject { background-position: -112px -160px; }
1212
+ .ui-icon-volume-off { background-position: -128px -160px; }
1213
+ .ui-icon-volume-on { background-position: -144px -160px; }
1214
+ .ui-icon-power { background-position: 0 -176px; }
1215
+ .ui-icon-signal-diag { background-position: -16px -176px; }
1216
+ .ui-icon-signal { background-position: -32px -176px; }
1217
+ .ui-icon-battery-0 { background-position: -48px -176px; }
1218
+ .ui-icon-battery-1 { background-position: -64px -176px; }
1219
+ .ui-icon-battery-2 { background-position: -80px -176px; }
1220
+ .ui-icon-battery-3 { background-position: -96px -176px; }
1221
+ .ui-icon-circle-plus { background-position: 0 -192px; }
1222
+ .ui-icon-circle-minus { background-position: -16px -192px; }
1223
+ .ui-icon-circle-close { background-position: -32px -192px; }
1224
+ .ui-icon-circle-triangle-e { background-position: -48px -192px; }
1225
+ .ui-icon-circle-triangle-s { background-position: -64px -192px; }
1226
+ .ui-icon-circle-triangle-w { background-position: -80px -192px; }
1227
+ .ui-icon-circle-triangle-n { background-position: -96px -192px; }
1228
+ .ui-icon-circle-arrow-e { background-position: -112px -192px; }
1229
+ .ui-icon-circle-arrow-s { background-position: -128px -192px; }
1230
+ .ui-icon-circle-arrow-w { background-position: -144px -192px; }
1231
+ .ui-icon-circle-arrow-n { background-position: -160px -192px; }
1232
+ .ui-icon-circle-zoomin { background-position: -176px -192px; }
1233
+ .ui-icon-circle-zoomout { background-position: -192px -192px; }
1234
+ .ui-icon-circle-check { background-position: -208px -192px; }
1235
+ .ui-icon-circlesmall-plus { background-position: 0 -208px; }
1236
+ .ui-icon-circlesmall-minus { background-position: -16px -208px; }
1237
+ .ui-icon-circlesmall-close { background-position: -32px -208px; }
1238
+ .ui-icon-squaresmall-plus { background-position: -48px -208px; }
1239
+ .ui-icon-squaresmall-minus { background-position: -64px -208px; }
1240
+ .ui-icon-squaresmall-close { background-position: -80px -208px; }
1241
+ .ui-icon-grip-dotted-vertical { background-position: 0 -224px; }
1242
+ .ui-icon-grip-dotted-horizontal { background-position: -16px -224px; }
1243
+ .ui-icon-grip-solid-vertical { background-position: -32px -224px; }
1244
+ .ui-icon-grip-solid-horizontal { background-position: -48px -224px; }
1245
+ .ui-icon-gripsmall-diagonal-se { background-position: -64px -224px; }
1246
+ .ui-icon-grip-diagonal-se { background-position: -80px -224px; }
1247
+
1248
+
1249
+ /* Misc visuals
1250
+ ----------------------------------*/
1251
+
1252
+ /* Corner radius */
1253
+ .ui-corner-all,
1254
+ .ui-corner-top,
1255
+ .ui-corner-left,
1256
+ .ui-corner-tl {
1257
+ border-top-left-radius: 3px;
1258
+ }
1259
+ .ui-corner-all,
1260
+ .ui-corner-top,
1261
+ .ui-corner-right,
1262
+ .ui-corner-tr {
1263
+ border-top-right-radius: 3px;
1264
+ }
1265
+ .ui-corner-all,
1266
+ .ui-corner-bottom,
1267
+ .ui-corner-left,
1268
+ .ui-corner-bl {
1269
+ border-bottom-left-radius: 3px;
1270
+ }
1271
+ .ui-corner-all,
1272
+ .ui-corner-bottom,
1273
+ .ui-corner-right,
1274
+ .ui-corner-br {
1275
+ border-bottom-right-radius: 3px;
1276
+ }
1277
+
1278
+ /* Overlays */
1279
+ .ui-widget-overlay {
1280
+ background: #aaaaaa;
1281
+ opacity: .3;
1282
+ filter: Alpha(Opacity=30); /* support: IE8 */
1283
+ }
1284
+ .ui-widget-shadow {
1285
+ -webkit-box-shadow: 0px 0px 5px #666666;
1286
+ box-shadow: 0px 0px 5px #666666;
1287
+ }
admin/html/css/menu.css CHANGED
@@ -147,10 +147,6 @@ th {
147
  margin-top: -12px;
148
  }
149
 
150
- .ui-tabs .ui-tabs-nav li.ui-tabs-active a {
151
- background-color: #4385bf;
152
- }
153
-
154
  .ui-state-active a, .ui-state-active a:link, .ui-state-active a:visited {
155
  color: white;
156
  }
147
  margin-top: -12px;
148
  }
149
 
 
 
 
 
150
  .ui-state-active a, .ui-state-active a:link, .ui-state-active a:visited {
151
  color: white;
152
  }
admin/html/js/meta-box.js CHANGED
@@ -26,7 +26,10 @@ function previewImage() {
26
 
27
  if (!$url.startsWith("http") && !$url.startsWith("//")) {
28
  jQuery("#fifu_keywords").val($url);
29
- jQuery('#fifu_button').parent().parent().block({message: $message, css: {backgroundColor: 'none', border: 'none', color: 'white'}});
 
 
 
30
  var xhr = new XMLHttpRequest();
31
  xhr.onreadystatechange = function (e) {
32
  if (xhr.status == 200 && xhr.readyState == 4) {
@@ -37,9 +40,13 @@ function previewImage() {
37
  }
38
  setTimeout(function () {
39
  jQuery("#fifu_next").hide();
40
- jQuery('#fifu_button').parent().parent().unblock();
 
 
 
41
  setTimeout(function () {
42
- jQuery("#fifu_next").show();
 
43
  }, 2000);
44
  }, 2000);
45
  }
@@ -78,26 +85,17 @@ function runPreview($url) {
78
  }
79
 
80
  jQuery(document).ready(function () {
81
- jQuery("#fifu_next").on('click', function (evt) {
82
- evt.stopImmediatePropagation();
83
- if (jQuery("#fifu_keywords").val()) {
84
- jQuery("#fifu_input_url").val(jQuery("#fifu_keywords").val());
85
- previewImage();
86
- }
87
- });
88
- jQuery("#fifu_image").on('click', function (evt) {
89
- evt.stopImmediatePropagation();
90
- jQuery.fancybox.open('<img src="' + jQuery("#fifu_input_url").val() + '" style="max-height:600px">');
91
- });
92
 
93
  // start
94
  fifu_get_sizes();
95
 
96
- // blur
97
- jQuery("#fifu_input_url").on('input', function (evt) {
98
- evt.stopImmediatePropagation();
99
- fifu_get_sizes();
100
- });
101
 
102
  jQuery('.fifu-hover').on('mouseover', function (evt) {
103
  jQuery(this).css('color', '#23282e');
@@ -107,7 +105,7 @@ jQuery(document).ready(function () {
107
  });
108
 
109
  // title
110
- jQuery("div#imageUrlMetaBox").find('h2').replaceWith('<h3 style="top:7px;position:relative;"><span class="dashicons dashicons-camera" style="font-size:15px"></span>' + jQuery("div#imageUrlMetaBox").find('h2').text() + '</h3>');
111
  jQuery("div#urlMetaBox").find('h2').replaceWith('<h4 style="top:5px;position:relative;"><span class="dashicons dashicons-camera" style="font-size:15px"></span>' + jQuery("div#urlMetaBox").find('h2').text() + '</h4>');
112
  });
113
 
@@ -126,3 +124,27 @@ function fifu_store_sizes($) {
126
  jQuery("#fifu_input_image_width").val($.naturalWidth);
127
  jQuery("#fifu_input_image_height").val($.naturalHeight);
128
  }
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
26
 
27
  if (!$url.startsWith("http") && !$url.startsWith("//")) {
28
  jQuery("#fifu_keywords").val($url);
29
+ if (fifuMetaBoxVars.is_taxonomy)
30
+ jQuery('#fifu_button').parent().parent().block({message: $message, css: {backgroundColor: 'none', border: 'none', color: 'white'}});
31
+ else
32
+ jQuery('#fifu_button').parent().parent().parent().block({message: $message, css: {backgroundColor: 'none', border: 'none', color: 'white'}});
33
  var xhr = new XMLHttpRequest();
34
  xhr.onreadystatechange = function (e) {
35
  if (xhr.status == 200 && xhr.readyState == 4) {
40
  }
41
  setTimeout(function () {
42
  jQuery("#fifu_next").hide();
43
+ if (fifuMetaBoxVars.is_taxonomy)
44
+ jQuery('#fifu_button').parent().parent().unblock();
45
+ else
46
+ jQuery('#fifu_button').parent().parent().parent().unblock();
47
  setTimeout(function () {
48
+ if (jQuery("#fifu_link").is(":visible"))
49
+ jQuery("#fifu_next").show();
50
  }, 2000);
51
  }, 2000);
52
  }
85
  }
86
 
87
  jQuery(document).ready(function () {
88
+ // next button
89
+ fifu_find_next();
90
+
91
+ // lightbox
92
+ fifu_open_lightbox();
 
 
 
 
 
 
93
 
94
  // start
95
  fifu_get_sizes();
96
 
97
+ // input
98
+ fifu_type_url();
 
 
 
99
 
100
  jQuery('.fifu-hover').on('mouseover', function (evt) {
101
  jQuery(this).css('color', '#23282e');
105
  });
106
 
107
  // title
108
+ jQuery("div#imageUrlMetaBox").find('h2').replaceWith('<h4 style="top:7px;position:relative;"><span class="dashicons dashicons-camera" style="font-size:15px"></span>' + jQuery("div#imageUrlMetaBox").find('h2').text() + '</h4>');
109
  jQuery("div#urlMetaBox").find('h2').replaceWith('<h4 style="top:5px;position:relative;"><span class="dashicons dashicons-camera" style="font-size:15px"></span>' + jQuery("div#urlMetaBox").find('h2').text() + '</h4>');
110
  });
111
 
124
  jQuery("#fifu_input_image_width").val($.naturalWidth);
125
  jQuery("#fifu_input_image_height").val($.naturalHeight);
126
  }
127
+
128
+ function fifu_open_lightbox() {
129
+ jQuery("#fifu_image").on('click', function (evt) {
130
+ evt.stopImmediatePropagation();
131
+ jQuery.fancybox.open('<img src="' + fifu_convert(jQuery("#fifu_input_url").val()) + '" style="max-height:600px">');
132
+ });
133
+ }
134
+
135
+ function fifu_find_next() {
136
+ jQuery("#fifu_next").on('click', function (evt) {
137
+ evt.stopImmediatePropagation();
138
+ if (jQuery("#fifu_keywords").val()) {
139
+ jQuery("#fifu_input_url").val(jQuery("#fifu_keywords").val());
140
+ previewImage();
141
+ }
142
+ });
143
+ }
144
+
145
+ function fifu_type_url() {
146
+ jQuery("#fifu_input_url").on('input', function (evt) {
147
+ evt.stopImmediatePropagation();
148
+ fifu_get_sizes();
149
+ });
150
+ }
admin/html/meta-box.html CHANGED
@@ -27,9 +27,9 @@
27
  cursor:zoom-in" >
28
  </div>
29
 
30
- <table id="fifu_table_url" style="width:103%;position:relative;left:-3px;top:-3px;">
31
  <tr>
32
- <td style="width:103%">
33
  <input id="fifu_input_url"
34
  type="text"
35
  name="fifu_input_url"
@@ -96,14 +96,14 @@
96
  </div>
97
 
98
  <div id="fifu_premium" style="<?php echo $show_button ?>">
99
- <table style="position: relative; top: 12px; background-color: #007cba; color:white; width: 100%; border-radius: 3px">
100
  <tr style="text-align: center;">
101
  <td style="width: 90px; font-size: 9px"><a style="color:white; text-decoration: none" target="_blank" href="https://fifu.app/">Premium fields</a></td>
102
- <td class="fifu-hover"><span title="Featured video" class="dashicons dashicons-video-alt3" style="font-size:13px; display: unset; vertical-align:sub;"></span></td>
103
- <td class="fifu-hover"><span title="Woocommerce image gallery" class="dashicons dashicons-format-gallery" style="font-size:13px; display: unset; vertical-align:sub;"></span></td>
104
- <td class="fifu-hover"><span title="Woocommerce video gallery" class="dashicons dashicons-format-video" style="font-size:13px; display: unset; vertical-align:sub;"></span></td>
105
- <td class="fifu-hover"><span title="Featured slider" class="dashicons dashicons-images-alt2" style="font-size:13px; display: unset; vertical-align:sub;"></span></td>
106
- <td class="fifu-hover"><span title="Featured shortcode" class="dashicons dashicons-shortcode" style="font-size:13px; display: unset; vertical-align:sub;"></span></td>
107
  </tr>
108
  </table>
109
  </div>
27
  cursor:zoom-in" >
28
  </div>
29
 
30
+ <table id="fifu_table_url" style="width:100%;position:relative">
31
  <tr>
32
+ <td style="width:100%">
33
  <input id="fifu_input_url"
34
  type="text"
35
  name="fifu_input_url"
96
  </div>
97
 
98
  <div id="fifu_premium" style="<?php echo $show_button ?>">
99
+ <table style="position: relative; top: 12px; background-color: #007cba; color:white; width: 100%; border-radius: 2px">
100
  <tr style="text-align: center;">
101
  <td style="width: 90px; font-size: 9px"><a style="color:white; text-decoration: none" target="_blank" href="https://fifu.app/">Premium fields</a></td>
102
+ <td style="padding: 0px 0px" class="fifu-hover"><span title="Featured video" class="dashicons dashicons-video-alt3" style="font-size:13px; display: unset; vertical-align:sub;"></span></td>
103
+ <td style="padding: 0px 0px" class="fifu-hover"><span title="Woocommerce image gallery" class="dashicons dashicons-format-gallery" style="font-size:13px; display: unset; vertical-align:sub;"></span></td>
104
+ <td style="padding: 0px 0px" class="fifu-hover"><span title="Woocommerce video gallery" class="dashicons dashicons-format-video" style="font-size:13px; display: unset; vertical-align:sub;"></span></td>
105
+ <td style="padding: 0px 0px" class="fifu-hover"><span title="Featured slider" class="dashicons dashicons-images-alt2" style="font-size:13px; display: unset; vertical-align:sub;"></span></td>
106
+ <td style="padding: 0px 0px" class="fifu-hover"><span title="Featured shortcode" class="dashicons dashicons-shortcode" style="font-size:13px; display: unset; vertical-align:sub;"></span></td>
107
  </tr>
108
  </table>
109
  </div>
admin/menu.php CHANGED
@@ -9,9 +9,11 @@ add_action('admin_menu', 'fifu_insert_menu');
9
  function fifu_insert_menu() {
10
  if (strpos($_SERVER['REQUEST_URI'], 'featured-image-from-url') !== false) {
11
  wp_enqueue_script('font-awesome', 'https://cdnjs.cloudflare.com/ajax/libs/font-awesome/5.11.2/js/all.min.js');
12
- wp_enqueue_style('jquery-ui-style', 'https://cdnjs.cloudflare.com/ajax/libs/jqueryui/1.12.1/themes/base/jquery-ui.min.css');
13
- wp_enqueue_script('jquery-ui', 'https://cdnjs.cloudflare.com/ajax/libs/jqueryui/1.11.4/jquery-ui.min.js');
14
- wp_enqueue_script('jquery', 'https://cdnjs.cloudflare.com/ajax/libs/jquery/1.11.3/jquery.min.js');
 
 
15
  wp_enqueue_script('jquery-block-ui', 'https://cdnjs.cloudflare.com/ajax/libs/jquery.blockUI/2.70/jquery.blockUI.min.js');
16
 
17
  wp_enqueue_script('fifu-rest-route-js', plugins_url('/html/js/rest-route.js', __FILE__), array('jquery'), fifu_version_number());
@@ -26,6 +28,7 @@ function fifu_insert_menu() {
26
 
27
  function fifu_support_data() {
28
  // css
 
29
  wp_enqueue_style('fifu-menu-css', plugins_url('/html/css/menu.css', __FILE__), array(), fifu_version_number());
30
  wp_enqueue_script('fifu-rest-route-js', plugins_url('/html/js/rest-route.js', __FILE__), array('jquery'), fifu_version_number());
31
 
@@ -75,6 +78,7 @@ function fifu_get_menu_html() {
75
  $fifu = fifu_get_strings_settings();
76
 
77
  // css and js
 
78
  wp_enqueue_style('fifu-menu-css', plugins_url('/html/css/menu.css', __FILE__), array(), fifu_version_number());
79
  wp_enqueue_script('fifu-menu-js', plugins_url('/html/js/menu.js', __FILE__), array('jquery'), fifu_version_number());
80
 
9
  function fifu_insert_menu() {
10
  if (strpos($_SERVER['REQUEST_URI'], 'featured-image-from-url') !== false) {
11
  wp_enqueue_script('font-awesome', 'https://cdnjs.cloudflare.com/ajax/libs/font-awesome/5.11.2/js/all.min.js');
12
+ wp_enqueue_style('jquery-ui-style1', 'https://cdnjs.cloudflare.com/ajax/libs/jqueryui/1.12.1/jquery-ui.min.css');
13
+ wp_enqueue_style('jquery-ui-style2', 'https://cdnjs.cloudflare.com/ajax/libs/jqueryui/1.12.1/jquery-ui.structure.min.css');
14
+ wp_enqueue_style('jquery-ui-style3', 'https://cdnjs.cloudflare.com/ajax/libs/jqueryui/1.12.1/jquery-ui.theme.min.css');
15
+
16
+ wp_enqueue_script('jquery-ui', 'https://cdnjs.cloudflare.com/ajax/libs/jqueryui/1.12.1/jquery-ui.min.js');
17
  wp_enqueue_script('jquery-block-ui', 'https://cdnjs.cloudflare.com/ajax/libs/jquery.blockUI/2.70/jquery.blockUI.min.js');
18
 
19
  wp_enqueue_script('fifu-rest-route-js', plugins_url('/html/js/rest-route.js', __FILE__), array('jquery'), fifu_version_number());
28
 
29
  function fifu_support_data() {
30
  // css
31
+ wp_enqueue_style('fifu-base-ui-css', plugins_url('/html/css/base-ui.css', __FILE__), array(), fifu_version_number());
32
  wp_enqueue_style('fifu-menu-css', plugins_url('/html/css/menu.css', __FILE__), array(), fifu_version_number());
33
  wp_enqueue_script('fifu-rest-route-js', plugins_url('/html/js/rest-route.js', __FILE__), array('jquery'), fifu_version_number());
34
 
78
  $fifu = fifu_get_strings_settings();
79
 
80
  // css and js
81
+ wp_enqueue_style('fifu-base-ui-css', plugins_url('/html/css/base-ui.css', __FILE__), array(), fifu_version_number());
82
  wp_enqueue_style('fifu-menu-css', plugins_url('/html/css/menu.css', __FILE__), array(), fifu_version_number());
83
  wp_enqueue_script('fifu-menu-js', plugins_url('/html/js/menu.js', __FILE__), array('jquery'), fifu_version_number());
84
 
admin/meta-box.php CHANGED
@@ -33,6 +33,7 @@ function fifu_register_meta_box_script() {
33
  'get_the_ID' => get_the_ID(),
34
  'is_sirv_active' => fifu_is_sirv_active(),
35
  'wait' => $fifu['common']['wait'](),
 
36
  ]);
37
  }
38
 
@@ -44,7 +45,7 @@ function fifu_add_css() {
44
  }
45
 
46
  function fifu_show_elements($post) {
47
- $margin = 'margin-top:5px;';
48
  $width = 'width:100%;';
49
  $height = 'height:200px;';
50
  $align = 'text-align:left;';
@@ -176,9 +177,25 @@ function fifu_update_or_delete_value($post_id, $field, $value) {
176
  delete_post_meta($post_id, $field, $value);
177
  }
178
 
179
- function fifu_wai_save($post_id) {
180
- $url = get_post_meta($post_id, 'fifu_image_url', true);
181
- fifu_update_or_delete($post_id, 'fifu_image_url', $url);
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
182
  }
183
 
184
  add_action('before_delete_post', 'fifu_db_before_delete_post');
@@ -189,7 +206,7 @@ add_action('woocommerce_product_import_inserted_product_object', 'fifu_woocommer
189
 
190
  function fifu_woocommerce_import($object) {
191
  $post_id = $object->get_id();
192
- fifu_wai_save($post_id);
193
  fifu_update_fake_attach_id($post_id);
194
  }
195
 
33
  'get_the_ID' => get_the_ID(),
34
  'is_sirv_active' => fifu_is_sirv_active(),
35
  'wait' => $fifu['common']['wait'](),
36
+ 'is_taxonomy' => get_current_screen()->taxonomy,
37
  ]);
38
  }
39
 
45
  }
46
 
47
  function fifu_show_elements($post) {
48
+ $margin = 'margin-top:5px;margin-left:3px;';
49
  $width = 'width:100%;';
50
  $height = 'height:200px;';
51
  $align = 'text-align:left;';
177
  delete_post_meta($post_id, $field, $value);
178
  }
179
 
180
+ function fifu_update_or_delete_ctgr($post_id, $field, $url) {
181
+ if ($url) {
182
+ update_term_meta($post_id, $field, fifu_convert($url));
183
+ } else
184
+ delete_term_meta($post_id, $field, $url);
185
+ }
186
+
187
+ function fifu_wai_save($post_id, $is_ctgr) {
188
+ if ($is_ctgr) {
189
+ $url = get_term_meta($post_id, 'fifu_image_url', true);
190
+ $alt = get_term_meta($post_id, 'fifu_image_alt', true);
191
+ fifu_update_or_delete_ctgr($post_id, 'fifu_image_url', $url);
192
+ fifu_update_or_delete_ctgr($post_id, 'fifu_image_alt', $alt);
193
+ } else {
194
+ $url = get_post_meta($post_id, 'fifu_image_url', true);
195
+ $alt = get_term_meta($post_id, 'fifu_image_alt', true);
196
+ fifu_update_or_delete($post_id, 'fifu_image_url', $url);
197
+ fifu_update_or_delete($post_id, 'fifu_image_alt', $alt);
198
+ }
199
  }
200
 
201
  add_action('before_delete_post', 'fifu_db_before_delete_post');
206
 
207
  function fifu_woocommerce_import($object) {
208
  $post_id = $object->get_id();
209
+ fifu_wai_save($post_id, null);
210
  fifu_update_fake_attach_id($post_id);
211
  }
212
 
admin/strings.php CHANGED
@@ -340,7 +340,7 @@ function fifu_get_strings_settings() {
340
  _e("My home page is slow", FIFU_SLUG);
341
  };
342
  $fifu['support']['speed'] = function() {
343
- _e(" PageSpeed Insights and GTmetrix issues", FIFU_SLUG);
344
  };
345
  $fifu['support']['disappeared-desc'] = function() {
346
  _e("You were probably using a deprecated feature. Just do it: 1) access Metadata tab; 2) run Clean Metadata; 3) enable Image Metadata (~30,000 URLs/min).", FIFU_SLUG);
@@ -358,7 +358,7 @@ function fifu_get_strings_settings() {
358
  _e("1) access Performance tab; 2) enable Lazy Load. Important: if you have another lazy load component running, you should disable that to avoid conflicts.", FIFU_SLUG);
359
  };
360
  $fifu['support']['speed-desc'] = function() {
361
- _e("You can solve the problem installing Jetpack plugin. After that access \"Jetpack\", \"Settings\", \"Performance\" and enable \"Speed up image load times\".", FIFU_SLUG);
362
  };
363
 
364
  // start
340
  _e("My home page is slow", FIFU_SLUG);
341
  };
342
  $fifu['support']['speed'] = function() {
343
+ _e("PageSpeed and GTmetrix issues", FIFU_SLUG);
344
  };
345
  $fifu['support']['disappeared-desc'] = function() {
346
  _e("You were probably using a deprecated feature. Just do it: 1) access Metadata tab; 2) run Clean Metadata; 3) enable Image Metadata (~30,000 URLs/min).", FIFU_SLUG);
358
  _e("1) access Performance tab; 2) enable Lazy Load. Important: if you have another lazy load component running, you should disable that to avoid conflicts.", FIFU_SLUG);
359
  };
360
  $fifu['support']['speed-desc'] = function() {
361
+ _e("You can solve that installing Jetpack plugin. Access its \"Settings\", \"Performance\" and enable \"Speed up image load times\". You'll have a free CDN + optimized external thumbnails.", FIFU_SLUG);
362
  };
363
 
364
  // start
admin/wai-addon.php CHANGED
@@ -22,12 +22,17 @@ function fifu_wai_addon_save($post_id, $data, $import_options, $article) {
22
  return;
23
  }
24
 
 
25
  $update = false;
26
  foreach ($fields as $field) {
27
  $current_value = get_post_meta($post_id, $field, true);
28
  if ($current_value != $data[$field]) {
29
  $update = true;
30
- update_post_meta($post_id, $field, $data[$field]);
 
 
 
 
31
  }
32
  }
33
 
@@ -35,9 +40,12 @@ function fifu_wai_addon_save($post_id, $data, $import_options, $article) {
35
  if (!$update && !$fifu_wai_addon->can_update_image($import_options))
36
  return;
37
 
38
- fifu_wai_save($post_id);
39
 
40
  /* metadata */
41
- add_action('pmxi_saved_post', 'fifu_update_fake_attach_id');
 
 
 
42
  }
43
 
22
  return;
23
  }
24
 
25
+ $is_ctgr = $article['post_type'] == 'taxonomies';
26
  $update = false;
27
  foreach ($fields as $field) {
28
  $current_value = get_post_meta($post_id, $field, true);
29
  if ($current_value != $data[$field]) {
30
  $update = true;
31
+ $value = $data[$field];
32
+ if ($is_ctgr)
33
+ update_term_meta($post_id, $field, $value);
34
+ else
35
+ update_post_meta($post_id, $field, $value);
36
  }
37
  }
38
 
40
  if (!$update && !$fifu_wai_addon->can_update_image($import_options))
41
  return;
42
 
43
+ fifu_wai_save($post_id, $is_ctgr);
44
 
45
  /* metadata */
46
+ if ($is_ctgr)
47
+ add_action('pmxi_saved_post', 'fifu_db_ctgr_update_fake_attach_id');
48
+ else
49
+ add_action('pmxi_saved_post', 'fifu_update_fake_attach_id');
50
  }
51
 
elementor/elementor-fifu-extension.php ADDED
@@ -0,0 +1,257 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ <?php
2
+
3
+ if (!defined('ABSPATH')) {
4
+ exit; // Exit if accessed directly.
5
+ }
6
+
7
+ /**
8
+ * Main Elementor FIFU Extension Class
9
+ *
10
+ * The main class that initiates and runs the plugin.
11
+ *
12
+ * @since 1.0.0
13
+ */
14
+ final class Elementor_FIFU_Extension {
15
+
16
+ /**
17
+ * Plugin Version
18
+ *
19
+ * @since 1.0.0
20
+ *
21
+ * @var string The plugin version.
22
+ */
23
+ const VERSION = '1.0.0';
24
+
25
+ /**
26
+ * Minimum Elementor Version
27
+ *
28
+ * @since 1.0.0
29
+ *
30
+ * @var string Minimum Elementor version required to run the plugin.
31
+ */
32
+ const MINIMUM_ELEMENTOR_VERSION = '3.0.0';
33
+
34
+ /**
35
+ * Minimum PHP Version
36
+ *
37
+ * @since 1.0.0
38
+ *
39
+ * @var string Minimum PHP version required to run the plugin.
40
+ */
41
+ const MINIMUM_PHP_VERSION = '7.0';
42
+
43
+ /**
44
+ * Instance
45
+ *
46
+ * @since 1.0.0
47
+ *
48
+ * @access private
49
+ * @static
50
+ *
51
+ * @var Elementor_FIFU_Extension The single instance of the class.
52
+ */
53
+ private static $_instance = null;
54
+
55
+ /**
56
+ * Instance
57
+ *
58
+ * Ensures only one instance of the class is loaded or can be loaded.
59
+ *
60
+ * @since 1.0.0
61
+ *
62
+ * @access public
63
+ * @static
64
+ *
65
+ * @return Elementor_FIFU_Extension An instance of the class.
66
+ */
67
+ public static function instance() {
68
+
69
+ if (is_null(self::$_instance)) {
70
+ self::$_instance = new self();
71
+ }
72
+ return self::$_instance;
73
+ }
74
+
75
+ /**
76
+ * Constructor
77
+ *
78
+ * @since 1.0.0
79
+ *
80
+ * @access public
81
+ */
82
+ public function __construct() {
83
+
84
+ add_action('init', [$this, 'i18n']);
85
+ add_action('plugins_loaded', [$this, 'init']);
86
+ }
87
+
88
+ /**
89
+ * Load Textdomain
90
+ *
91
+ * Load plugin localization files.
92
+ *
93
+ * Fired by `init` action hook.
94
+ *
95
+ * @since 1.0.0
96
+ *
97
+ * @access public
98
+ */
99
+ public function i18n() {
100
+
101
+ load_plugin_textdomain('elementor-fifu-extension');
102
+ }
103
+
104
+ /**
105
+ * Initialize the plugin
106
+ *
107
+ * Load the plugin only after Elementor (and other plugins) are loaded.
108
+ * Checks for basic plugin requirements, if one check fail don't continue,
109
+ * if all check have passed load the files required to run the plugin.
110
+ *
111
+ * Fired by `plugins_loaded` action hook.
112
+ *
113
+ * @since 1.0.0
114
+ *
115
+ * @access public
116
+ */
117
+ public function init() {
118
+
119
+ // Check if Elementor installed and activated
120
+ if (!did_action('elementor/loaded')) {
121
+ add_action('admin_notices', [$this, 'admin_notice_missing_main_plugin']);
122
+ return;
123
+ }
124
+
125
+ // Check for required Elementor version
126
+ if (!version_compare(ELEMENTOR_VERSION, self::MINIMUM_ELEMENTOR_VERSION, '>=')) {
127
+ add_action('admin_notices', [$this, 'admin_notice_minimum_elementor_version']);
128
+ return;
129
+ }
130
+
131
+ // Check for required PHP version
132
+ if (version_compare(PHP_VERSION, self::MINIMUM_PHP_VERSION, '<')) {
133
+ add_action('admin_notices', [$this, 'admin_notice_minimum_php_version']);
134
+ return;
135
+ }
136
+
137
+ // Add Plugin actions
138
+ add_action('elementor/widgets/widgets_registered', [$this, 'init_widgets']);
139
+ add_action('elementor/controls/controls_registered', [$this, 'init_controls']);
140
+
141
+ // Register Widget Scripts
142
+ add_action('elementor/frontend/after_register_scripts', [$this, 'widget_scripts']);
143
+ }
144
+
145
+ /**
146
+ * Admin notice
147
+ *
148
+ * Warning when the site doesn't have Elementor installed or activated.
149
+ *
150
+ * @since 1.0.0
151
+ *
152
+ * @access public
153
+ */
154
+ public function admin_notice_missing_main_plugin() {
155
+
156
+ if (isset($_GET['activate']))
157
+ unset($_GET['activate']);
158
+
159
+ $message = sprintf(
160
+ /* translators: 1: Plugin name 2: Elementor */
161
+ esc_html__('"%1$s" requires "%2$s" to be installed and activated.', 'elementor-fifu-extension'),
162
+ '<strong>' . esc_html__('Elementor FIFU Extension', 'elementor-fifu-extension') . '</strong>',
163
+ '<strong>' . esc_html__('Elementor', 'elementor-fifu-extension') . '</strong>'
164
+ );
165
+
166
+ printf('<div class="notice notice-warning is-dismissible"><p>%1$s</p></div>', $message);
167
+ }
168
+
169
+ /**
170
+ * Admin notice
171
+ *
172
+ * Warning when the site doesn't have a minimum required Elementor version.
173
+ *
174
+ * @since 1.0.0
175
+ *
176
+ * @access public
177
+ */
178
+ public function admin_notice_minimum_elementor_version() {
179
+
180
+ if (isset($_GET['activate']))
181
+ unset($_GET['activate']);
182
+
183
+ $message = sprintf(
184
+ /* translators: 1: Plugin name 2: Elementor 3: Required Elementor version */
185
+ esc_html__('"%1$s" requires "%2$s" version %3$s or greater.', 'elementor-fifu-extension'),
186
+ '<strong>' . esc_html__('Elementor FIFU Extension', 'elementor-fifu-extension') . '</strong>',
187
+ '<strong>' . esc_html__('Elementor', 'elementor-fifu-extension') . '</strong>',
188
+ self::MINIMUM_ELEMENTOR_VERSION
189
+ );
190
+
191
+ printf('<div class="notice notice-warning is-dismissible"><p>%1$s</p></div>', $message);
192
+ }
193
+
194
+ /**
195
+ * Admin notice
196
+ *
197
+ * Warning when the site doesn't have a minimum required PHP version.
198
+ *
199
+ * @since 1.0.0
200
+ *
201
+ * @access public
202
+ */
203
+ public function admin_notice_minimum_php_version() {
204
+
205
+ if (isset($_GET['activate']))
206
+ unset($_GET['activate']);
207
+
208
+ $message = sprintf(
209
+ /* translators: 1: Plugin name 2: PHP 3: Required PHP version */
210
+ esc_html__('"%1$s" requires "%2$s" version %3$s or greater.', 'elementor-fifu-extension'),
211
+ '<strong>' . esc_html__('Elementor FIFU Extension', 'elementor-fifu-extension') . '</strong>',
212
+ '<strong>' . esc_html__('PHP', 'elementor-fifu-extension') . '</strong>',
213
+ self::MINIMUM_PHP_VERSION
214
+ );
215
+
216
+ printf('<div class="notice notice-warning is-dismissible"><p>%1$s</p></div>', $message);
217
+ }
218
+
219
+ /**
220
+ * Init Widgets
221
+ *
222
+ * Include widgets files and register them
223
+ *
224
+ * @since 1.0.0
225
+ *
226
+ * @access public
227
+ */
228
+ public function init_widgets() {
229
+
230
+ // Include Widget files
231
+ require_once( __DIR__ . '/widgets/widget.php' );
232
+
233
+ // Register widget
234
+ \Elementor\Plugin::instance()->widgets_manager->register_widget_type(new \Elementor_FIFU_Widget());
235
+ }
236
+
237
+ /**
238
+ * Init Controls
239
+ *
240
+ * Include controls files and register them
241
+ *
242
+ * @since 1.0.0
243
+ *
244
+ * @access public
245
+ */
246
+ public function init_controls() {
247
+
248
+ }
249
+
250
+ public function widget_scripts() {
251
+
252
+ }
253
+
254
+ }
255
+
256
+ Elementor_FIFU_Extension::instance();
257
+
elementor/widgets/widget.php ADDED
@@ -0,0 +1,78 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ <?php
2
+
3
+ class Elementor_FIFU_Widget extends \Elementor\Widget_Base {
4
+
5
+ public function get_name() {
6
+ return 'fifu-elementor';
7
+ }
8
+
9
+ public function get_title() {
10
+ return __('Featured Image from URL', 'elementor-fifu-extension');
11
+ }
12
+
13
+ public function get_icon() {
14
+ return 'eicon-featured-image';
15
+ }
16
+
17
+ public function get_categories() {
18
+ return ['basic'];
19
+ }
20
+
21
+ protected function _register_controls() {
22
+
23
+ $this->start_controls_section(
24
+ 'content_section_image',
25
+ [
26
+ 'label' => __('External image', 'elementor-fifu-extension'),
27
+ 'tab' => \Elementor\Controls_Manager::TAB_CONTENT,
28
+ ]
29
+ );
30
+ $this->add_control(
31
+ 'fifu_input_url',
32
+ [
33
+ 'label' => __('Image URL', 'elementor-fifu-extension'),
34
+ 'show_label' => true,
35
+ 'label_block' => true,
36
+ 'type' => \Elementor\Controls_Manager::TEXT,
37
+ 'input_type' => 'url',
38
+ 'placeholder' => __('https://site.com/image.jpg', 'elementor-fifu-extension'),
39
+ ]
40
+ );
41
+ $this->end_controls_section();
42
+
43
+ $this->start_controls_section(
44
+ 'content_section2',
45
+ [
46
+ 'label' => __('FAQ', 'elementor-fifu-extension'),
47
+ 'tab' => \Elementor\Controls_Manager::TAB_CONTENT,
48
+ ]
49
+ );
50
+ $this->add_control(
51
+ 'faq2',
52
+ [
53
+ 'type' => \Elementor\Controls_Manager::RAW_HTML,
54
+ 'raw' => __('<b><i>How to use the first image as featured image?</i></b><br>1) access Featured Image from URL settings;<br>2) enable Content URL > use the 1st image as featured image.<br>', 'plugin-name'),
55
+ ]
56
+ );
57
+ $this->add_control(
58
+ 'faq3',
59
+ [
60
+ 'type' => \Elementor\Controls_Manager::RAW_HTML,
61
+ 'raw' => __('<b><i>I created a grid of images. How to have all with the same height?</i></b><br>1) access Featured Image from URL settings;<br>2) enable Featured image > Same Height;<br>3) add the selector "div.elementor-row".', 'plugin-name'),
62
+ ]
63
+ );
64
+ $this->end_controls_section();
65
+ }
66
+
67
+ protected function render() {
68
+ $settings = $this->get_settings_for_display();
69
+
70
+ $image_url = $settings['fifu_input_url'];
71
+ if ($image_url) {
72
+ $image_url = fifu_convert($image_url);
73
+ echo '<div style="width:100%;text-align:center;"><img class="oembed-elementor-widget fifu-elementor-image" src="' . $image_url . '"/></div>';
74
+ }
75
+ }
76
+
77
+ }
78
+
featured-image-from-url.php CHANGED
@@ -4,7 +4,7 @@
4
  * Plugin Name: Featured Image from URL
5
  * Plugin URI: https://fifu.app/
6
  * Description: Use an external image as featured image of a post or WooCommerce product. Includes Image Search, Video, Social Tags, SEO, Lazy Load, Gallery, Automation etc.
7
- * Version: 3.3.0
8
  * Author: fifu.app
9
  * Author URI: https://fifu.app/
10
  * WC requires at least: 4.0
@@ -17,6 +17,7 @@
17
  define('FIFU_PLUGIN_DIR', plugin_dir_path(__FILE__));
18
  define('FIFU_INCLUDES_DIR', FIFU_PLUGIN_DIR . 'includes');
19
  define('FIFU_ADMIN_DIR', FIFU_PLUGIN_DIR . 'admin');
 
20
  define('FIFU_DELETE_ALL_URLS', false);
21
 
22
  require_once (FIFU_INCLUDES_DIR . '/attachment.php');
@@ -36,6 +37,8 @@ require_once (FIFU_ADMIN_DIR . '/meta-box.php');
36
  require_once (FIFU_ADMIN_DIR . '/strings.php');
37
  require_once (FIFU_ADMIN_DIR . '/wai-addon.php');
38
 
 
 
39
  register_activation_hook(__FILE__, 'fifu_activate');
40
 
41
  function fifu_activate($network_wide) {
4
  * Plugin Name: Featured Image from URL
5
  * Plugin URI: https://fifu.app/
6
  * Description: Use an external image as featured image of a post or WooCommerce product. Includes Image Search, Video, Social Tags, SEO, Lazy Load, Gallery, Automation etc.
7
+ * Version: 3.3.1
8
  * Author: fifu.app
9
  * Author URI: https://fifu.app/
10
  * WC requires at least: 4.0
17
  define('FIFU_PLUGIN_DIR', plugin_dir_path(__FILE__));
18
  define('FIFU_INCLUDES_DIR', FIFU_PLUGIN_DIR . 'includes');
19
  define('FIFU_ADMIN_DIR', FIFU_PLUGIN_DIR . 'admin');
20
+ define('FIFU_ELEMENTOR_DIR', FIFU_PLUGIN_DIR . 'elementor');
21
  define('FIFU_DELETE_ALL_URLS', false);
22
 
23
  require_once (FIFU_INCLUDES_DIR . '/attachment.php');
37
  require_once (FIFU_ADMIN_DIR . '/strings.php');
38
  require_once (FIFU_ADMIN_DIR . '/wai-addon.php');
39
 
40
+ require_once (FIFU_ELEMENTOR_DIR . '/elementor-fifu-extension.php');
41
+
42
  register_activation_hook(__FILE__, 'fifu_activate');
43
 
44
  function fifu_activate($network_wide) {
readme.txt CHANGED
@@ -4,7 +4,7 @@ Donate link: https://donorbox.org/fifu
4
  Tags: featured, image, url, woocommerce, thumbnail
5
  Requires at least: 5.3
6
  Tested up to: 5.5
7
- Stable tag: 3.3.0
8
  License: GPLv3
9
  License URI: https://www.gnu.org/licenses/gpl-3.0.html
10
 
@@ -16,10 +16,14 @@ Use an external image as featured image of a post or WooCommerce product. Includ
16
 
17
  Since 2015 FIFU has helped thousands of websites worldwide to save money on storage, processing and copyright.
18
 
 
 
19
  #### FEATURED IMAGE
20
  Use an external image as featured image of your post, page or custom post type.
21
 
22
  * External featured image
 
 
23
  * Unsplash image search
24
  * Lazy load
25
  * Default featured image
@@ -27,6 +31,7 @@ Use an external image as featured image of your post, page or custom post type.
27
  * Featured image in content
28
  * Save image dimensions
29
  * Featured image column
 
30
  * **[Premium]** Giphy image search
31
  * **[Premium]** Unsplash image size
32
  * **[Premium]** Same height
@@ -183,15 +188,15 @@ Supports videos from YouTube, Vimeo, Imgur, 9GAG, Cloudinary, Tumblr and Publiti
183
 
184
  == Changelog ==
185
 
 
 
 
186
  = 3.3.0 =
187
  * Improvement: responsive external images with Jetpack; bug fix: cropped Jetpack images; deprecated: Add Class and jQuery options.
188
 
189
  = 3.2.9 =
190
  * Improvement: FIFU automatically removes URL spaces on the right; deprecated: CSS Style; bug fix: images may not be shown due js error (jQuery not defined).
191
 
192
- = 3.2.8 =
193
- * Improvement: the translation process is being integrated with WordPress.org (all the strings should be available to the community soon).
194
-
195
  = others =
196
  * [more](https://fifu.app/changelog/)
197
 
@@ -199,4 +204,4 @@ Supports videos from YouTube, Vimeo, Imgur, 9GAG, Cloudinary, Tumblr and Publiti
199
  == Upgrade Notice ==
200
 
201
  = 3.3.0 =
202
- * Improvement: responsive external images with Jetpack; bug fix: cropped Jetpack images; deprecated: Add Class and jQuery options.
4
  Tags: featured, image, url, woocommerce, thumbnail
5
  Requires at least: 5.3
6
  Tested up to: 5.5
7
+ Stable tag: 3.3.1
8
  License: GPLv3
9
  License URI: https://www.gnu.org/licenses/gpl-3.0.html
10
 
16
 
17
  Since 2015 FIFU has helped thousands of websites worldwide to save money on storage, processing and copyright.
18
 
19
+ If you are tired of wasting time and resources with thumbnail regeneration, image optimization and never-ending imports, this plugin is for you.
20
+
21
  #### FEATURED IMAGE
22
  Use an external image as featured image of your post, page or custom post type.
23
 
24
  * External featured image
25
+ * Elementor widget
26
+ * Free CDN (with Jetpack)
27
  * Unsplash image search
28
  * Lazy load
29
  * Default featured image
31
  * Featured image in content
32
  * Save image dimensions
33
  * Featured image column
34
+ * Optimized external thumbnails (with Jetpack)
35
  * **[Premium]** Giphy image search
36
  * **[Premium]** Unsplash image size
37
  * **[Premium]** Same height
188
 
189
  == Changelog ==
190
 
191
+ = 3.3.1 =
192
+ * New feature: FIFU widget for Elementor; improvement: integration with WP All Import (taxonomies); style issue: conflict between FIFU Settings and plugins/themes CSS (jQuery-ui).
193
+
194
  = 3.3.0 =
195
  * Improvement: responsive external images with Jetpack; bug fix: cropped Jetpack images; deprecated: Add Class and jQuery options.
196
 
197
  = 3.2.9 =
198
  * Improvement: FIFU automatically removes URL spaces on the right; deprecated: CSS Style; bug fix: images may not be shown due js error (jQuery not defined).
199
 
 
 
 
200
  = others =
201
  * [more](https://fifu.app/changelog/)
202
 
204
  == Upgrade Notice ==
205
 
206
  = 3.3.0 =
207
+ * New feature: FIFU widget for Elementor; improvement: integration with WP All Import (taxonomies); style issue: conflict between FIFU Settings and plugins/themes CSS (jQuery-ui).