GitHub Access Token became invalid

It seems like the GitHub access token used for retrieving details about this repository from GitHub became invalid. This might prevent certain types of inspections from being run (in particular, everything related to pull requests).
Please ask an admin of your repository to re-new the access token on this website.
Completed
Push — feature/gallery-template-clien... ( be3a46...9fa9ce )
by Brad
02:28
created

FooGallery_Upgrade::add_force_upgrade_setting()   A

Complexity

Conditions 1
Paths 1

Size

Total Lines 11
Code Lines 8

Duplication

Lines 0
Ratio 0 %

Importance

Changes 0
Metric Value
cc 1
eloc 8
nc 1
nop 1
dl 0
loc 11
rs 9.4285
c 0
b 0
f 0
1
<?php
2
/**
3
 * Class used to upgrade internal gallery settings when needed
4
 * Date: 19/07/2017
5
 */
6
if ( ! class_exists( 'FooGallery_Upgrade' ) ) {
7
8
	class FooGallery_Upgrade {
0 ignored issues
show
Coding Style Compatibility introduced by
PSR1 recommends that each class must be in a namespace of at least one level to avoid collisions.

You can fix this by adding a namespace to your class:

namespace YourVendor;

class YourClass { }

When choosing a vendor namespace, try to pick something that is not too generic to avoid conflicts with other libraries.

Loading history...
9
10
		function __construct() {
0 ignored issues
show
Best Practice introduced by
It is generally recommended to explicitly declare the visibility for methods.

Adding explicit visibility (private, protected, or public) is generally recommend to communicate to other developers how, and from where this method is intended to be used.

Loading history...
11
			add_action( 'foogallery_admin_new_version_detected', array( $this, 'upgrade_all_galleries' ) );
12
13
			add_filter( 'foogallery_admin_settings_override', array( $this, 'add_force_upgrade_setting' ) );
14
			add_action( 'foogallery_admin_settings_custom_type_render_setting', array( $this, 'render_force_upgrades_settings' ) );
15
			add_action( 'wp_ajax_foogallery_force_upgrade', array( $this, 'ajax_force_upgrade' ) );
16
		}
17
18
		function ajax_force_upgrade() {
0 ignored issues
show
Best Practice introduced by
It is generally recommended to explicitly declare the visibility for methods.

Adding explicit visibility (private, protected, or public) is generally recommend to communicate to other developers how, and from where this method is intended to be used.

Loading history...
19
			if ( check_admin_referer( 'foogallery_force_upgrade' ) && current_user_can( 'install_plugins' ) ) {
20
21
				//clear any and all previous upgrades!
22
				delete_post_meta_by_key( '_foogallery_settings' );
23
				$this->upgrade_all_galleries();
24
25
				_e('The BETA upgrade process has been run!', 'foogallery' );
26
				die();
27
			}
28
		}
29
30
		function add_force_upgrade_setting( $settings ) {
0 ignored issues
show
Best Practice introduced by
It is generally recommended to explicitly declare the visibility for methods.

Adding explicit visibility (private, protected, or public) is generally recommend to communicate to other developers how, and from where this method is intended to be used.

Loading history...
31
			$settings['settings'][] = array(
32
				'id'      => 'force_upgrade',
33
				'title'   => __( 'Force Upgrade', 'foogallery' ),
34
				'desc'    => sprintf( __( 'Force the BETA upgrade process to run. This may sometimes be needed if the upgrade did not run automatically. Any changes you have made to galleries after updating will be lost. THERE IS NO UNDO.', 'foogallery' ), foogallery_plugin_name() ),
35
				'type'    => 'force_upgrade',
36
				'tab'     => 'advanced'
37
			);
38
39
			return $settings;
40
		}
41
42
		function render_force_upgrades_settings( $args ) {
0 ignored issues
show
Best Practice introduced by
It is generally recommended to explicitly declare the visibility for methods.

Adding explicit visibility (private, protected, or public) is generally recommend to communicate to other developers how, and from where this method is intended to be used.

Loading history...
43
			if ( 'force_upgrade' === $args['type'] ) { ?>
44
				<div class="foogallery_settings_ajax_container">
45
					<input type="button" data-action="foogallery_force_upgrade" data-confirm="<?php _e('Are you sure? Any changes you have made since updating will be lost. There is no undo!', 'foogallery'); ?>" data-response="replace_container" data-nonce="<?php echo esc_attr( wp_create_nonce( 'foogallery_force_upgrade' ) ); ?>" class="button-primary foogallery_settings_ajax foogallery_force_upgrade" value="<?php _e( 'Run Upgrade Process', 'foogallery' ); ?>">
46
					<span style="position: absolute" class="spinner"></span>
47
				</div>
48
			<?php }
49
		}
50
51
		function upgrade_all_galleries() {
0 ignored issues
show
Best Practice introduced by
It is generally recommended to explicitly declare the visibility for methods.

Adding explicit visibility (private, protected, or public) is generally recommend to communicate to other developers how, and from where this method is intended to be used.

Loading history...
52
			$galleries = foogallery_get_all_galleries();
53
54
			foreach ( $galleries as $gallery ) {
55
				$this->perform_gallery_settings_upgrade( $gallery );
56
			}
57
		}
58
59
		function perform_gallery_settings_upgrade( $foogallery ) {
0 ignored issues
show
Best Practice introduced by
It is generally recommended to explicitly declare the visibility for methods.

Adding explicit visibility (private, protected, or public) is generally recommend to communicate to other developers how, and from where this method is intended to be used.

Loading history...
60
61
			$mappings = array(
62
				array(
63
					'id' => 'border-style',
64
					'value' => 'border-style-square-white',
65
					'new' => array(
66
						array ( 'id' => 'theme', 'value' => 'fg-light' ),
67
						array ( 'id' => 'border_size', 'value' => 'fg-border-thin' ),
68
						array ( 'id' => 'drop_shadow', 'value' => 'fg-shadow-small' ),
69
						array ( 'id' => 'rounded_corners', 'value' => '' ),
70
						array ( 'id' => 'inner_shadow', 'value' => '' ),
71
					)
72
				),
73
				array(
74
					'id' => 'border-style',
75
					'value' => 'border-style-circle-white',
76
					'new' => array(
77
						array ( 'id' => 'theme', 'value' => 'fg-light' ),
78
						array ( 'id' => 'border_size', 'value' => 'fg-border-thin' ),
79
						array ( 'id' => 'drop_shadow', 'value' => 'fg-shadow-small' ),
80
						array ( 'id' => 'rounded_corners', 'value' => 'fg-round-full' ),
81
						array ( 'id' => 'inner_shadow', 'value' => '' ),
82
					)
83
				),
84
				array(
85
					'id' => 'border-style',
86
					'value' => 'border-style-square-black',
87
					'new' => array(
88
						array ( 'id' => 'theme', 'value' => 'fg-dark' ),
89
						array ( 'id' => 'border_size', 'value' => 'fg-border-thin' ),
90
						array ( 'id' => 'drop_shadow', 'value' => 'fg-shadow-small' ),
91
						array ( 'id' => 'rounded_corners', 'value' => '' ),
92
						array ( 'id' => 'inner_shadow', 'value' => '' ),
93
					)
94
				),
95
				array(
96
					'id' => 'border-style',
97
					'value' => 'border-style-circle-black',
98
					'new' => array(
99
						array ( 'id' => 'theme', 'value' => 'fg-dark' ),
100
						array ( 'id' => 'border_size', 'value' => 'fg-border-thin' ),
101
						array ( 'id' => 'drop_shadow', 'value' => 'fg-shadow-small' ),
102
						array ( 'id' => 'rounded_corners', 'value' => 'fg-round-full' ),
103
						array ( 'id' => 'inner_shadow', 'value' => '' ),
104
					)
105
				),
106
				array(
107
					'id' => 'border-style',
108
					'value' => 'border-style-inset',
109
					'new' => array(
110
						array ( 'id' => 'theme', 'value' => 'fg-light' ),
111
						array ( 'id' => 'border_size', 'value' => '' ),
112
						array ( 'id' => 'drop_shadow', 'value' => 'fg-shadow-small' ),
113
						array ( 'id' => 'rounded_corners', 'value' => '' ),
114
						array ( 'id' => 'inner_shadow', 'value' => 'fg-shadow-inset-large' ),
115
					)
116
				),
117
				array(
118
					'id' => 'border-style',
119
					'value' => 'border-style-rounded',
120
					'new' => array(
121
						array ( 'id' => 'theme', 'value' => 'fg-light' ),
122
						array ( 'id' => 'border_size', 'value' => '' ),
123
						array ( 'id' => 'drop_shadow', 'value' => '' ),
124
						array ( 'id' => 'rounded_corners', 'value' => 'fg-round-small' ),
125
						array ( 'id' => 'inner_shadow', 'value' => '' ),
126
					)
127
				),
128
				array(
129
					'id' => 'border-style',
130
					'value' => '',
131
					'new' => array(
132
						array ( 'id' => 'theme', 'value' => 'fg-light' ),
133
						array ( 'id' => 'border_size', 'value' => '' ),
134
						array ( 'id' => 'drop_shadow', 'value' => '' ),
135
						array ( 'id' => 'rounded_corners', 'value' => '' ),
136
						array ( 'id' => 'inner_shadow', 'value' => '' ),
137
					)
138
				),
139
140
				array(
141
					'id' => 'spacing',
142
					'value' => 'spacing-width-0',
143
					'new' => array(
144
						array ( 'id' => 'spacing', 'value' => 'fg-gutter-0' )
145
					)
146
				),
147
				array(
148
					'id' => 'spacing',
149
					'value' => 'spacing-width-5',
150
					'new' => array(
151
						array ( 'id' => 'spacing', 'value' => 'fg-gutter-5' )
152
					)
153
				),
154
				array(
155
					'id' => 'spacing',
156
					'value' => 'spacing-width-10',
157
					'new' => array(
158
						array ( 'id' => 'spacing', 'value' => 'fg-gutter-10' )
159
					)
160
				),
161
				array(
162
					'id' => 'spacing',
163
					'value' => 'spacing-width-15',
164
					'new' => array(
165
						array ( 'id' => 'spacing', 'value' => 'fg-gutter-15' )
166
					)
167
				),
168
				array(
169
					'id' => 'spacing',
170
					'value' => 'spacing-width-20',
171
					'new' => array(
172
						array ( 'id' => 'spacing', 'value' => 'fg-gutter-20' )
173
					)
174
				),
175
				array(
176
					'id' => 'spacing',
177
					'value' => 'spacing-width-25',
178
					'new' => array(
179
						array ( 'id' => 'spacing', 'value' => 'fg-gutter-25' )
180
					)
181
				),
182
183
				array(
184
					'id' => 'alignment',
185
					'value' => 'alignment-left',
186
					'new' => array(
187
						array ( 'id' => 'alignment', 'value' => 'fg-left' )
188
					)
189
				),
190
				array(
191
					'id' => 'alignment',
192
					'value' => 'alignment-center',
193
					'new' => array(
194
						array ( 'id' => 'alignment', 'value' => 'fg-center' )
195
					)
196
				),
197
				array(
198
					'id' => 'alignment',
199
					'value' => 'alignment-right',
200
					'new' => array(
201
						array ( 'id' => 'alignment', 'value' => 'fg-right' )
202
					)
203
				),
204
205
				array(
206
					'id' => 'loading_animation',
207
					'value' => 'yes',
208
					'new' => array(
209
						array ( 'id' => 'loading_icon', 'value' => 'fg-loading-default' )
210
					)
211
				),
212
				array(
213
					'id' => 'loading_animation',
214
					'value' => 'no',
215
					'new' => array(
216
						array ( 'id' => 'loading_icon', 'value' => 'fg-loading-none' )
217
					)
218
				),
219
220
221
				array(
222
					'id' => 'hover-effect-type',
223
					'value' => '', //Icon
224
					'new' => array(
225
						array ( 'id' => 'hover_effect_preset', 'value' => 'fg-custom' ),
226
						array ( 'id' => 'hover_effect_caption_visibility', 'value' => 'fg-caption-hover' ),
227
                        array ( 'id' => 'hover_effect_transition', 'value' => 'fg-hover-fade' ),
228
						array ( 'id' => 'hover_effect_icon', 'value' => 'fg-hover-zoom' ),
229
						array ( 'id' => 'caption_title', 'value' => 'none' ),
230
						array ( 'id' => 'caption_desc', 'value' => 'none' )
231
					)
232
				),
233
234
				array(
235
					'id' => 'hover-effect-type',
236
					'value' => 'hover-effect-tint', //Dark Tint
237
					'new' => array(
238
						array ( 'id' => 'hover_effect_preset', 'value' => '' ),
239
						array ( 'id' => 'hover_effect', 'value' => 'fg-hover-tint' )
240
					)
241
				),
242
243
				array(
244
					'id' => 'hover-effect-type',
245
					'value' => 'hover-effect-color', //Colorize
246
					'new' => array(
247
						array ( 'id' => 'hover_effect_preset', 'value' => '' ),
248
						array ( 'id' => 'hover_effect_color', 'value' => 'fg-hover-colorize' )
249
					)
250
				),
251
252
				array(
253
					'id' => 'hover-effect-type',
254
					'value' => 'hover-effect-none', //None
255
					'new' => array(
256
						array ( 'id' => 'hover_effect_preset', 'value' => '' )
257
					)
258
				),
259
260
				array(
261
					'id' => 'hover-effect-type',
262
					'value' => 'hover-effect-caption', //Caption
263
					'new' => array(
264
						array ( 'id' => 'hover_effect_preset', 'value' => 'fg-custom' ),
265
                        array ( 'id' => 'hover_effect_caption_visibility', 'value' => 'fg-caption-hover' ),
266
                        array ( 'id' => 'hover_effect_transition', 'value' => 'fg-hover-fade' ),
267
					)
268
				),
269
270
				array(
271
					'id' => 'hover-effect',
272
					'value' => 'hover-effect-zoom',
273
					'new' => array(
274
						array ( 'id' => 'hover_effect_preset', 'value' => 'fg-custom' ),
275
                        array ( 'id' => 'hover_effect_caption_visibility', 'value' => 'fg-caption-hover' ),
276
                        array ( 'id' => 'hover_effect_transition', 'value' => 'fg-hover-fade' ),
277
						array ( 'id' => 'hover_effect_icon', 'value' => 'fg-hover-zoom' )
278
					)
279
				),
280
281
				array(
282
					'id' => 'hover-effect',
283
					'value' => 'hover-effect-zoom2',
284
					'new' => array(
285
						array ( 'id' => 'hover_effect_preset', 'value' => 'fg-custom' ),
286
                        array ( 'id' => 'hover_effect_caption_visibility', 'value' => 'fg-caption-hover' ),
287
                        array ( 'id' => 'hover_effect_transition', 'value' => 'fg-hover-fade' ),
288
						array ( 'id' => 'hover_effect_icon', 'value' => 'fg-hover-zoom2' )
289
					)
290
				),
291
292
				array(
293
					'id' => 'hover-effect',
294
					'value' => 'hover-effect-zoom3',
295
					'new' => array(
296
						array ( 'id' => 'hover_effect_preset', 'value' => 'fg-custom' ),
297
                        array ( 'id' => 'hover_effect_caption_visibility', 'value' => 'fg-caption-hover' ),
298
                        array ( 'id' => 'hover_effect_transition', 'value' => 'fg-hover-fade' ),
299
						array ( 'id' => 'hover_effect_icon', 'value' => 'fg-hover-zoom3' )
300
					)
301
				),
302
303
				array(
304
					'id' => 'hover-effect',
305
					'value' => 'hover-effect-plus',
306
					'new' => array(
307
						array ( 'id' => 'hover_effect_preset', 'value' => 'fg-custom' ),
308
                        array ( 'id' => 'hover_effect_caption_visibility', 'value' => 'fg-caption-hover' ),
309
                        array ( 'id' => 'hover_effect_transition', 'value' => 'fg-hover-fade' ),
310
						array ( 'id' => 'hover_effect_icon', 'value' => 'fg-hover-plus' )
311
					)
312
				),
313
314
				array(
315
					'id' => 'hover-effect',
316
					'value' => 'hover-effect-circle-plus',
317
					'new' => array(
318
						array ( 'id' => 'hover_effect_preset', 'value' => 'fg-custom' ),
319
                        array ( 'id' => 'hover_effect_caption_visibility', 'value' => 'fg-caption-hover' ),
320
                        array ( 'id' => 'hover_effect_transition', 'value' => 'fg-hover-fade' ),
321
						array ( 'id' => 'hover_effect_icon', 'value' => 'fg-hover-circle-plus' )
322
					)
323
				),
324
325
				array(
326
					'id' => 'hover-effect',
327
					'value' => 'hover-effect-eye',
328
					'new' => array(
329
						array ( 'id' => 'hover_effect_preset', 'value' => 'fg-custom' ),
330
                        array ( 'id' => 'hover_effect_caption_visibility', 'value' => 'fg-caption-hover' ),
331
                        array ( 'id' => 'hover_effect_transition', 'value' => 'fg-hover-fade' ),
332
						array ( 'id' => 'hover_effect_icon', 'value' => 'fg-hover-eye' )
333
					)
334
				),
335
336
				array(
337
					'id' => 'caption-hover-effect',
338
					'value' => 'hover-caption-simple',
339
					'new' => array(
340
						array ( 'id' => 'hover_effect_preset', 'value' => 'fg-custom' ),
341
                        array ( 'id' => 'hover_effect_caption_visibility', 'value' => 'fg-caption-hover' ),
342
                        array ( 'id' => 'hover_effect_transition', 'value' => 'fg-hover-fade' ),
343
						array ( 'id' => 'hover_effect_icon', 'value' => '' )
344
					)
345
				),
346
				array(
347
					'id' => 'caption-hover-effect',
348
					'value' => 'hover-caption-full-drop',
349
					'new' => array(
350
						array ( 'id' => 'hover_effect_preset', 'value' => 'fg-custom' ),
351
                        array ( 'id' => 'hover_effect_caption_visibility', 'value' => 'fg-caption-hover' ),
352
                        array ( 'id' => 'hover_effect_transition', 'value' => 'fg-hover-slide-down' ),
353
						array ( 'id' => 'hover_effect_icon', 'value' => '' )
354
					)
355
				),
356
				array(
357
					'id' => 'caption-hover-effect',
358
					'value' => 'hover-caption-full-fade',
359
					'new' => array(
360
						array ( 'id' => 'hover_effect_preset', 'value' => 'fg-custom' ),
361
                        array ( 'id' => 'hover_effect_caption_visibility', 'value' => 'fg-caption-hover' ),
362
                        array ( 'id' => 'hover_effect_transition', 'value' => 'fg-hover-fade' ),
363
						array ( 'id' => 'hover_effect_icon', 'value' => '' )
364
					)
365
				),
366
				array(
367
					'id' => 'caption-hover-effect',
368
					'value' => 'hover-caption-push',
369
					'new' => array(
370
						array ( 'id' => 'hover_effect_preset', 'value' => 'fg-custom' ),
371
                        array ( 'id' => 'hover_effect_caption_visibility', 'value' => 'fg-caption-hover' ),
372
                        array ( 'id' => 'hover_effect_transition', 'value' => 'fg-hover-push' ),
373
						array ( 'id' => 'hover_effect_icon', 'value' => '' )
374
					)
375
				),
376
				array(
377
					'id' => 'caption-hover-effect',
378
					'value' => 'hover-caption-simple-always',
379
					'new' => array(
380
						array ( 'id' => 'hover_effect_preset', 'value' => 'fg-custom' ),
381
                        array ( 'id' => 'hover_effect_caption_visibility', 'value' => 'fg-caption-always' ),
382
						array ( 'id' => 'hover_effect_icon', 'value' => '' )
383
					)
384
				),
385
386
				array(
387
					'id' => 'caption-content',
388
					'value' => 'title',
389
					'new' => array(
390
						array ( 'id' => 'caption_title', 'value' => '' ),
391
						array ( 'id' => 'caption_desc', 'value' => 'none' )
392
					)
393
				),
394
				array(
395
					'id' => 'caption-content',
396
					'value' => 'desc',
397
					'new' => array(
398
						array ( 'id' => 'caption_title', 'value' => 'none' ),
399
						array ( 'id' => 'caption_desc', 'value' => '' )
400
					)
401
				),
402
				array(
403
					'id' => 'caption-content',
404
					'value' => 'both',
405
					'new' => array(
406
						array ( 'id' => 'caption_title', 'value' => '' ),
407
						array ( 'id' => 'caption_desc', 'value' => '' )
408
					)
409
				),
410
411
				//masonry layout mappings
412
				array(
413
					'id' => 'layout',
414
					'value' => '2col',
415
					'new' => array(
416
						array ( 'id' => 'layout', 'value' => 'col2' )
417
					)
418
				),
419
420
				array(
421
					'id' => 'layout',
422
					'value' => '3col',
423
					'new' => array(
424
						array ( 'id' => 'layout', 'value' => 'col3' )
425
					)
426
				),
427
428
				array(
429
					'id' => 'layout',
430
					'value' => '4col',
431
					'new' => array(
432
						array ( 'id' => 'layout', 'value' => 'col4' )
433
					)
434
				),
435
436
				array(
437
					'id' => 'layout',
438
					'value' => '5col',
439
					'new' => array(
440
						array ( 'id' => 'layout', 'value' => 'col5' )
441
					)
442
				),
443
444
				array(
445
					'id' => 'gutter_percent',
446
					'value' => 'no-gutter',
447
					'new' => array(
448
						array ( 'id' => 'gutter_percent', 'value' => 'fg-gutter-none' )
449
					)
450
				),
451
452
				array(
453
					'id' => 'gutter_percent',
454
					'value' => 'large-gutter',
455
					'new' => array(
456
						array ( 'id' => 'gutter_percent', 'value' => 'fg-gutter-large' )
457
					)
458
				),
459
460
				array(
461
					'id' => 'center_align',
462
					'value' => 'default',
463
					'new' => array(
464
						array ( 'id' => 'alignment', 'value' => '' )
465
					)
466
				),
467
468
				array(
469
					'id' => 'center_align',
470
					'value' => 'center',
471
					'new' => array(
472
						array ( 'id' => 'alignment', 'value' => 'fg-center' )
473
					)
474
				),
475
476
				array(
477
					'id' => 'hover_zoom',
478
					'value' => 'default',
479
					'new' => array(
480
						array ( 'id' => 'hover_effect_scale', 'value' => 'fg-hover-scale' )
481
					)
482
				),
483
484
				array(
485
					'id' => 'hover_zoom',
486
					'value' => 'none',
487
					'new' => array(
488
						array ( 'id' => 'hover_effect_scale', 'value' => '' )
489
					)
490
				),
491
492
493
				//image viewer upgrades
494
				array(
495
					'id' => 'theme',
496
					'value' => 'fiv-dark',
497
					'new' => array(
498
						array ( 'id' => 'theme', 'value' => 'fg-dark' )
499
					)
500
				),
501
				array(
502
					'id' => 'theme',
503
					'value' => '',
504
					'new' => array(
505
						array ( 'id' => 'theme', 'value' => 'fg-light' )
506
					)
507
				),
508
				array(
509
					'id' => 'theme',
510
					'value' => 'fiv-custom',
511
					'new' => array(
512
						array ( 'id' => 'theme', 'value' => 'fg-light' )
513
					)
514
				),
515
516
				array(
517
					'id' => 'alignment',
518
					'value' => 'alignment-left',
519
					'new' => array(
520
						array ( 'id' => 'alignment', 'value' => 'fg-left' )
521
					)
522
				),
523
				array(
524
					'id' => 'alignment',
525
					'value' => 'alignment-center',
526
					'new' => array(
527
						array ( 'id' => 'alignment', 'value' => 'fg-center' )
528
					)
529
				),
530
				array(
531
					'id' => 'alignment',
532
					'value' => 'alignment-right',
533
					'new' => array(
534
						array ( 'id' => 'alignment', 'value' => 'fg-right' )
535
					)
536
				),
537
538
				//simple portfolio
539
				array(
540
					'id' => 'caption_position',
541
					'value' => 'bf-captions-above',
542
					'new' => array(
543
						array ( 'id' => 'caption_position', 'value' => 'fg-captions-top' )
544
					)
545
				),
546
547
				//single thumbnail
548
				array(
549
					'id' => 'caption_style',
550
					'value' => 'caption-simple',
551
					'new' => array(
552
						array ( 'id' => 'hover_effect_preset', 'value' => 'fg-custom' ),
553
						array ( 'id' => 'hover_effect_caption_visibility', 'value' => 'fg-caption-always' )
554
					)
555
				),
556
				array(
557
					'id' => 'caption_style',
558
					'value' => 'caption-slideup',
559
					'new' => array(
560
						array ( 'id' => 'hover_effect_preset', 'value' => 'fg-custom' ),
561
						array ( 'id' => 'hover_effect_caption_visibility', 'value' => 'fg-caption-hover' ),
562
						array ( 'id' => 'hover_effect_transition', 'value' => 'fg-hover-slide-up' ),
563
					)
564
				),
565
566
				array(
567
					'id' => 'caption_style',
568
					'value' => 'caption-fall',
569
					'new' => array(
570
						array ( 'id' => 'hover_effect_preset', 'value' => 'fg-custom' ),
571
						array ( 'id' => 'hover_effect_caption_visibility', 'value' => 'fg-caption-hover' ),
572
						array ( 'id' => 'hover_effect_transition', 'value' => 'fg-hover-slide-down' ),
573
					)
574
				),
575
				array(
576
					'id' => 'caption_style',
577
					'value' => 'caption-fade',
578
					'new' => array(
579
						array ( 'id' => 'hover_effect_preset', 'value' => 'fg-custom' ),
580
						array ( 'id' => 'hover_effect_caption_visibility', 'value' => 'fg-caption-hover' ),
581
						array ( 'id' => 'hover_effect_transition', 'value' => 'fg-hover-fade' ),
582
					)
583
				),
584
				array(
585
					'id' => 'caption_style',
586
					'value' => 'caption-push',
587
					'new' => array(
588
						array ( 'id' => 'hover_effect_preset', 'value' => 'fg-custom' ),
589
						array ( 'id' => 'hover_effect_caption_visibility', 'value' => 'fg-caption-hover' ),
590
						array ( 'id' => 'hover_effect_transition', 'value' => 'fg-hover-push' ),
591
					)
592
				),
593
				array(
594
					'id' => 'caption_style',
595
					'value' => 'caption-scale',
596
					'new' => array(
597
						array ( 'id' => 'hover_effect_preset', 'value' => 'fg-custom' ),
598
						array ( 'id' => 'hover_effect_caption_visibility', 'value' => 'fg-caption-hover' ),
599
						array ( 'id' => 'hover_effect_transition', 'value' => 'fg-hover-slide-left' ),
600
					)
601
				),
602
603
				//single thumbnail gallery
604
				array(
605
					'id' => 'position',
606
					'value' => 'position-block',
607
					'new' => array(
608
						array ( 'id' => 'position', 'value' => 'fg-center' ),
609
					)
610
				),
611
				array(
612
					'id' => 'position',
613
					'value' => 'position-float-left',
614
					'new' => array(
615
						array ( 'id' => 'position', 'value' => 'fg-left' ),
616
					)
617
				),
618
				array(
619
					'id' => 'position',
620
					'value' => 'position-float-right',
621
					'new' => array(
622
						array ( 'id' => 'position', 'value' => 'fg-right' ),
623
					)
624
				),
625
626
			);
627
628
			$new_settings = get_post_meta( $foogallery->ID, FOOGALLERY_META_SETTINGS, true );
629
			$old_settings = get_post_meta( $foogallery->ID, FOOGALLERY_META_SETTINGS_OLD, true );
630
631
			//only upgrade galleries that need to be
632
			if ( !is_array($new_settings) && is_array($old_settings) ) {
633
634
				//start with the old settings
635
				$new_settings = $old_settings;
636
637
				//upgrade all template settings
638
				foreach ( foogallery_gallery_templates() as $template ) {
639
640
					foreach ( $mappings as $mapping ) {
641
642
						$settings_key = "{$template['slug']}_{$mapping['id']}";
643
644
						//check if the settings exists
645
						if ( array_key_exists( $settings_key, $old_settings ) ) {
646
647
							$old_settings_value = $old_settings[$settings_key];
648
649
							if ( $mapping['value'] === $old_settings_value ) {
650
								//we have found a match!
651
652
								foreach ( $mapping['new'] as $setting_to_create ) {
653
									$new_setting_key                = "{$template['slug']}_{$setting_to_create['id']}";
654
									$new_setting_value              = $setting_to_create['value'];
655
									$new_settings[$new_setting_key] = $new_setting_value;
656
								}
657
							}
658
						}
659
					}
660
				}
661
662
				//template specific settings overrides
663
				if ( 'image-viewer' === $foogallery->gallery_template ) {
664
					$new_settings['image-viewer_theme'] = 'fg-light';
665
					$new_settings['image-viewer_border_size'] = '';
666
					$new_settings['image-viewer_drop_shadow'] = '';
667
					$new_settings['image-viewer_rounded_corners'] = '';
668
					$new_settings['image-viewer_inner_shadow'] = '';
669
				}
670
671
				if ( 'justified' === $foogallery->gallery_template ) {
672
					$new_settings['image-viewer_theme'] = 'fg-light';
673
					$new_settings['image-viewer_border_size'] = '';
674
					$new_settings['image-viewer_drop_shadow'] = '';
675
					$new_settings['image-viewer_rounded_corners'] = '';
676
					$new_settings['image-viewer_inner_shadow'] = '';
677
				}
678
679
				if ( 'masonry' === $foogallery->gallery_template ) {
680
					$new_settings['image-viewer_theme'] = 'fg-light';
681
					$new_settings['image-viewer_border_size'] = '';
682
					$new_settings['image-viewer_drop_shadow'] = '';
683
					$new_settings['image-viewer_rounded_corners'] = '';
684
					$new_settings['image-viewer_inner_shadow'] = '';
685
				}
686
687
				//save the new settings
688
				add_post_meta( $foogallery->ID, FOOGALLERY_META_SETTINGS, $new_settings, true );
689
690
				//clear any cache that may be saved for the gallery
691
				delete_post_meta( $foogallery->ID, FOOGALLERY_META_CACHE );
692
693
				//clear any previously calculated thumb dimensions
694
				delete_post_meta( $foogallery->ID, FOOGALLERY_META_THUMB_DIMENSIONS );
695
696
				//calculate new thumb dimensions if needed
697
				$thumb_dimensions = new FooGallery_Thumbnail_Dimensions();
698
				$thumb_dimensions->calculate_thumbnail_dimensions( $foogallery->ID );
699
			}
700
		}
701
	}
702
}