NextGEN Gallery – WordPress Gallery Plugin - Version 2.1.69

Version Description

  • 01.18.2016 =
  • Fixed: Ensured compatibility with WordPress 4.7.1
  • Fixed: Missing option names on setting pages when Wizard active
  • Fixed: Ensure that NextGEN Gallery is always loaded after it's extension plugins in WP 4.7
  • Fixed: Pope product uninstaller not running during activation
Download this release

Release Info

Developer photocrati
Plugin Icon 128x128 NextGEN Gallery – WordPress Gallery Plugin
Version 2.1.69
Comparing to
See all releases

Code changes from version 2.1.62 to 2.1.69

changelog.txt CHANGED
@@ -1,6 +1,12 @@
1
  NextGEN Gallery
2
  by Imagely
3
 
 
 
 
 
 
 
4
  = V2.1.62 - 12.15.2016 =
5
  * Fixed: Typo in notice for launching the gallery wizard
6
  * Fixed: The ability to dismiss the gallery wizard notice
1
  NextGEN Gallery
2
  by Imagely
3
 
4
+ = V2.1.69 - 01.18.2016 =
5
+ * Fixed: Ensured compatibility with WordPress 4.7.1
6
+ * Fixed: Missing option names on setting pages when Wizard active
7
+ * Fixed: Ensure that NextGEN Gallery is always loaded after it's extension plugins in WP 4.7
8
+ * Fixed: Pope product uninstaller not running during activation
9
+
10
  = V2.1.62 - 12.15.2016 =
11
  * Fixed: Typo in notice for launching the gallery wizard
12
  * Fixed: The ability to dismiss the gallery wizard notice
nggallery.php CHANGED
@@ -4,7 +4,7 @@ if(preg_match('#' . basename(__FILE__) . '#', $_SERVER['PHP_SELF'])) { die('You
4
  /**
5
  * Plugin Name: NextGEN Gallery
6
  * Description: The most popular gallery plugin for WordPress and one of the most popular plugins of all time with over 16 million downloads.
7
- * Version: 2.1.62
8
  * Author: Imagely
9
  * Plugin URI: https://www.imagely.com/wordpress-gallery-plugin/nextgen-gallery/
10
  * Author URI: https://www.imagely.com
@@ -160,7 +160,7 @@ class C_NextGEN_Bootstrap
160
 
161
  function is_activating()
162
  {
163
- $retval = strpos($_SERVER['REQUEST_URI'], 'plugins.php') !== FALSE && isset($_REQUEST['action']) && $_REQUEST['action'] == 'activate';
164
 
165
  if (!$retval && strpos($_SERVER['REQUEST_URI'], 'update.php') !== FALSE && isset($_REQUEST['action']) && $_REQUEST['action'] == 'install-plugin' && isset($_REQUEST['plugin']) && strpos($_REQUEST['plugin'], 'nextgen-gallery') === 0) {
166
  $retval = TRUE;
@@ -170,11 +170,6 @@ class C_NextGEN_Bootstrap
170
  $retval = TRUE;
171
  }
172
 
173
- // Omitted for now; this was merged at the wrong time
174
- /* if (!$retval && isset($_REQUEST['tgmpa-activate']) && $_REQUEST['tgmpa-activate'] == 'activate-plugin' && isset($_REQUEST['plugin']) && strtolower($_REQUEST['plugin']) == 'nextgen-gallery') {
175
- $retval = TRUE;
176
- } */
177
-
178
  return $retval;
179
  }
180
 
@@ -209,11 +204,41 @@ class C_NextGEN_Bootstrap
209
  C_NextGen_Shortcode_Manager::get_instance();
210
  }
211
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
212
  /**
213
  * Loads the Pope Framework
214
  */
215
  function _load_pope()
