NextCellent Gallery – NextGEN Legacy - Version 1.9.18

Version Description

  • 23.04.2014 =

What's in it for you?

  • Fixes compatibility with TinyMCE 1.4, for WordPress 3.9. (credits to Niko Strijbol)
  • Fixes use of mysql_*(), which isn't allowed anymore. (credits to Niko Strijbol)
  • Fixes some style stuff from the datepicker interfering with the style of the tabs. (credits to Niko Strijbol)
  • Fixes "flash" upload. This does remove the resize option, but it wasn't working anyway. (credits to Niko Strijbol)
  • Vulnerability fix: data isn't properly sanitized before being printed ona Alt & Title (credits to Larry W. Cashdollar)
  • Changing date for uploaded images improved (credits to Richard Bale)

VERY IMPORTANT: Read ON!

NextCellent Gallery provides backward compatibility for older NextGEN until version 1.9.13 .

  • this plugin will gracefully deactivate if detects NextGEN is working (any version) to avoid compatibility issues.

  • Please remember to READ THE FAQ!!! Issues for failing to read the FAQ will be IGNORED!!!

  • If you like it, please spread the word and rate it accordingly. I guess a lot of annoyed users can take advantage of NextCellent. Thank you!

Download this release

Release Info

Developer WPReady
Plugin Icon NextCellent Gallery – NextGEN Legacy
Version 1.9.18
Comparing to
See all releases

Code changes from version 1.9.17 to 1.9.18