216
  {
 
 
217
  // No need to initialize pope again
218
  if ($this->_pope_loaded) return;
219
 
@@ -578,6 +603,8 @@ class C_NextGEN_Bootstrap
578
  */
579
  static function deactivate()
580
  {
 
 
581
  C_Photocrati_Installer::uninstall(NGG_PLUGIN_BASENAME);
582
  }
583
 
@@ -596,7 +623,7 @@ class C_NextGEN_Bootstrap
596
  define('NGG_PRODUCT_URL', path_join(str_replace("\\", '/', NGG_PLUGIN_URL), 'products'));
597
  define('NGG_MODULE_URL', path_join(str_replace("\\", '/', NGG_PRODUCT_URL), 'photocrati_nextgen/modules'));
598
  define('NGG_PLUGIN_STARTED_AT', microtime());
599
- define('NGG_PLUGIN_VERSION', '2.1.62');
600
 
601
  if (defined('SCRIPT_DEBUG') && SCRIPT_DEBUG)
602
  define('NGG_SCRIPT_VERSION', (string)mt_rand(0, mt_getrandmax()));
4
  /**
5
  * Plugin Name: NextGEN Gallery
6
  * Description: The most popular gallery plugin for WordPress and one of the most popular plugins of all time with over 16 million downloads.
7
+ * Version: 2.1.69
8
  * Author: Imagely
9
  * Plugin URI: https://www.imagely.com/wordpress-gallery-plugin/nextgen-gallery/
10
  * Author URI: https://www.imagely.com
160
 
161
  function is_activating()
162
  {
163
+ $retval = strpos($_SERVER['REQUEST_URI'], 'plugins.php') !== FALSE && isset($_REQUEST['action']) && in_array($_REQUEST['action'], array('activate', 'activate-selected'));
164
 
165
  if (!$retval && strpos($_SERVER['REQUEST_URI'], 'update.php') !== FALSE && isset($_REQUEST['action']) && $_REQUEST['action'] == 'install-plugin' && isset($_REQUEST['plugin']) && strpos($_REQUEST['plugin'], 'nextgen-gallery') === 0) {
166
  $retval = TRUE;
170
  $retval = TRUE;
171
  }
172
 
 
 
 
 
 
173
  return $retval;
174
  }
175
 
204
  C_NextGen_Shortcode_Manager::get_instance();
205
  }
206
 
207
+ function fix_loading_order()
208
+ {
209
+ $plugins = get_option('active_plugins');
210
+
211
+ // Remove NGG from list of plugins to load
212
+ $order = array();
213
+ $new_position = 0;
214
+ $ngg = basename(dirname(__FILE__)).'/'.basename(__FILE__);
215
+ for ($i=0; $i<count($plugins); $i++) {
216
+ if (isset($plugins[$i])) {
217
+ $plugin = $plugins[$i];
218
+ if (strpos($plugin, basename(__FILE__)) === FALSE) {
219
+ if (strpos($plugin, 'nggallery-pro') !== FALSE && $i > $new_position) $new_position = $i;
220
+ if (strpos($plugin, 'ngg-plus') !== FALSE && $i > $new_position) $new_position = $i;
221
+ if ($plugin) $order[] = $plugin;
222
+ }
223
+ }
224
+ }
225
+ array_splice($order, $new_position+1, 0, $ngg);
226
+ if (!in_array($ngg, $order)) $order[] = $ngg;
227
+
228
+ $order = array_values($order);
229
+
230
+ if ($order != $plugins) {
231
+ update_option('active_plugins', $order);
232
+ }
233
+ }
234
+
235
  /**
236
  * Loads the Pope Framework
237
  */
238
  function _load_pope()
239
  {
240
+ $this->fix_loading_order();
241
+
242
  // No need to initialize pope again
243
  if ($this->_pope_loaded) return;
244
 
603
  */
604
  static function deactivate()
605
  {
606
+ include_once('products/photocrati_nextgen/class.nextgen_product_installer.php');
607
+ C_Photocrati_Installer::add_handler(NGG_PLUGIN_BASENAME, 'C_NextGen_Product_Installer');
608
  C_Photocrati_Installer::uninstall(NGG_PLUGIN_BASENAME);
609
  }
610
 
623
  define('NGG_PRODUCT_URL', path_join(str_replace("\\", '/', NGG_PLUGIN_URL), 'products'));
624
  define('NGG_MODULE_URL', path_join(str_replace("\\", '/', NGG_PRODUCT_URL), 'photocrati_nextgen/modules'));
625
  define('NGG_PLUGIN_STARTED_AT', microtime());
626
+ define('NGG_PLUGIN_VERSION', '2.1.69');
627
 
628
  if (defined('SCRIPT_DEBUG') && SCRIPT_DEBUG)
629
  define('NGG_SCRIPT_VERSION', (string)mt_rand(0, mt_getrandmax()));
products/photocrati_nextgen/modules/nextgen_admin/module.nextgen_admin.php CHANGED
@@ -19,7 +19,7 @@ class M_NextGen_Admin extends C_Base_Module
19
  'photocrati-nextgen_admin',
20
  'NextGEN Administration',
21
  'Provides a framework for adding Administration pages',
22
- '0.15',
23
  'https://www.imagely.com/wordpress-gallery-plugin/nextgen-gallery/',
24
  'Photocrati Media',
25
  'https://www.imagely.com'
19
  'photocrati-nextgen_admin',
20
  'NextGEN Administration',
21
  'Provides a framework for adding Administration pages',
22
+ '0.16',
23
  'https://www.imagely.com/wordpress-gallery-plugin/nextgen-gallery/',
24
  'Photocrati Media',
25
  'https://www.imagely.com'
products/photocrati_nextgen/modules/nextgen_admin/static/bootstrap/css/bootstrap-tooltip.css CHANGED
@@ -3,374 +3,7 @@
3
  * Copyright 2011-2016 Twitter, Inc.
4
  * Licensed under MIT (https://github.com/twbs/bootstrap/blob/master/LICENSE)
5
  */
6
- .tooltip {
7
- position: absolute;
8
- z-index: 1070;
9
- display: block;
10
- font-family: "Helvetica Neue", Helvetica, Arial, sans-serif;
11
- font-size: 12px;
12
- font-style: normal;
13
- font-weight: normal;
14
- line-height: 1.42857143;
15
- text-align: left;
16
- text-align: start;
17
- text-decoration: none;
18
- text-shadow: none;
19
- text-transform: none;
20
- letter-spacing: normal;
21
- word-break: normal;
22
- word-spacing: normal;
23
- word-wrap: normal;
24
- white-space: normal;
25
- filter: alpha(opacity=0);
26
- opacity: 0;
27
-
28
- line-break: auto;
29
- }
30
- .tooltip.in {
31
- filter: alpha(opacity=90);
32
- opacity: .9;
33
- }
34
- .tooltip.top {
35
- padding: 5px 0;
36
- margin-top: -3px;
37
- }
38
- .tooltip.right {
39
- padding: 0 5px;
40
- margin-left: 3px;
41
- }
42
- .tooltip.bottom {
43
- padding: 5px 0;
44
- margin-top: 3px;
45
- }
46
- .tooltip.left {
47
- padding: 0 5px;
48
- margin-left: -3px;
49
- }
50
- .tooltip-inner {
51
- max-width: 200px;
52
- padding: 3px 8px;
53
- color: #fff;
54
- text-align: center;
55
- background-color: #000;
56
- border-radius: 4px;
57
- }
58
- .tooltip-arrow {
59
- position: absolute;
60
- width: 0;
61
- height: 0;
62
- border-color: transparent;
63
- border-style: solid;
64
- }
65
- .tooltip.top .tooltip-arrow {
66
- bottom: 0;
67
- left: 50%;
68
- margin-left: -5px;
69
- border-width: 5px 5px 0;
70
- border-top-color: #000;
71
- }
72
- .tooltip.top-left .tooltip-arrow {
73
- right: 5px;
74
- bottom: 0;
75
- margin-bottom: -5px;
76
- border-width: 5px 5px 0;
77
- border-top-color: #000;
78
- }
79
- .tooltip.top-right .tooltip-arrow {
80
- bottom: 0;
81
- left: 5px;
82
- margin-bottom: -5px;
83
- border-width: 5px 5px 0;
84
- border-top-color: #000;
85
- }
86
- .tooltip.right .tooltip-arrow {
87
- top: 50%;
88
- left: 0;
89
- margin-top: -5px;
90
- border-width: 5px 5px 5px 0;
91
- border-right-color: #000;
92
- }
93
- .tooltip.left .tooltip-arrow {
94
- top: 50%;
95
- right: 0;
96
- margin-top: -5px;
97
- border-width: 5px 0 5px 5px;
98
- border-left-color: #000;
99
- }
100
- .tooltip.bottom .tooltip-arrow {
101
- top: 0;
102
- left: 50%;
103
- margin-left: -5px;
104
- border-width: 0 5px 5px;
105
- border-bottom-color: #000;
106
- }
107
- .tooltip.bottom-left .tooltip-arrow {
108
- top: 0;
109
- right: 5px;
110
- margin-top: -5px;
111
- border-width: 0 5px 5px;
112
- border-bottom-color: #000;
113
- }
114
- .tooltip.bottom-right .tooltip-arrow {
115
- top: 0;
116
- left: 5px;
117
- margin-top: -5px;
118
- border-width: 0 5px 5px;
119
- border-bottom-color: #000;
120
- }
121
- .popover {
122
- position: absolute;
123
- top: 0;
124
- left: 0;
125
- z-index: 1060;
126
- display: none;
127
- max-width: 276px;
128
- padding: 1px;
129
- font-family: "Helvetica Neue", Helvetica, Arial, sans-serif;
130
- font-size: 14px;
131
- font-style: normal;
132
- font-weight: normal;
133
- line-height: 1.42857143;
134
- text-align: left;
135
- text-align: start;
136
- text-decoration: none;
137
- text-shadow: none;
138
- text-transform: none;
139
- letter-spacing: normal;
140
- word-break: normal;
141
- word-spacing: normal;
142
- word-wrap: normal;
143
- white-space: normal;
144
- background-color: #fff;
145
- -webkit-background-clip: padding-box;
146
- background-clip: padding-box;
147
- border: 1px solid #ccc;
148
- border: 1px solid rgba(0, 0, 0, .2);
149
- border-radius: 6px;
150
- -webkit-box-shadow: 0 5px 10px rgba(0, 0, 0, .2);
151
- box-shadow: 0 5px 10px rgba(0, 0, 0, .2);
152
-
153
- line-break: auto;
154
- }
155
- .popover.top {
156
- margin-top: -10px;
157
- }
158
- .popover.right {
159
- margin-left: 10px;
160
- }
161
- .popover.bottom {
162
- margin-top: 10px;
163
- }
164
- .popover.left {
165
- margin-left: -10px;
166
- }
167
- .popover-title {
168
- padding: 8px 14px;
169
- margin: 0;
170
- font-size: 14px;
171
- background-color: #f7f7f7;
172
- border-bottom: 1px solid #ebebeb;
173
- border-radius: 5px 5px 0 0;
174
- }
175
- .popover-content {
176
- padding: 9px 14px;
177
- }
178
- .popover > .arrow,
179
- .popover > .arrow:after {
180
- position: absolute;
181
- display: block;
182
- width: 0;
183
- height: 0;
184
- border-color: transparent;
185
- border-style: solid;
186
- }
187
- .popover > .arrow {
188
- border-width: 11px;
189
- }
190
- .popover > .arrow:after {
191
- content: "";
192
- border-width: 10px;
193
- }
194
- .popover.top > .arrow {
195
- bottom: -11px;
196
- left: 50%;
197
- margin-left: -11px;
198
- border-top-color: #999;
199
- border-top-color: rgba(0, 0, 0, .25);
200
- border-bottom-width: 0;
201
- }
202
- .popover.top > .arrow:after {
203
- bottom: 1px;
204
- margin-left: -10px;
205
- content: " ";
206
- border-top-color: #fff;
207
- border-bottom-width: 0;
208
- }
209
- .popover.right > .arrow {
210
- top: 50%;
211
- left: -11px;
212
- margin-top: -11px;
213
- border-right-color: #999;
214
- border-right-color: rgba(0, 0, 0, .25);
215
- border-left-width: 0;
216
- }
217
- .popover.right > .arrow:after {
218
- bottom: -10px;
219
- left: 1px;
220
- content: " ";
221
- border-right-color: #fff;
222
- border-left-width: 0;
223
- }
224
- .popover.bottom > .arrow {
225
- top: -11px;
226
- left: 50%;
227
- margin-left: -11px;
228
- border-top-width: 0;
229
- border-bottom-color: #999;
230
- border-bottom-color: rgba(0, 0, 0, .25);
231
- }
232
- .popover.bottom > .arrow:after {
233
- top: 1px;
234
- margin-left: -10px;
235
- content: " ";
236
- border-top-width: 0;
237
- border-bottom-color: #fff;
238
- }
239
- .popover.left > .arrow {
240
- top: 50%;
241
- right: -11px;
242
- margin-top: -11px;
243
- border-right-width: 0;
244
- border-left-color: #999;
245
- border-left-color: rgba(0, 0, 0, .25);
246
- }
247
- .popover.left > .arrow:after {
248
- right: 1px;
249
- bottom: -10px;
250
- content: " ";
251
- border-right-width: 0;
252
- border-left-color: #fff;
253
- }/*!
254
- * Bootstrap v3.3.7 (http://getbootstrap.com)
255
- * Copyright 2011-2016 Twitter, Inc.
256
- * Licensed under MIT (https://github.com/twbs/bootstrap/blob/master/LICENSE)
257
- */
258
- .tooltip {
259
- position: absolute;
260
- z-index: 1070;
261
- display: block;
262
- font-family: "Helvetica Neue", Helvetica, Arial, sans-serif;
263
- font-size: 12px;
264
- font-style: normal;
265
- font-weight: normal;
266
- line-height: 1.42857143;
267
- text-align: left;
268
- text-align: start;
269
- text-decoration: none;
270
- text-shadow: none;
271
- text-transform: none;
272
- letter-spacing: normal;
273
- word-break: normal;
274
- word-spacing: normal;
275
- word-wrap: normal;
276
- white-space: normal;
277
- filter: alpha(opacity=0);
278
- opacity: 0;
279
-
280
- line-break: auto;
281
- }
282
- .tooltip.in {
283
- filter: alpha(opacity=90);
284
- opacity: .9;
285
- }
286
- .tooltip.top {
287
- padding: 5px 0;
288
- margin-top: -3px;
289
- }
290
- .tooltip.right {
291
- padding: 0 5px;
292
- margin-left: 3px;
293
- }
294
- .tooltip.bottom {
295
- padding: 5px 0;
296
- margin-top: 3px;
297
- }
298
- .tooltip.left {
299
- padding: 0 5px;
300
- margin-left: -3px;
301
- }
302
- .tooltip-inner {
303
- max-width: 200px;
304
- padding: 3px 8px;
305
- color: #fff;
306
- text-align: center;
307
- background-color: #000;
308
- border-radius: 4px;
309
- }
310
- .tooltip-arrow {
311
- position: absolute;
312
- width: 0;
313
- height: 0;
314
- border-color: transparent;
315
- border-style: solid;
316
- }
317
- .tooltip.top .tooltip-arrow {
318
- bottom: 0;
319
- left: 50%;
320
- margin-left: -5px;
321
- border-width: 5px 5px 0;
322
- border-top-color: #000;
323
- }
324
- .tooltip.top-left .tooltip-arrow {
325
- right: 5px;
326
- bottom: 0;
327
- margin-bottom: -5px;
328
- border-width: 5px 5px 0;
329
- border-top-color: #000;
330
- }
331
- .tooltip.top-right .tooltip-arrow {
332
- bottom: 0;
333
- left: 5px;
334
- margin-bottom: -5px;
335
- border-width: 5px 5px 0;
336
- border-top-color: #000;
337
- }
338
- .tooltip.right .tooltip-arrow {
339
- top: 50%;
340
- left: 0;
341
- margin-top: -5px;
342
- border-width: 5px 5px 5px 0;
343
- border-right-color: #000;
344
- }
345
- .tooltip.left .tooltip-arrow {
346
- top: 50%;
347
- right: 0;
348
- margin-top: -5px;
349
- border-width: 5px 0 5px 5px;
350
- border-left-color: #000;
351
- }
352
- .tooltip.bottom .tooltip-arrow {
353
- top: 0;
354
- left: 50%;
355
- margin-left: -5px;
356
- border-width: 0 5px 5px;
357
- border-bottom-color: #000;
358
- }
359
- .tooltip.bottom-left .tooltip-arrow {
360
- top: 0;
361
- right: 5px;
362
- margin-top: -5px;
363
- border-width: 0 5px 5px;
364
- border-bottom-color: #000;
365
- }
366
- .tooltip.bottom-right .tooltip-arrow {
367
- top: 0;
368
- left: 5px;
369
- margin-top: -5px;
370
- border-width: 0 5px 5px;
371
- border-bottom-color: #000;
372
- }
373
- .popover {
374
  position: absolute;
375
  top: 0;
376
  left: 0;
@@ -404,19 +37,19 @@
404
 
405
  line-break: auto;
406
  }
407
- .popover.top {
408
  margin-top: -10px;
409
  }
410
- .popover.right {
411
  margin-left: 10px;
412
  }
413
- .popover.bottom {
414
  margin-top: 10px;
415
  }
416
- .popover.left {
417
  margin-left: -10px;
418
  }
419
- .popover-title {
420
  padding: 8px 14px;
421
  margin: 0;
422
  font-size: 14px;
@@ -424,11 +57,11 @@
424
  border-bottom: 1px solid #ebebeb;
425
  border-radius: 5px 5px 0 0;
426
  }
427
- .popover-content {
428
  padding: 9px 14px;
429
  }
430
- .popover > .arrow,
431
- .popover > .arrow:after {
432
  position: absolute;
433
  display: block;
434
  width: 0;
@@ -436,14 +69,14 @@
436
  border-color: transparent;
437
  border-style: solid;
438
  }
439
- .popover > .arrow {
440
  border-width: 11px;
441
  }
442
- .popover > .arrow:after {
443
  content: "";
444
  border-width: 10px;
445
  }
446
- .popover.top > .arrow {
447
  bottom: -11px;
448
  left: 50%;
449
  margin-left: -11px;
@@ -451,14 +84,14 @@
451
  border-top-color: rgba(0, 0, 0, .25);
452
  border-bottom-width: 0;
453
  }
454
- .popover.top > .arrow:after {
455
  bottom: 1px;
456
  margin-left: -10px;
457
  content: " ";
458
  border-top-color: #fff;
459
  border-bottom-width: 0;
460
  }
461
- .popover.right > .arrow {
462
  top: 50%;
463
  left: -11px;
464
  margin-top: -11px;
@@ -466,14 +99,14 @@
466
  border-right-color: rgba(0, 0, 0, .25);
467
  border-left-width: 0;
468
  }
469
- .popover.right > .arrow:after {
470
  bottom: -10px;
471
  left: 1px;
472
  content: " ";
473
  border-right-color: #fff;
474
  border-left-width: 0;
475
  }
476
- .popover.bottom > .arrow {
477
  top: -11px;
478
  left: 50%;
479
  margin-left: -11px;
@@ -481,14 +114,14 @@
481
  border-bottom-color: #999;
482
  border-bottom-color: rgba(0, 0, 0, .25);
483
  }
484
- .popover.bottom > .arrow:after {
485
  top: 1px;
486
  margin-left: -10px;
487
  content: " ";
488
  border-top-width: 0;
489
  border-bottom-color: #fff;
490
  }
491
- .popover.left > .arrow {
492
  top: 50%;
493
  right: -11px;
494
  margin-top: -11px;
@@ -496,14 +129,14 @@
496
  border-left-color: #999;
497
  border-left-color: rgba(0, 0, 0, .25);
498
  }
499
- .popover.left > .arrow:after {
500
  right: 1px;
501
  bottom: -10px;
502
  content: " ";
503
  border-right-width: 0;
504
  border-left-color: #fff;
505
  }
506
- .popover .btn {
507
  display: inline-block;
508
  padding: 6px 12px;
509
  margin-bottom: 0;
@@ -522,23 +155,23 @@ background-image: none;
522
  border: 1px solid transparent;
523
  border-radius: 4px;
524
  }
525
- .popover .btn:focus,
526
- .popover .btn:active:focus,
527
- .popover .btn.active:focus,
528
- .popover .btn.focus,
529
- .popover .btn:active.focus,
530
- .popover .btn.active.focus {
531
  outline: 5px auto -webkit-focus-ring-color;
532
  outline-offset: -2px;
533
  }
534
- .popover .btn:hover,
535
- .popover .btn:focus,
536
- .popover .btn.focus {
537
  color: #333;
538
  text-decoration: none;
539
  }
540
- .popover .btn:active,
541
- .popover .btn.active {
542
  background-image: none;
543
  outline: 0;
544
  -webkit-box-shadow: inset 0 3px 5px rgba(0, 0, 0, .125);
3
  * Copyright 2011-2016 Twitter, Inc.
4
  * Licensed under MIT (https://github.com/twbs/bootstrap/blob/master/LICENSE)
5
  */
6
+ .tourist-popover {
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
7
  position: absolute;
8
  top: 0;
9
  left: 0;
37
 
38
  line-break: auto;
39
  }
40
+ .tourist-popover.top {
41
  margin-top: -10px;
42
  }
43
+ .tourist-popover.right {
44
  margin-left: 10px;
45
  }
46
+ .tourist-popover.bottom {
47
  margin-top: 10px;
48
  }
49
+ .tourist-popover.left {
50
  margin-left: -10px;
51
  }
52
+ .tourist-popover-title {
53
  padding: 8px 14px;
54
  margin: 0;
55
  font-size: 14px;
57
  border-bottom: 1px solid #ebebeb;
58
  border-radius: 5px 5px 0 0;
59
  }
60
+ .tourist-popover-content {
61
  padding: 9px 14px;
62
  }
63
+ .tourist-popover > .arrow,
64
+ .tourist-popover > .arrow:after {
65
  position: absolute;
66
  display: block;
67
  width: 0;
69
  border-color: transparent;
70
  border-style: solid;
71
  }
72
+ .tourist-popover > .arrow {
73
  border-width: 11px;
74
  }
75
+ .tourist-popover > .arrow:after {
76
  content: "";
77
  border-width: 10px;
78
  }
79
+ .tourist-popover.top > .arrow {
80
  bottom: -11px;
81
  left: 50%;
82
  margin-left: -11px;
84
  border-top-color: rgba(0, 0, 0, .25);
85
  border-bottom-width: 0;
86
  }
87
+ .tourist-popover.top > .arrow:after {
88
  bottom: 1px;
89
  margin-left: -10px;
90
  content: " ";
91
  border-top-color: #fff;
92
  border-bottom-width: 0;
93
  }
94
+ .tourist-popover.right > .arrow {
95
  top: 50%;
96
  left: -11px;
97
  margin-top: -11px;
99
  border-right-color: rgba(0, 0, 0, .25);
100
  border-left-width: 0;
101
  }
102
+ .tourist-popover.right > .arrow:after {
103
  bottom: -10px;
104
  left: 1px;
105
  content: " ";
106
  border-right-color: #fff;
107
  border-left-width: 0;
108
  }
109
+ .tourist-popover.bottom > .arrow {
110
  top: -11px;
111
  left: 50%;
112
  margin-left: -11px;
114
  border-bottom-color: #999;
115
  border-bottom-color: rgba(0, 0, 0, .25);
116
  }
117
+ .tourist-popover.bottom > .arrow:after {
118
  top: 1px;
119
  margin-left: -10px;
120
  content: " ";
121
  border-top-width: 0;
122
  border-bottom-color: #fff;
123
  }
124
+ .tourist-popover.left > .arrow {
125
  top: 50%;
126
  right: -11px;
127
  margin-top: -11px;
129
  border-left-color: #999;
130
  border-left-color: rgba(0, 0, 0, .25);
131
  }
132
+ .tourist-popover.left > .arrow:after {
133
  right: 1px;
134
  bottom: -10px;
135
  content: " ";
136
  border-right-width: 0;
137
  border-left-color: #fff;
138
  }
139
+ .tourist-popover .btn {
140
  display: inline-block;
141
  padding: 6px 12px;
142
  margin-bottom: 0;
155
  border: 1px solid transparent;
156
  border-radius: 4px;
157
  }
158
+ .tourist-popover .btn:focus,
159
+ .tourist-popover .btn:active:focus,
160
+ .tourist-popover .btn.active:focus,
161
+ .tourist-popover .btn.focus,
162
+ .tourist-popover .btn:active.focus,
163
+ .tourist-popover .btn.active.focus {
164
  outline: 5px auto -webkit-focus-ring-color;
165
  outline-offset: -2px;
166
  }
167
+ .tourist-popover .btn:hover,
168
+ .tourist-popover .btn:focus,
169
+ .tourist-popover .btn.focus {
170
  color: #333;
171
  text-decoration: none;
172
  }
173
+ .tourist-popover .btn:active,
174
+ .tourist-popover .btn.active {
175
  background-image: none;
176
  outline: 0;
177
  -webkit-box-shadow: inset 0 3px 5px rgba(0, 0, 0, .125);
products/photocrati_nextgen/modules/nextgen_admin/static/bootstrap/css/bootstrap-tooltip.min.css CHANGED
@@ -2,8 +2,4 @@
2
  * Bootstrap v3.3.7 (Tooltips) (http://getbootstrap.com)
3
  * Copyright 2011-2016 Twitter, Inc.
4
  * Licensed under MIT (https://github.com/twbs/bootstrap/blob/master/LICENSE)
5
- */.tooltip.top .tooltip-arrow,.tooltip.top-left .tooltip-arrow,.tooltip.top-right .tooltip-arrow{bottom:0;border-width:5px 5px 0;border-top-color:#000}.popover,.tooltip{font-family:"Helvetica Neue",Helvetica,Arial,sans-serif;font-style:normal;line-height:1.42857143;text-shadow:none;text-transform:none;letter-spacing:normal;word-break:normal;word-spacing:normal;word-wrap:normal;white-space:normal;line-break:auto;position:absolute;font-weight:400;text-decoration:none}.popover,.tooltip,.tooltip-arrow{position:absolute}.popover,.tooltip{text-decoration:none}/*!
6
- * Bootstrap v3.3.7 (http://getbootstrap.com)
7
- * Copyright 2011-2016 Twitter, Inc.
8
- * Licensed under MIT (https://github.com/twbs/bootstrap/blob/master/LICENSE)
9
- */.tooltip{z-index:1070;display:block;font-size:12px;text-align:left;text-align:start;filter:alpha(opacity=0);opacity:0}.tooltip.in{filter:alpha(opacity=90);opacity:.9}.tooltip.top{padding:5px 0;margin-top:-3px}.tooltip.right{padding:0 5px;margin-left:3px}.tooltip.bottom{padding:5px 0;margin-top:3px}.tooltip.left{padding:0 5px;margin-left:-3px}.tooltip-inner{max-width:200px;padding:3px 8px;color:#fff;text-align:center;background-color:#000;border-radius:4px}.tooltip-arrow{width:0;height:0;border-color:transparent;border-style:solid}.tooltip.top .tooltip-arrow{left:50%;margin-left:-5px}.tooltip.top-left .tooltip-arrow{right:5px;margin-bottom:-5px}.tooltip.top-right .tooltip-arrow{left:5px;margin-bottom:-5px}.tooltip.right .tooltip-arrow{top:50%;left:0;margin-top:-5px;border-width:5px 5px 5px 0;border-right-color:#000}.tooltip.left .tooltip-arrow{top:50%;right:0;margin-top:-5px;border-width:5px 0 5px 5px;border-left-color:#000}.tooltip.bottom .tooltip-arrow,.tooltip.bottom-left .tooltip-arrow,.tooltip.bottom-right .tooltip-arrow{border-width:0 5px 5px;border-bottom-color:#000;top:0}.tooltip.bottom .tooltip-arrow{left:50%;margin-left:-5px}.tooltip.bottom-left .tooltip-arrow{right:5px;margin-top:-5px}.tooltip.bottom-right .tooltip-arrow{left:5px;margin-top:-5px}.popover{top:0;left:0;z-index:1060;display:none;max-width:276px;padding:1px;font-size:14px;text-align:left;text-align:start;background-color:#fff;-webkit-background-clip:padding-box;background-clip:padding-box;border:1px solid #ccc;border:1px solid rgba(0,0,0,.2);border-radius:6px;-webkit-box-shadow:0 5px 10px rgba(0,0,0,.2);box-shadow:0 5px 10px rgba(0,0,0,.2)}.popover.top{margin-top:-10px}.popover.right{margin-left:10px}.popover.bottom{margin-top:10px}.popover.left{margin-left:-10px}.popover-title{padding:8px 14px;margin:0;font-size:14px;background-color:#f7f7f7;border-bottom:1px solid #ebebeb;border-radius:5px 5px 0 0}.popover-content{padding:9px 14px}.popover>.arrow,.popover>.arrow:after{position:absolute;display:block;width:0;height:0;border-color:transparent;border-style:solid}.popover>.arrow{border-width:11px}.popover>.arrow:after{content:"";border-width:10px}.popover.bottom>.arrow:after,.popover.left>.arrow:after,.popover.right>.arrow:after,.popover.top>.arrow:after{content:" "}.popover.top>.arrow{bottom:-11px;left:50%;margin-left:-11px;border-top-color:#999;border-top-color:rgba(0,0,0,.25);border-bottom-width:0}.popover.top>.arrow:after{bottom:1px;margin-left:-10px;border-top-color:#fff;border-bottom-width:0}.popover.right>.arrow{top:50%;left:-11px;margin-top:-11px;border-right-color:#999;border-right-color:rgba(0,0,0,.25);border-left-width:0}.popover.right>.arrow:after{bottom:-10px;left:1px;border-right-color:#fff;border-left-width:0}.popover.bottom>.arrow{top:-11px;left:50%;margin-left:-11px;border-top-width:0;border-bottom-color:#999;border-bottom-color:rgba(0,0,0,.25)}.popover.bottom>.arrow:after{top:1px;margin-left:-10px;border-top-width:0;border-bottom-color:#fff}.popover.left>.arrow{top:50%;right:-11px;margin-top:-11px;border-right-width:0;border-left-color:#999;border-left-color:rgba(0,0,0,.25)}.popover.left>.arrow:after{right:1px;bottom:-10px;border-right-width:0;border-left-color:#fff}.popover .btn{display:inline-block;padding:6px 12px;margin-bottom:0;font-size:14px;font-weight:400;line-height:1.428;text-align:center;white-space:nowrap;vertical-align:middle;cursor:pointer;-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none;user-select:none;background-image:none;border:1px solid transparent;border-radius:4px}.popover .btn.active.focus,.popover .btn.active:focus,.popover .btn.focus,.popover .btn:active.focus,.popover .btn:active:focus,.popover .btn:focus{outline:-webkit-focus-ring-color auto 5px;outline-offset:-2px}.popover .btn.focus,.popover .btn:focus,.popover .btn:hover{color:#333;text-decoration:none}.popover .btn.active,.popover .btn:active{background-image:none;outline:0;-webkit-box-shadow:inset 0 3px 5px rgba(0,0,0,.125);box-shadow:inset 0 3px 5px rgba(0,0,0,.125)}
2
  * Bootstrap v3.3.7 (Tooltips) (http://getbootstrap.com)
3
  * Copyright 2011-2016 Twitter, Inc.
4
  * Licensed under MIT (https://github.com/twbs/bootstrap/blob/master/LICENSE)
5
+ */.tourist-popover{position:absolute;top:0;left:0;z-index:1060;display:none;max-width:276px;padding:1px;font-family:"Helvetica Neue",Helvetica,Arial,sans-serif;font-size:14px;font-style:normal;font-weight:400;line-height:1.42857143;text-align:left;text-align:start;text-decoration:none;text-shadow:none;text-transform:none;letter-spacing:normal;word-break:normal;word-spacing:normal;word-wrap:normal;white-space:normal;background-color:#fff;-webkit-background-clip:padding-box;background-clip:padding-box;border:1px solid #ccc;border:1px solid rgba(0,0,0,.2);border-radius:6px;-webkit-box-shadow:0 5px 10px rgba(0,0,0,.2);box-shadow:0 5px 10px rgba(0,0,0,.2);line-break:auto}.tourist-popover.top{margin-top:-10px}.tourist-popover.right{margin-left:10px}.tourist-popover.bottom{margin-top:10px}.tourist-popover.left{margin-left:-10px}.tourist-popover-title{padding:8px 14px;margin:0;font-size:14px;background-color:#f7f7f7;border-bottom:1px solid #ebebeb;border-radius:5px 5px 0 0}.tourist-popover-content{padding:9px 14px}.tourist-popover>.arrow,.tourist-popover>.arrow:after{position:absolute;display:block;width:0;height:0;border-color:transparent;border-style:solid}.tourist-popover>.arrow{border-width:11px}.tourist-popover>.arrow:after{content:"";border-width:10px}.tourist-popover.top>.arrow{bottom:-11px;left:50%;margin-left:-11px;border-top-color:#999;border-top-color:rgba(0,0,0,.25);border-bottom-width:0}.tourist-popover.top>.arrow:after{bottom:1px;margin-left:-10px;content:" ";border-top-color:#fff;border-bottom-width:0}.tourist-popover.right>.arrow{top:50%;left:-11px;margin-top:-11px;border-right-color:#999;border-right-color:rgba(0,0,0,.25);border-left-width:0}.tourist-popover.right>.arrow:after{bottom:-10px;left:1px;content:" ";border-right-color:#fff;border-left-width:0}.tourist-popover.bottom>.arrow{top:-11px;left:50%;margin-left:-11px;border-top-width:0;border-bottom-color:#999;border-bottom-color:rgba(0,0,0,.25)}.tourist-popover.bottom>.arrow:after{top:1px;margin-left:-10px;content:" ";border-top-width:0;border-bottom-color:#fff}.tourist-popover.left>.arrow{top:50%;right:-11px;margin-top:-11px;border-right-width:0;border-left-color:#999;border-left-color:rgba(0,0,0,.25)}.tourist-popover.left>.arrow:after{right:1px;bottom:-10px;content:" ";border-right-width:0;border-left-color:#fff}.tourist-popover .btn{display:inline-block;padding:6px 12px;margin-bottom:0;font-size:14px;font-weight:400;line-height:1.428;text-align:center;white-space:nowrap;vertical-align:middle;cursor:pointer;-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none;user-select:none;background-image:none;border:1px solid transparent;border-radius:4px}.tourist-popover .btn.active.focus,.tourist-popover .btn.active:focus,.tourist-popover .btn.focus,.tourist-popover .btn:active.focus,.tourist-popover .btn:active:focus,.tourist-popover .btn:focus{outline:-webkit-focus-ring-color auto 5px;outline-offset:-2px}.tourist-popover .btn.focus,.tourist-popover .btn:focus,.tourist-popover .btn:hover{color:#333;text-decoration:none}.tourist-popover .btn.active,.tourist-popover .btn:active{background-image:none;outline:0;-webkit-box-shadow:inset 0 3px 5px rgba(0,0,0,.125);box-shadow:inset 0 3px 5px rgba(0,0,0,.125)}
 
 
 
 
readme.txt CHANGED
@@ -2,8 +2,8 @@
2
  Contributors: photocrati, imagely
3
  Tags: gallery, wordpress gallery plugin, nextgen, nextgen gallery, photo gallery, photo album, photos, image gallery, image, images, photography, photographer, watermarking, responsive gallery, slideshow, thumbnail gallery, watermarking, watermark
4
  Requires at least: 4.0.0
5
- Stable tag: 2.1.62
6
- Tested up to: 4.7.0
7
  License: GPLv2
8
 
9
  The most popular WordPress gallery plugin and one of the most popular plugins of all time with over 16 million downloads.
@@ -187,6 +187,12 @@ For more information, feel free to visit the official website for the NextGEN Ga
187
 
188
  == Changelog ==
189
 
 
 
 
 
 
 
190
  = V2.1.62 - 12.15.2016 =
191
  * Fixed: Typo in notice for launching the gallery wizard
192
  * Fixed: The ability to dismiss the gallery wizard notice
2
  Contributors: photocrati, imagely
3
  Tags: gallery, wordpress gallery plugin, nextgen, nextgen gallery, photo gallery, photo album, photos, image gallery, image, images, photography, photographer, watermarking, responsive gallery, slideshow, thumbnail gallery, watermarking, watermark
4
  Requires at least: 4.0.0
5
+ Stable tag: 2.1.69
6
+ Tested up to: 4.7.1
7
  License: GPLv2
8
 
9
  The most popular WordPress gallery plugin and one of the most popular plugins of all time with over 16 million downloads.
187
 
188
  == Changelog ==
189
 
190
+ = V2.1.69 - 01.18.2016 =
191
+ * Fixed: Ensured compatibility with WordPress 4.7.1
192
+ * Fixed: Missing option names on setting pages when Wizard active
193
+ * Fixed: Ensure that NextGEN Gallery is always loaded after it's extension plugins in WP 4.7
194
+ * Fixed: Pope product uninstaller not running during activation
195
+
196
  = V2.1.62 - 12.15.2016 =
197
  * Fixed: Typo in notice for launching the gallery wizard
198
  * Fixed: The ability to dismiss the gallery wizard notice