admin/addgallery.php CHANGED
@@ -154,8 +154,6 @@ class nggAddGallery {
154
  <!-- plupload script -->
155
  <script type="text/javascript">
156
  //<![CDATA[
157
- var resize_height = <?php echo (int) $ngg->options['imgHeight']; ?>,
158
- resize_width = <?php echo (int) $ngg->options['imgWidth']; ?>;
159
 
160
  jQuery(document).ready(function($) {
161
  window.uploader = new plupload.Uploader({
@@ -176,6 +174,13 @@ class nggAddGallery {
176
  multipart_params : {
177
  <?php echo $post_params_str; ?>
178
  },
 
 
 
 
 
 
 
179
  debug: false,
180
  preinit : {
181
  Init: function(up, info) {
@@ -492,10 +497,6 @@ class nggAddGallery {
492
  </div>
493
  <p class="ngg-dragdrop-info howto" style="display:none;" ><?php _e('Or you can drop the files into this window.'); ?></p>
494
  <div id='uploadQueue'></div>
495
- <p><label><input name="image_resize" type="checkbox" id="image_resize" value="true"<?php echo $checked; ?> />
496
- <?php printf( __( 'Scale images to max width %1$dpx or max height %2$dpx', 'nggallery' ), (int) $ngg->options['imgWidth' ], (int) $ngg->options[ 'imgHeight' ] ); ?>
497
- </label>
498
- </p>
499
  </div>
500
  </td>
501
  <?php } else { ?>
154
  <!-- plupload script -->
155
  <script type="text/javascript">
156
  //<![CDATA[
 
 
157
 
158
  jQuery(document).ready(function($) {
159
  window.uploader = new plupload.Uploader({
174
  multipart_params : {
175
  <?php echo $post_params_str; ?>
176
  },
177
+ <?php if ($ngg->options['imgAutoResize'] == 1) { ?>
178
+ resize: {
179
+ width: <?php echo esc_js( $ngg->options['imgWidth'] ); ?>,
180
+ height: <?php echo esc_js( $ngg->options['imgHeight'] ); ?>,
181
+ quality: 100
182
+ },
183
+ <?php } ?>
184
  debug: false,
185
  preinit : {
186
  Init: function(up, info) {
497
  </div>
498
  <p class="ngg-dragdrop-info howto" style="display:none;" ><?php _e('Or you can drop the files into this window.'); ?></p>
499
  <div id='uploadQueue'></div>
 
 
 
 
500
  </div>
501
  </td>
502
  <?php } else { ?>
admin/admin.php CHANGED
@@ -122,7 +122,11 @@ class nggAdminPanel{
122
 
123
  // integrate the menu
124
  function add_menu() {
125
- add_menu_page( __( 'Galleries', 'nggallery' ), __( 'Galleries', 'nggallery' ), 'NextGEN Gallery overview', NGGFOLDER, array (&$this, 'show_menu'), 'dashicons-format-gallery' );
 
 
 
 
126
  add_submenu_page( NGGFOLDER , __('Overview', 'nggallery'), __('Overview', 'nggallery'), 'NextGEN Gallery overview', NGGFOLDER, array (&$this, 'show_menu'));
127
  add_submenu_page( NGGFOLDER , __('Add Gallery / Images', 'nggallery'), __('Add Gallery / Images', 'nggallery'), 'NextGEN Upload images', 'nggallery-add-gallery', array (&$this, 'show_menu'));
128
  add_submenu_page( NGGFOLDER , __('Galleries', 'nggallery'), __('Galleries', 'nggallery'), 'NextGEN Manage gallery', 'nggallery-manage-gallery', array (&$this, 'show_menu'));
122
 
123
  // integrate the menu
124
  function add_menu() {
125
+ if ( get_bloginfo( 'version' ) >= 3.8 ) {
126
+ add_menu_page( __( 'Galleries', 'nggallery' ), __( 'Galleries', 'nggallery' ), 'NextGEN Gallery overview', NGGFOLDER, array (&$this, 'show_menu'), 'dashicons-format-gallery' );
127
+ } else {
128
+ add_menu_page( __( 'Galleries', 'nggallery' ), __( 'Galleries', 'nggallery' ), 'NextGEN Gallery overview', NGGFOLDER, array (&$this, 'show_menu'), path_join(NGGALLERY_URLPATH, 'admin/images/nextgen_16_color.png') );
129
+ }
130
  add_submenu_page( NGGFOLDER , __('Overview', 'nggallery'), __('Overview', 'nggallery'), 'NextGEN Gallery overview', NGGFOLDER, array (&$this, 'show_menu'));
131
  add_submenu_page( NGGFOLDER , __('Add Gallery / Images', 'nggallery'), __('Add Gallery / Images', 'nggallery'), 'NextGEN Upload images', 'nggallery-add-gallery', array (&$this, 'show_menu'));
132
  add_submenu_page( NGGFOLDER , __('Galleries', 'nggallery'), __('Galleries', 'nggallery'), 'NextGEN Manage gallery', 'nggallery-manage-gallery', array (&$this, 'show_menu'));
admin/css/jquery.ui.css CHANGED
@@ -21,16 +21,6 @@
21
  /* end clearfix */
22
  .ui-helper-zfix { width: 100%; height: 100%; top: 0; left: 0; position: absolute; opacity: 0; filter:Alpha(Opacity=0); }
23
 
24
- /* Component containers
25
- ----------------------------------*/
26
- .ui-widget { font-family: Verdana,Arial,sans-serif; font-size: 1.1em; }
27
- .ui-widget .ui-widget { font-size: 1em; }
28
- .ui-widget input, .ui-widget select, .ui-widget textarea, .ui-widget button { font-family: Verdana,Arial,sans-serif; font-size: 1em; }
29
- .ui-widget-content { border: 1px solid #aaaaaa; background: #ffffff url(images/ui-bg_flat_75_ffffff_40x100.png) 50% 50% repeat-x; color: #222222; }
30
- .ui-widget-content a { color: #222222; }
31
- .ui-widget-header { border: 1px solid #aaaaaa; background: #cccccc url(images/ui-bg_highlight-soft_75_cccccc_1x100.png) 50% 50% repeat-x; color: #222222; font-weight: bold; }
32
- .ui-widget-header a { color: #222222; }
33
-
34
  /* Interaction Cues
35
  ----------------------------------*/
36
  .ui-state-disabled { cursor: default !important; }
@@ -38,6 +28,10 @@
38
  /* Icons
39
  ----------------------------------*/
40
  .ui-icon-triangle-1-s { background-position: -64px -16px; }
 
 
 
 
41
 
42
  /* states and images */
43
  .ui-icon { display: block; text-indent: -99999px; overflow: hidden; background-repeat: no-repeat; margin-left: auto; margin-right: auto;}
21
  /* end clearfix */
22
  .ui-helper-zfix { width: 100%; height: 100%; top: 0; left: 0; position: absolute; opacity: 0; filter:Alpha(Opacity=0); }
23
 
 
 
 
 
 
 
 
 
 
 
24
  /* Interaction Cues
25
  ----------------------------------*/
26
  .ui-state-disabled { cursor: default !important; }
28
  /* Icons
29
  ----------------------------------*/
30
  .ui-icon-triangle-1-s { background-position: -64px -16px; }
31
+ .ui-icon-circle-triangle-e { background-position: -48px -192px; }
32
+ .ui-icon-circle-triangle-s { background-position: -64px -192px; }
33
+ .ui-icon-circle-triangle-w { background-position: -80px -192px; }
34
+ .ui-icon-circle-triangle-n { background-position: -96px -192px; }
35
 
36
  /* states and images */
37
  .ui-icon { display: block; text-indent: -99999px; overflow: hidden; background-repeat: no-repeat; margin-left: auto; margin-right: auto;}
admin/css/jquery.ui.datepicker.css CHANGED
@@ -7,8 +7,10 @@
7
  *
8
  * http://docs.jquery.com/UI/Datepicker#theming
9
  */
10
- .ui-datepicker { width: 17em; padding: .2em .2em 0; display: none; }
11
- .ui-datepicker .ui-datepicker-header { position:relative; padding:.2em 0; }
 
 
12
  .ui-datepicker .ui-datepicker-prev, .ui-datepicker .ui-datepicker-next { position:absolute; top: 2px; width: 1.8em; height: 1.8em; }
13
  .ui-datepicker .ui-datepicker-prev-hover, .ui-datepicker .ui-datepicker-next-hover { top: 1px; }
14
  .ui-datepicker .ui-datepicker-prev { left:2px; }
7
  *
8
  * http://docs.jquery.com/UI/Datepicker#theming
9
  */
10
+
11
+ .ui-datepicker a { color: #222222; }
12
+ .ui-datepicker { width: 17em; padding: .2em .2em 0; display: none; border: 1px solid #aaaaaa; background: #ffffff; }
13
+ .ui-datepicker .ui-datepicker-header { position:relative; padding:.2em 0; background: #cccccc; }
14
  .ui-datepicker .ui-datepicker-prev, .ui-datepicker .ui-datepicker-next { position:absolute; top: 2px; width: 1.8em; height: 1.8em; }
15
  .ui-datepicker .ui-datepicker-prev-hover, .ui-datepicker .ui-datepicker-next-hover { top: 1px; }
16
  .ui-datepicker .ui-datepicker-prev { left:2px; }
admin/install.php CHANGED
@@ -40,7 +40,7 @@ function nggallery_install () {
40
  // add charset & collate like wp core
41
  $charset_collate = '';
42
 
43
- if ( version_compare(mysql_get_server_info(), '4.1.0', '>=') ) {
44
  if ( ! empty($wpdb->charset) )
45
  $charset_collate = "DEFAULT CHARACTER SET $wpdb->charset";
46
  if ( ! empty($wpdb->collate) )
40
  // add charset & collate like wp core
41
  $charset_collate = '';
42
 
43
+ if ( version_compare($wpdb->get_var("SELECT VERSION() AS `mysql_version`"), '4.1.0', '>=') ) {
44
  if ( ! empty($wpdb->charset) )
45
  $charset_collate = "DEFAULT CHARACTER SET $wpdb->charset";
46
  if ( ! empty($wpdb->collate) )
admin/js/plupload.handler.js CHANGED
@@ -24,6 +24,7 @@ function initUploader() {
24
  }*/
25
 
26
  // enable or disable the resize feature
 
27
  jQuery('#image_resize').bind('change', function() {
28
  var arg = jQuery(this).prop('checked');
29
  setResize( arg );
@@ -36,6 +37,7 @@ function initUploader() {
36
 
37
  // get user settings from cookie
38
  setResize( getUserSetting('ngg_upload_resize', false) );
 
39
 
40
  if ( uploader.features.dragdrop )
41
  jQuery('.ngg-dragdrop-info').show();
@@ -169,7 +171,7 @@ function uploadError(fileObj, errorCode, message) {
169
  jQuery("#" + fileObj.id).remove();
170
  }
171
 
172
- // client side resize feature
173
  function setResize(arg) {
174
  if ( arg ) {
175
  debug('[enable resize]');
@@ -183,6 +185,7 @@ function setResize(arg) {
183
  delete(uploader.settings.multipart_params.image_resize);
184
  }
185
  }
 
186
 
187
  function debug() {
188
  if ( uploader.settings.debug ) {
24
  }*/
25
 
26
  // enable or disable the resize feature
27
+ /*
28
  jQuery('#image_resize').bind('change', function() {
29
  var arg = jQuery(this).prop('checked');
30
  setResize( arg );
37
 
38
  // get user settings from cookie
39
  setResize( getUserSetting('ngg_upload_resize', false) );
40
+ */
41
 
42
  if ( uploader.features.dragdrop )
43
  jQuery('.ngg-dragdrop-info').show();
171
  jQuery("#" + fileObj.id).remove();
172
  }
173
 
174
+ /* client side resize feature
175
  function setResize(arg) {
176
  if ( arg ) {
177
  debug('[enable resize]');
185
  delete(uploader.settings.multipart_params.image_resize);
186
  }
187
  }
188
+ */
189
 
190
  function debug() {
191
  if ( uploader.settings.debug ) {
admin/manage-galleries.php CHANGED
@@ -411,7 +411,7 @@ class _NGG_Galleries_List_Table extends WP_List_Table {
411
  $columns['description'] = __('Description', 'nggallery');
412
  $columns['author'] = __('Author', 'nggallery');
413
  $columns['page_id'] = __('Page ID', 'nggallery');
414
- $columns['quantity'] = '<div class="images-grey-bubble" title="' . __( 'Images', 'nggallery' ) . '"></div>';
415
 
416
  $columns = apply_filters('ngg_manage_gallery_columns', $columns);
417
 
411
  $columns['description'] = __('Description', 'nggallery');
412
  $columns['author'] = __('Author', 'nggallery');
413
  $columns['page_id'] = __('Page ID', 'nggallery');
414
+ $columns['quantity'] = __( 'Images', 'nggallery' );
415
 
416
  $columns = apply_filters('ngg_manage_gallery_columns', $columns);
417
 
admin/manage-images.php CHANGED
@@ -107,6 +107,7 @@ jQuery(function (){
107
  jQuery(this).siblings(".date").toggle();
108
  jQuery(this).toggle();
109
  jQuery(".change").toggle();
 
110
  }
111
  });
112
 
@@ -275,9 +276,9 @@ jQuery(document).ready( function() {
275
  <div class="inside">
276
  <table class="form-table" id="gallery-properties">
277
  <tr>
278
- <td align="left"><?php _e('Title') ?>:</th>
279
- <td align="left"><input <?php nggGallery::current_user_can_form( 'NextGEN Edit gallery title' ); ?> type="text" size="50" name="title" value="<?php echo $gallery->title; ?>" /></th>
280
- <td align="right"><?php _e('Page Link to', 'nggallery') ?>:</th>
281
  <td align="left">
282
  <select <?php nggGallery::current_user_can_form( 'NextGEN Edit gallery page id' ); ?> name="pageid" style="width:95%">
283
  <option value="0" ><?php _e('Not linked', 'nggallery') ?></option>
@@ -285,12 +286,12 @@ jQuery(document).ready( function() {
285
  <?php parent_dropdown(intval($gallery->pageid)); ?>
286
  <?php error_reporting($err); ?>
287
  </select>
288
- </th>
289
  </tr>
290
  <tr>
291
- <td align="left"><?php _e('Description') ?>:</th>
292
- <td align="left"><textarea <?php nggGallery::current_user_can_form( 'NextGEN Edit gallery description' ); ?> name="gallerydesc" cols="30" rows="3" style="width: 95%" ><?php echo $gallery->galdesc; ?></textarea></th>
293
- <td align="right"><?php _e('Preview image', 'nggallery') ?>:</th>
294
  <td align="left">
295
  <select <?php nggGallery::current_user_can_form( 'NextGEN Edit gallery preview pic' ); ?> name="previewpic" style="width:95%" >
296
  <option value="0" ><?php _e('No Picture', 'nggallery') ?></option>
@@ -312,12 +313,12 @@ jQuery(document).ready( function() {
312
  }
313
  ?>
314
  </select>
315
- </th>
316
  </tr>
317
  <tr>
318
- <td align="left"><?php _e('Path', 'nggallery') ?>:</th>
319
- <td align="left"><input <?php if ( is_multisite() ) echo 'readonly = "readonly"'; ?> <?php nggGallery::current_user_can_form( 'NextGEN Edit gallery path' ); ?> type="text" size="50" name="path" value="<?php echo $gallery->path; ?>" /></th>
320
- <td align="right"><?php _e('Author', 'nggallery'); ?>:</th>
321
  <td align="left">
322
  <?php
323
  $editable_ids = $ngg->manage_page->get_editable_user_ids( $user_ID );
@@ -326,13 +327,13 @@ jQuery(document).ready( function() {
326
  else
327
  echo $act_author_user->display_name;
328
  ?>
329
- </th>
330
  </tr>
331
  <?php if(current_user_can( 'publish_pages' )) : ?>
332
  <tr>
333
- <td align="left">&nbsp;</th>
334
- <td align="left">&nbsp;</th>
335
- <td align="right"><?php _e('Create new page', 'nggallery') ?>:</th>
336
  <td align="left">
337
  <select name="parent_id" style="width:95%">
338
  <option value="0"><?php _e ('Main page (No parent)', 'nggallery'); ?></option>
@@ -341,7 +342,7 @@ jQuery(document).ready( function() {
341
  <?php endif ?>
342
  </select>
343
  <input class="button-secondary action" type="submit" name="addnewpage" value="<?php _e ('Add page', 'nggallery'); ?>" id="group"/>
344
- </th>
345
  </tr>
346
  <?php endif; ?>
347
  <?php do_action('ngg_manage_gallery_settings', $act_gid); ?>
@@ -501,8 +502,8 @@ if($picturelist) {
501
  case 'alt_title_desc' :
502
  ?>
503
  <td <?php echo $attributes ?>>
504
- <input placeholder="<?php _e("Alt & title text",'nggallery'); ?>" name="alttext[<?php echo $pid ?>]" type="text" style="width:95%; margin-bottom: 2px;" value="<?php echo stripslashes($picture->alttext) ?>" /><br/>
505
- <textarea placeholder="<?php _e("Description",'nggallery'); ?>" name="description[<?php echo $pid ?>]" style="width:95%; margin: 1px;" rows="2" ><?php echo stripslashes($picture->description) ?></textarea>
506
  </td>
507
  <?php
508
  break;
107
  jQuery(this).siblings(".date").toggle();
108
  jQuery(this).toggle();
109
  jQuery(".change").toggle();
110
+ jQuery(this).datepicker("hide"); //Hide the datepicker in case user pressed enter
111
  }
112
  });
113
 
276
  <div class="inside">
277
  <table class="form-table" id="gallery-properties">
278
  <tr>
279
+ <td align="left"><?php _e('Title') ?>:</td>
280
+ <td align="left"><input <?php nggGallery::current_user_can_form( 'NextGEN Edit gallery title' ); ?> type="text" size="50" name="title" value="<?php echo $gallery->title; ?>" /></td>
281
+ <td align="right"><?php _e('Page Link to', 'nggallery') ?>:</td>
282
  <td align="left">
283
  <select <?php nggGallery::current_user_can_form( 'NextGEN Edit gallery page id' ); ?> name="pageid" style="width:95%">
284
  <option value="0" ><?php _e('Not linked', 'nggallery') ?></option>
286
  <?php parent_dropdown(intval($gallery->pageid)); ?>
287
  <?php error_reporting($err); ?>
288
  </select>
289
+ </td>
290
  </tr>
291
  <tr>
292
+ <td align="left"><?php _e('Description') ?>:</td>
293
+ <td align="left"><textarea <?php nggGallery::current_user_can_form( 'NextGEN Edit gallery description' ); ?> name="gallerydesc" cols="30" rows="3" style="width: 95%" ><?php echo $gallery->galdesc; ?></textarea></td>
294
+ <td align="right"><?php _e('Preview image', 'nggallery') ?>:</td>
295
  <td align="left">
296
  <select <?php nggGallery::current_user_can_form( 'NextGEN Edit gallery preview pic' ); ?> name="previewpic" style="width:95%" >
297
  <option value="0" ><?php _e('No Picture', 'nggallery') ?></option>
313
  }
314
  ?>
315
  </select>
316
+ </td>
317
  </tr>
318
  <tr>
319
+ <td align="left"><?php _e('Path', 'nggallery') ?>:</td>
320
+ <td align="left"><input <?php if ( is_multisite() ) echo 'readonly = "readonly"'; ?> <?php nggGallery::current_user_can_form( 'NextGEN Edit gallery path' ); ?> type="text" size="50" name="path" value="<?php echo $gallery->path; ?>" /></td>
321
+ <td align="right"><?php _e('Author', 'nggallery'); ?>:</td>
322
  <td align="left">
323
  <?php
324
  $editable_ids = $ngg->manage_page->get_editable_user_ids( $user_ID );
327
  else
328
  echo $act_author_user->display_name;
329
  ?>
330
+ </td>
331
  </tr>
332
  <?php if(current_user_can( 'publish_pages' )) : ?>
333
  <tr>
334
+ <td align="left">&nbsp;</td>
335
+ <td align="left">&nbsp;</td>
336
+ <td align="right"><?php _e('Create new page', 'nggallery') ?>:</td>
337
  <td align="left">
338
  <select name="parent_id" style="width:95%">
339
  <option value="0"><?php _e ('Main page (No parent)', 'nggallery'); ?></option>
342
  <?php endif ?>
343
  </select>
344
  <input class="button-secondary action" type="submit" name="addnewpage" value="<?php _e ('Add page', 'nggallery'); ?>" id="group"/>
345
+ </td>
346
  </tr>
347
  <?php endif; ?>
348
  <?php do_action('ngg_manage_gallery_settings', $act_gid); ?>
502
  case 'alt_title_desc' :
503
  ?>
504
  <td <?php echo $attributes ?>>
505
+ <input placeholder="<?php _e("Alt & title text",'nggallery'); ?>" name="alttext[<?php echo $pid ?>]" type="text" style="width:95%; margin-bottom: 2px;" value="<?php echo sanitize_text_field (stripslashes($picture->alttext)); ?>" /><br/>
506
+ <textarea placeholder="<?php _e("Description",'nggallery'); ?>" name="description[<?php echo $pid ?>]" style="width:95%; margin: 1px;" rows="2" ><?php echo sanitize_text_field (stripslashes($picture->description)); ?></textarea>
507
  </td>
508
  <?php
509
  break;
admin/settings.php CHANGED
@@ -696,7 +696,7 @@ class nggOptions {
696
  <tr>
697
  <th><?php _e('Default size','nggallery') ?></th>
698
  <td><label for="irWidth"><?php _e('Width','nggallery') ?></label>
699
- <input type="number" step="1" min="0" class="small-text" name="irWidth" value="<?php echo $ngg->options['irWidth']; ?> " />
700
  <label for="irHeight"><?php _e('Height','nggallery') ?></label>
701
  <input type="number" step="1" min="0" class="small-text" name="irHeight" value="<?php echo $ngg->options['irHeight']; ?>" />
702
  </td>
696
  <tr>
697
  <th><?php _e('Default size','nggallery') ?></th>
698
  <td><label for="irWidth"><?php _e('Width','nggallery') ?></label>
699
+ <input type="number" step="1" min="0" class="small-text" name="irWidth" value="<?php echo $ngg->options['irWidth']; ?>" />
700
  <label for="irHeight"><?php _e('Height','nggallery') ?></label>
701
  <input type="number" step="1" min="0" class="small-text" name="irHeight" value="<?php echo $ngg->options['irHeight']; ?>" />
702
  </td>
admin/tinymce/editor_plugin.js CHANGED
@@ -2,7 +2,7 @@
2
 
3
  (function() {
4
  // Load plugin specific language pack
5
- tinymce.PluginManager.requireLangPack('NextGEN');
6
 
7
  tinymce.create('tinymce.plugins.NextGEN', {
8
  /**
@@ -19,7 +19,7 @@
19
  ed.addCommand('mceNextGEN', function() {
20
  ed.windowManager.open({
21
  // call content via admin-ajax, no need to know the full plugin path
22
- file : ajaxurl + '?action=ngg_tinymce',
23
  width : 360 + ed.getLang('NextGEN.delta_width', 0),
24
  height : 210 + ed.getLang('NextGEN.delta_height', 0),
25
  inline : 1
@@ -32,13 +32,14 @@
32
  ed.addButton('NextGEN', {
33
  title : 'NextGEN.desc',
34
  cmd : 'mceNextGEN',
35
- image : url + '/nextgen.gif'
 
36
  });
37
 
38
  // Add a node change handler, selects the button in the UI when a image is selected
39
- ed.onNodeChange.add(function(ed, cm, n) {
40
- cm.setActive('NextGEN', n.nodeName == 'IMG');
41
- });
42
  },
43
 
44
  /**
@@ -74,4 +75,4 @@
74
 
75
  // Register plugin
76
  tinymce.PluginManager.add('NextGEN', tinymce.plugins.NextGEN);
77
- })();
2
 
3
  (function() {
4
  // Load plugin specific language pack
5
+ //tinymce.PluginManager.requireLangPack('NextGEN');
6
 
7
  tinymce.create('tinymce.plugins.NextGEN', {
8
  /**
19
  ed.addCommand('mceNextGEN', function() {
20
  ed.windowManager.open({
21
  // call content via admin-ajax, no need to know the full plugin path
22
+ url : ajaxurl + '?action=ngg_tinymce',
23
  width : 360 + ed.getLang('NextGEN.delta_width', 0),
24
  height : 210 + ed.getLang('NextGEN.delta_height', 0),
25
  inline : 1
32
  ed.addButton('NextGEN', {
33
  title : 'NextGEN.desc',
34
  cmd : 'mceNextGEN',
35
+ image : url + '/nextgen.gif',
36
+ stateSelector: 'img'
37
  });
38
 
39
  // Add a node change handler, selects the button in the UI when a image is selected
40
+ //ed.onNodeChange.add(function(ed, cm, n) {
41
+ // cm.setActive('NextGEN', n.nodeName == 'IMG');
42
+ //});
43
  },
44
 
45
  /**
75
 
76
  // Register plugin
77
  tinymce.PluginManager.add('NextGEN', tinymce.plugins.NextGEN);
78
+ })();
admin/tinymce/tinymce.js CHANGED
@@ -64,7 +64,8 @@ function insertNGGLink() {
64
  }
65
 
66
  if(window.tinyMCE) {
67
- window.tinyMCE.execInstanceCommand(window.tinyMCE.activeEditor.id, 'mceInsertContent', false, tagtext);
 
68
  //Peforms a clean up of the current editor HTML.
69
  //tinyMCEPopup.editor.execCommand('mceCleanup');
70
  //Repaints the editor. Sometimes the browser has graphic glitches.
@@ -72,4 +73,4 @@ function insertNGGLink() {
72
  tinyMCEPopup.close();
73
  }
74
  return;
75
- }
64
  }
65
 
66
  if(window.tinyMCE) {
67
+ tinyMCEPopup.editor.execCommand('mceInsertContent', false, tagtext);
68
+ //window.tinyMCE.execInstanceCommand(window.tinyMCE.activeEditor.id, 'mceInsertContent', false, tagtext);
69
  //Peforms a clean up of the current editor HTML.
70
  //tinyMCEPopup.editor.execCommand('mceCleanup');
71
  //Repaints the editor. Sometimes the browser has graphic glitches.
73
  tinyMCEPopup.close();
74
  }
75
  return;
76
+ }
css/nggallery.css CHANGED
@@ -396,8 +396,4 @@ li.ngg-next a, li.ngg-prev a {
396
  padding-top: 10px;
397
  border: none;
398
  text-decoration: none;
399
- }
400
-
401
- #TB_window {
402
- z-index: 9999 !important;
403
  }
396
  padding-top: 10px;
397
  border: none;
398
  text-decoration: none;
 
 
 
 
399
  }
nggallery.php CHANGED
@@ -5,11 +5,11 @@ Plugin URI: http://www.wpgetready.com/nextcellent-gallery
5
  Description: A Photo Gallery for WordPress providing NextGEN legacy compatibility from version 1.9.13
6
  Author: WPGReady based on Alex Rabe & PhotoCrati work.
7
  Author URI: http://www.wpgetready.com
8
- Version: 1.9.17
9
 
10
  Copyright (c) 2007-2011 by Alex Rabe & NextGEN DEV-Team
11
  Copyright (c) 2012 Photocrati Media
12
- Copyright (c) 2013 WPGetReady
13
 
14
  This program is free software; you can redistribute it and/or modify
15
  it under the terms of the GNU General Public License as published by
@@ -48,7 +48,7 @@ check_nextgen::nextgen_activated();
48
  if (!class_exists('nggLoader')) {
49
  class nggLoader {
50
 
51
- var $version = '1.9.17';
52
  var $dbversion = '1.8.1';
53
  var $minimum_WP = '3.5';
54
  //TODO: to be removed next iterations, since Photocrati disabled
5
  Description: A Photo Gallery for WordPress providing NextGEN legacy compatibility from version 1.9.13
6
  Author: WPGReady based on Alex Rabe & PhotoCrati work.
7
  Author URI: http://www.wpgetready.com
8
+ Version: 1.9.18
9
 
10
  Copyright (c) 2007-2011 by Alex Rabe & NextGEN DEV-Team
11
  Copyright (c) 2012 Photocrati Media
12
+ Copyright (c) 2013-2014 WPGetReady
13
 
14
  This program is free software; you can redistribute it and/or modify
15
  it under the terms of the GNU General Public License as published by
48
  if (!class_exists('nggLoader')) {
49
  class nggLoader {
50
 
51
+ var $version = '1.9.18';
52
  var $dbversion = '1.8.1';
53
  var $minimum_WP = '3.5';
54
  //TODO: to be removed next iterations, since Photocrati disabled
readme.txt CHANGED
@@ -2,7 +2,7 @@
2
  Contributors: WPGetReady
3
  Tags:gallery,image,images,photo,photos,picture,pictures,slideshow,flash,media,thumbnails,photo-albums,NextGEN-gallery,NextGEN,nextcellent-gallery,nextcellent
4
  Requires at least: 3.5
5
- Tested up to: 3.8.1
6
  Stable tag: trunk
7
  License: GPLv2
8
 
@@ -10,17 +10,16 @@ License: GPLv2
10
 
11
  = WordPress Gallery Plugin =
12
 
13
- = V1.9.17 - 17.03.2014 =
14
 
15
  What's in it for you?
16
 
17
- * Fixes to layout and more (credits to Niko Strijbol)
18
- * Added ability to change image upload + Ajax (credits to Richard Bale)
19
- * Russian translation (credits to Vladimir Vasilenko)
20
- * Finnish translation (credits to Vesa Tiirikainen)
21
- * Album and gallery template extension (currently in revision, credits to Stefano Sudati)
22
- * Improved nggtags shortcode implementing Tony Howden's suggestions (see http://howden.net.au/thowden/2012/12/nextgen-gallery-wordpress-nggtags-template-caption-option/)
23
- added modes ASC,DESC and RAND
24
 
25
  VERY IMPORTANT: Read ON!
26
  -----------------------
@@ -329,6 +328,14 @@ Yes, since we use Javascript rather than flash, NextCellent Gallery is compatibl
329
 
330
  == Changelog ==
331
 
 
 
 
 
 
 
 
 
332
  = V1.9.17 - 17.03.2014 =
333
  * Fixes to layout and more (credits to Niko Strijbol)
334
  * Added ability to change image upload + Ajax (credits to Richard Bale)
2
  Contributors: WPGetReady
3
  Tags:gallery,image,images,photo,photos,picture,pictures,slideshow,flash,media,thumbnails,photo-albums,NextGEN-gallery,NextGEN,nextcellent-gallery,nextcellent
4
  Requires at least: 3.5
5
+ Tested up to: 3.9
6
  Stable tag: trunk
7
  License: GPLv2
8
 
10
 
11
  = WordPress Gallery Plugin =
12
 
13
+ = V1.9.18 - 23.04.2014 =
14
 
15
  What's in it for you?
16
 
17
+ * Fixes compatibility with TinyMCE 1.4, for WordPress 3.9. (credits to Niko Strijbol)
18
+ * Fixes use of mysql_*(), which isn't allowed anymore. (credits to Niko Strijbol)
19
+ * Fixes some style stuff from the datepicker interfering with the style of the tabs. (credits to Niko Strijbol)
20
+ * Fixes "flash" upload. This does remove the resize option, but it wasn't working anyway. (credits to Niko Strijbol)
21
+ * Vulnerability fix: data isn't properly sanitized before being printed ona Alt & Title (credits to Larry W. Cashdollar)
22
+ * Changing date for uploaded images improved (credits to Richard Bale)
 
23
 
24
  VERY IMPORTANT: Read ON!
25
  -----------------------
328
 
329
  == Changelog ==
330
 
331
+ = V1.9.18 - 23.04.2014 =
332
+ * Fixes compatibility with TinyMCE 1.4, for WordPress 3.9. (credits to Niko Strijbol)
333
+ * Fixes use of mysql_*(), which isn't allowed anymore. (credits to Niko Strijbol)
334
+ * Fixes some style stuff from the datepicker interfering with the style of the tabs. (credits to Niko Strijbol)
335
+ * Fixes "flash" upload. This does remove the resize option, but it wasn't working anyway. (credits to Niko Strijbol)
336
+ * Vulnerability fix: data isn't properly sanitized before being printed ona Alt & Title (credits to Larry W. Cashdollar)
337
+ * Changing date for uploaded images improved (credits to Richard Bale)
338
+
339
  = V1.9.17 - 17.03.2014 =
340
  * Fixes to layout and more (credits to Niko Strijbol)
341
  * Added ability to change image upload + Ajax (credits to Richard Bale)