Simple Image Sizes - Version 2.2

Version Description

Download this release

Release Info

Developer Rahe
Plugin Icon wp plugin Simple Image Sizes
Version 2.2
Comparing to
See all releases

Code changes from version 2.1 to 2.2

css/sis-style.css CHANGED
@@ -18,6 +18,16 @@
18
  line-height: 39px;
19
  text-align: center;
20
  }
 
 
 
 
 
 
 
 
 
 
21
  tr{
22
  -webkit-transition: all .5s ease-in-out;
23
  -moz-transition: all .5s ease-in-out;
18
  line-height: 39px;
19
  text-align: center;
20
  }
21
+ input.h,input.w{
22
+ border-color: #DFDFDF;
23
+ background-color: white;
24
+ border-width: 1px;
25
+ border-style: solid;
26
+ -moz-border-radius: 3px;
27
+ -khtml-border-radius: 3px;
28
+ -webkit-border-radius: 3px;
29
+ border-radius: 3px;
30
+ }
31
  tr{
32
  -webkit-transition: all .5s ease-in-out;
33
  -moz-transition: all .5s ease-in-out;
inc/class.admin.php CHANGED
@@ -20,6 +20,9 @@ Class SISAdmin {
20
 
21
  // Add link in plugins list
22
  add_filter('plugin_action_links', array( &$this,'addSettingsLink'), 10, 2 );
 
 
 
23
  }
24
 
25
  /**
@@ -32,7 +35,7 @@ Class SISAdmin {
32
  public function registerScripts($hook_suffix = '' ) {
33
  if( isset( $hook_suffix ) && $hook_suffix == 'options-media.php' ) {
34
  // Add javascript
35
- wp_enqueue_script( 'sis-jquery-ui-sis', SIS_URL.'js/jquery-ui-1.8.12.custom.min.js', array('jquery'), '1.8.12' );
36
  wp_enqueue_script( 'sis_js', SIS_URL.'js/sis.min.js', array('jquery','sis-jquery-ui-sis'), SIS_VERSION );
37
 
38
  // Add javascript translation
@@ -41,6 +44,12 @@ Class SISAdmin {
41
  // Add CSS
42
  wp_enqueue_style( 'jquery-ui-sis', SIS_URL.'css/Aristo/jquery-ui-1.8.7.custom.css', array(), '1.8.7' );
43
  wp_enqueue_style( 'sis_css', SIS_URL.'css/sis-style.css', array(), SIS_VERSION );
 
 
 
 
 
 
44
  }
45
  }
46
 
@@ -53,33 +62,55 @@ Class SISAdmin {
53
  */
54
  public function localizeVars() {
55
  return array(
56
- 'ajaxUrl' => admin_url( '/admin-ajax.php' ),
57
- 'reading' => __( 'Reading attachments...', 'sis' ),
58
- 'maximumWidth' => __( 'Maximum width', 'sis' ),
59
- 'maximumHeight' => __( 'Maximum height', 'sis' ),
60
- 'crop' => __( 'Crop ?', 'sis' ),
61
- 'tr' => __( 'yes', 'sis' ),
62
- 'fl' => __( 'no', 'sis' ),
63
- 'show' => __( 'Show in post insertion ?', 'sis' ),
64
- 'of' => __( ' of ', 'sis' ),
65
- 'or' => __( ' or ', 'sis' ),
66
- 'beforeEnd' => __( ' before the end.', 'sis' ),
67
- 'deleteImage' => __( 'Delete', 'sis' ),
68
- 'noMedia' => __( 'No media in your site to regenerate !', 'sis' ),
69
- 'regenerating' => __( 'Regenerating ', 'sis'),
70
- 'validate' => __( 'Validate image size name', 'sis' ),
71
- 'done' => __( 'Done.', 'sis' ),
72
- 'size' => __( 'Size', 'sis' ),
73
- 'notOriginal' => __( 'Don\'t use the basic Wordpress thumbnail size name, use the form above to edit them', 'sis' ),
74
- 'alreadyPresent' => __( 'This size is already registered, edit it instead of recreating it.', 'sis' ),
75
- 'confirmDelete' => __( 'Do you really want to delete these size ?', 'sis' ),
76
- 'update' => __( 'Update', 'sis' ),
77
- 'ajaxErrorHandler' => __( 'Error requesting page', 'sis' ),
78
  'messageRegenerated' => __( 'images have been regenerated !', 'sis' ),
79
- 'validateButton' => __( 'Validate', 'sis' ),
 
 
 
 
 
80
  );
81
  }
82
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
83
  /**
84
  * Add a link to the setting option page
85
  *
@@ -143,7 +174,7 @@ Class SISAdmin {
143
  }
144
 
145
  // Add the setting field for this size
146
- add_settings_field( 'image_size_'.$s, __( 'Size ', 'sis' ).$s, array( &$this, 'imageSizes' ), 'media' , 'default', array( 'name' => $s , 'width' => $width , 'height' => $height, 'c' => $crop ) );
147
  }
148
 
149
  // Register the setting for media option page
@@ -187,32 +218,29 @@ Class SISAdmin {
187
  ?>
188
  <input type="hidden" value="<?php echo $args['name']; ?>" name="image_name" />
189
  <?php if( $custom ): ?>
190
- <span class="custom_size"> <?php _e( 'Custom size', 'sis'); ?> : </span>
191
- <input name="<?php echo esc_attr( 'custom_image_sizes['.$args['name'].'][custom]' ); ?>" type="hidden" id="<?php echo esc_attr( 'custom_image_sizes['.$args['name'].'][custom]' ); ?>" value="1" />
192
  <?php else: ?>
193
- <span class="theme_size"> <?php _e( 'Theme size', 'sis'); ?> : </span>
194
- <input name="<?php echo esc_attr( 'custom_image_sizes['.$args['name'].'][theme]' ); ?>" type="hidden" id="<?php echo esc_attr( 'custom_image_sizes['.$args['name'].'][theme]' ); ?>" value="1" />
195
  <?php endif; ?>
196
- <label for="<?php echo esc_attr( 'custom_image_sizes['.$args['name'].'][w]' ); ?>">
197
  <?php _e( 'Maximum width', 'sis'); ?>
198
- <input name="<?php echo esc_attr( 'custom_image_sizes['.$args['name'].'][w]' ); ?>" class='w' type="number" step='1' min='0' id="<?php echo esc_attr( 'custom_image_sizes['.$args['name'].'][w]' ); ?>" value="<?php echo esc_attr( $width); ?>" />
199
  </label>
200
 
201
- <label for="<?php echo esc_attr( 'custom_image_sizes['.$args['name'].'][h]' ); ?>">
202
  <?php _e( 'Maximum height', 'sis'); ?>
203
- <input name="<?php echo esc_attr( 'custom_image_sizes['.$args['name'].'][h]' ); ?>" class='h' type="number" step='1' min='0' id="<?php echo esc_attr( 'custom_image_sizes['.$args['name'].'][h]' ); ?>" value="<?php echo esc_attr( $height ); ?>" />
204
  </label>
205
 
206
  <div class="crop">
207
- <input type='checkbox' id="<?php echo esc_attr( 'custom_image_sizes['.$args['name'].'][c]' ); ?>" <?php checked( $crop, 1 ) ?> class="c" name="<?php echo esc_attr( 'custom_image_sizes['.$args['name'].'][c]' ); ?>" value="1" />
208
- <label for="<?php echo esc_attr( 'custom_image_sizes['.$args['name'].'][c]' ); ?>"><?php _e( 'Crop ?', 'sis'); ?></label>
209
  </div>
210
 
211
  <div class="show">
212
- <input type='checkbox' id="<?php echo esc_attr( 'custom_image_sizes['.$args['name'].'][s]'); ?>" <?php checked( $show, 1 ) ?> class="s" name="<?php echo esc_attr( 'custom_image_sizes['.$args['name'].'][s]'); ?>" value="1" />
213
- <label for="<?php echo esc_attr( 'custom_image_sizes['.$args['name'].'][s]'); ?>"><?php _e( 'Show in post insertion ?', 'sis'); ?></label>
214
  </div>
215
-
216
  <div class="delete_size"><?php _e( 'Delete', 'sis'); ?></div>
217
  <div class="add_size validate_size"><?php _e( 'Update', 'sis'); ?></div>
218
  <?php }
@@ -423,8 +451,8 @@ Class SISAdmin {
423
 
424
  // Check entries
425
  $name = isset( $_POST['name'] ) ? remove_accents ( $_POST['name'] ): '' ;
426
- $height = !isset( $_POST['height'] )? 0 : (int)$_POST['height'];
427
- $width = !isset( $_POST['width'] )? 0 : (int)$_POST['width'];
428
  $crop = isset( $_POST['crop'] ) && $_POST['crop'] == 'false' ? false : true;
429
  $show = isset( $_POST['show'] ) && $_POST['show'] == 'false' ? false : true;
430
 
@@ -433,7 +461,7 @@ Class SISAdmin {
433
  echo 0;
434
  die();
435
  }
436
-
437
  // Make values
438
  $values = array( 'custom' => 1, 'w' => $width , 'h' => $height, 'c' => $crop, 's' => $show );
439
 
@@ -599,6 +627,8 @@ Class SISAdmin {
599
  */
600
  public function wp_generate_attachment_metadata_custom( $attachment_id, $file, $thumbnails = NULL ) {
601
  $attachment = get_post( $attachment_id );
 
 
602
 
603
  $metadata = array();
604
  if ( preg_match('!^image/!', get_post_mime_type( $attachment )) && file_is_displayable_image($file) ) {
@@ -634,15 +664,27 @@ Class SISAdmin {
634
 
635
  foreach ( $sizes as $size => $size_data ) {
636
  if( isset( $thumbnails ) )
637
- if( !in_array( $size, $thumbnails ) )
638
  continue;
 
639
 
640
  $resized = image_make_intermediate_size( $file, $size_data['width'], $size_data['height'], $size_data['crop'] );
641
-
 
 
 
642
  if ( $resized )
643
  $metadata['sizes'][$size] = $resized;
644
  }
645
-
 
 
 
 
 
 
 
 
646
  // fetch additional metadata from exif/iptc
647
  $image_meta = wp_read_image_metadata( $file );
648
  if ( $image_meta )
20
 
21
  // Add link in plugins list
22
  add_filter('plugin_action_links', array( &$this,'addSettingsLink'), 10, 2 );
23
+
24
+ // Add action in media row quick actions
25
+ add_filter( 'media_row_actions', array(&$this, 'addActionsList'), 10, 2 );
26
  }
27
 
28
  /**
35
  public function registerScripts($hook_suffix = '' ) {
36
  if( isset( $hook_suffix ) && $hook_suffix == 'options-media.php' ) {
37
  // Add javascript
38
+ wp_enqueue_script( 'sis-jquery-ui-sis', SIS_URL.'js/jquery-ui-1.8.16.custom.min.js', array('jquery'), '1.8.16' );
39
  wp_enqueue_script( 'sis_js', SIS_URL.'js/sis.min.js', array('jquery','sis-jquery-ui-sis'), SIS_VERSION );
40
 
41
  // Add javascript translation
44
  // Add CSS
45
  wp_enqueue_style( 'jquery-ui-sis', SIS_URL.'css/Aristo/jquery-ui-1.8.7.custom.css', array(), '1.8.7' );
46
  wp_enqueue_style( 'sis_css', SIS_URL.'css/sis-style.css', array(), SIS_VERSION );
47
+ } elseif( isset( $hook_suffix ) && $hook_suffix == 'upload.php' ) {
48
+ // Add javascript
49
+ wp_enqueue_script( 'sis_js', SIS_URL.'js/sis-attachments.min.js', array( 'jquery' ), SIS_VERSION );
50
+
51
+ // Add javascript translation
52
+ wp_localize_script( 'sis_js', 'sis', $this->localizeVars() );
53
  }
54
  }
55
 
62
  */
63
  public function localizeVars() {
64
  return array(
65
+ 'ajaxUrl' => admin_url( '/admin-ajax.php' ),
66
+ 'reading' => __( 'Reading attachments...', 'sis' ),
67
+ 'maximumWidth' => __( 'Maximum width', 'sis' ),
68
+ 'maximumHeight' => __( 'Maximum height', 'sis' ),
69
+ 'crop' => __( 'Crop ?', 'sis' ),
70
+ 'tr' => __( 'yes', 'sis' ),
71
+ 'fl' => __( 'no', 'sis' ),
72
+ 'show' => __( 'Show in post insertion ?', 'sis' ),
73
+ 'of' => __( ' of ', 'sis' ),
74
+ 'or' => __( ' or ', 'sis' ),
75
+ 'beforeEnd' => __( ' before the end.', 'sis' ),
76
+ 'deleteImage' => __( 'Delete', 'sis' ),
77
+ 'noMedia' => __( 'No media in your site to regenerate !', 'sis' ),
78
+ 'regenerating' => __( 'Regenerating ', 'sis'),
79
+ 'validate' => __( 'Validate image size name', 'sis' ),
80
+ 'done' => __( 'Done.', 'sis' ),
81
+ 'size' => __( 'Size', 'sis' ),
82
+ 'notOriginal' => __( 'Don\'t use the basic Wordpress thumbnail size name, use the form above to edit them', 'sis' ),
83
+ 'alreadyPresent' => __( 'This size is already registered, edit it instead of recreating it.', 'sis' ),
84
+ 'confirmDelete' => __( 'Do you really want to delete these size ?', 'sis' ),
85
+ 'update' => __( 'Update', 'sis' ),
86
+ 'ajaxErrorHandler' => __( 'Error requesting page', 'sis' ),
87
  'messageRegenerated' => __( 'images have been regenerated !', 'sis' ),
88
+ 'validateButton' => __( 'Validate', 'sis' ),
89
+ 'startedAt' => __( ' started at', 'sis' ),
90
+ 'finishedAt' => __( ' finished at :', 'sis' ),
91
+ 'phpError' => __( 'Error during the php treatment, be sure to not have php errors in your page', 'sis' ),
92
+ 'notSaved' => __( 'All the sizes you have modifed are not saved, continue anyway ?', 'sis' ),
93
+ 'soloRegenerated' => __( 'This image has been regenerated in %s seconds', 'sis' ),
94
  );
95
  }
96
 
97
+ /**
98
+ * Add action in media row
99
+ *
100
+ * @since 2.2
101
+ * @access public
102
+ * @return $actions : array of actions and content to display
103
+ * @author Nicolas Juen
104
+ */
105
+ function addActionsList( $actions, $object ) {
106
+
107
+ // Add action for regeneration
108
+ $actions['sis-regenerate'] = "<a href='#' class='sis-regenerate-one'>".__( 'Regenerate thumbnails', 'sis' )."</a>";
109
+
110
+ // Return actions
111
+ return $actions;
112
+ }
113
+
114
  /**
115
  * Add a link to the setting option page
116
  *
174
  }
175
 
176
  // Add the setting field for this size
177
+ add_settings_field( 'image_size_'.$s, sprintf( __( '%s size', 'sis' ), $s ), array( &$this, 'imageSizes' ), 'media' , 'default', array( 'name' => $s , 'width' => $width , 'height' => $height, 'c' => $crop ) );
178
  }
179
 
180
  // Register the setting for media option page
218
  ?>
219
  <input type="hidden" value="<?php echo $args['name']; ?>" name="image_name" />
220
  <?php if( $custom ): ?>
221
+ <input name="<?php esc_attr_e( 'custom_image_sizes['.$args['name'].'][custom]' ); ?>" type="hidden" id="<?php esc_attr_e( 'custom_image_sizes['.$args['name'].'][custom]' ); ?>" value="1" />
 
222
  <?php else: ?>
223
+ <input name="<?php esc_attr_e( 'custom_image_sizes['.$args['name'].'][theme]' ); ?>" type="hidden" id="<?php esc_attr_e( 'custom_image_sizes['.$args['name'].'][theme]' ); ?>" value="1" />
 
224
  <?php endif; ?>
225
+ <label for="<?php esc_attr_e( 'custom_image_sizes['.$args['name'].'][w]' ); ?>">
226
  <?php _e( 'Maximum width', 'sis'); ?>
227
+ <input name="<?php esc_attr_e( 'custom_image_sizes['.$args['name'].'][w]' ); ?>" class='w small-text' type="number" step='1' min='0' id="<?php esc_attr_e( 'custom_image_sizes['.$args['name'].'][w]' ); ?>" base_w='<?php esc_attr_e( $width ); ?>' value="<?php esc_attr_e( $width ); ?>" />
228
  </label>
229
 
230
+ <label for="<?php esc_attr_e( 'custom_image_sizes['.$args['name'].'][h]' ); ?>">
231
  <?php _e( 'Maximum height', 'sis'); ?>
232
+ <input name="<?php esc_attr_e( 'custom_image_sizes['.$args['name'].'][h]' ); ?>" class='h small-text' type="number" step='1' min='0' id="<?php esc_attr_e( 'custom_image_sizes['.$args['name'].'][h]' ); ?>" base_h='<?php esc_attr_e( $height ); ?>' value="<?php esc_attr_e( $height ); ?>" />
233
  </label>
234
 
235
  <div class="crop">
236
+ <input type='checkbox' id="<?php esc_attr_e( 'custom_image_sizes['.$args['name'].'][c]' ); ?>" <?php checked( $crop, 1 ) ?> class="c" base_c='<?php esc_attr_e( $crop ); ?>' name="<?php esc_attr_e( 'custom_image_sizes['.$args['name'].'][c]' ); ?>" value="1" />
237
+ <label for="<?php esc_attr_e( 'custom_image_sizes['.$args['name'].'][c]' ); ?>"><?php _e( 'Crop ?', 'sis'); ?></label>
238
  </div>
239
 
240
  <div class="show">
241
+ <input type='checkbox' id="<?php esc_attr_e( 'custom_image_sizes['.$args['name'].'][s]'); ?>" <?php checked( $show, 1 ) ?> class="s" base_s='<?php esc_attr_e( $show ); ?>' name="<?php esc_attr_e( 'custom_image_sizes['.$args['name'].'][s]'); ?>" value="1" />
242
+ <label for="<?php esc_attr_e( 'custom_image_sizes['.$args['name'].'][s]'); ?>"><?php _e( 'Show in post insertion ?', 'sis'); ?></label>
243
  </div>
 
244
  <div class="delete_size"><?php _e( 'Delete', 'sis'); ?></div>
245
  <div class="add_size validate_size"><?php _e( 'Update', 'sis'); ?></div>
246
  <?php }
451
 
452
  // Check entries
453
  $name = isset( $_POST['name'] ) ? remove_accents ( $_POST['name'] ): '' ;
454
+ $height = !isset( $_POST['height'] )? 0 : absint( $_POST['height'] );
455
+ $width = !isset( $_POST['width'] )? 0 : absint( $_POST['width'] );
456
  $crop = isset( $_POST['crop'] ) && $_POST['crop'] == 'false' ? false : true;
457
  $show = isset( $_POST['show'] ) && $_POST['show'] == 'false' ? false : true;
458
 
461
  echo 0;
462
  die();
463
  }
464
+
465
  // Make values
466
  $values = array( 'custom' => 1, 'w' => $width , 'h' => $height, 'c' => $crop, 's' => $show );
467
 
627
  */
628
  public function wp_generate_attachment_metadata_custom( $attachment_id, $file, $thumbnails = NULL ) {
629
  $attachment = get_post( $attachment_id );
630
+
631
+ $meta_datas = get_post_meta( $attachment_id, '_wp_attachment_metadata', true );
632
 
633
  $metadata = array();
634
  if ( preg_match('!^image/!', get_post_mime_type( $attachment )) && file_is_displayable_image($file) ) {
664
 
665
  foreach ( $sizes as $size => $size_data ) {
666
  if( isset( $thumbnails ) )
667
+ if( !in_array( $size, $thumbnails ) ) {
668
  continue;
669
+ }
670
 
671
  $resized = image_make_intermediate_size( $file, $size_data['width'], $size_data['height'], $size_data['crop'] );
672
+
673
+ // Remove the size from the orignal sizes for after work
674
+ unset( $meta_datas['size'][$size] );
675
+
676
  if ( $resized )
677
  $metadata['sizes'][$size] = $resized;
678
  }
679
+
680
+ // Only if not all sizes
681
+ if( is_array( $thumbnails ) ) {
682
+ // Fill the array with the other sizes not have to be done
683
+ foreach( $meta_datas['sizes'] as $name => $fsize ) {
684
+ $metadata['sizes'][$name] = $fsize;
685
+ }
686
+ }
687
+
688
  // fetch additional metadata from exif/iptc
689
  $image_meta = wp_read_image_metadata( $file );
690
  if ( $image_meta )
js/jquery-ui-1.8.12.custom.min.js DELETED
@@ -1,74 +0,0 @@
1
- /*!
2
- * jQuery UI 1.8.12
3
- *
4
- * Copyright 2011, AUTHORS.txt (http://jqueryui.com/about)
5
- * Dual licensed under the MIT or GPL Version 2 licenses.
6
- * http://jquery.org/license
7
- *
8
- * http://docs.jquery.com/UI
9
- */
10
- (function(c,j){function k(a){return!c(a).parents().andSelf().filter(function(){return c.curCSS(this,"visibility")==="hidden"||c.expr.filters.hidden(this)}).length}c.ui=c.ui||{};if(!c.ui.version){c.extend(c.ui,{version:"1.8.12",keyCode:{ALT:18,BACKSPACE:8,CAPS_LOCK:20,COMMA:188,COMMAND:91,COMMAND_LEFT:91,COMMAND_RIGHT:93,CONTROL:17,DELETE:46,DOWN:40,END:35,ENTER:13,ESCAPE:27,HOME:36,INSERT:45,LEFT:37,MENU:93,NUMPAD_ADD:107,NUMPAD_DECIMAL:110,NUMPAD_DIVIDE:111,NUMPAD_ENTER:108,NUMPAD_MULTIPLY:106,
11
- NUMPAD_SUBTRACT:109,PAGE_DOWN:34,PAGE_UP:33,PERIOD:190,RIGHT:39,SHIFT:16,SPACE:32,TAB:9,UP:38,WINDOWS:91}});c.fn.extend({_focus:c.fn.focus,focus:function(a,b){return typeof a==="number"?this.each(function(){var d=this;setTimeout(function(){c(d).focus();b&&b.call(d)},a)}):this._focus.apply(this,arguments)},scrollParent:function(){var a;a=c.browser.msie&&/(static|relative)/.test(this.css("position"))||/absolute/.test(this.css("position"))?this.parents().filter(function(){return/(relative|absolute|fixed)/.test(c.curCSS(this,
12
- "position",1))&&/(auto|scroll)/.test(c.curCSS(this,"overflow",1)+c.curCSS(this,"overflow-y",1)+c.curCSS(this,"overflow-x",1))}).eq(0):this.parents().filter(function(){return/(auto|scroll)/.test(c.curCSS(this,"overflow",1)+c.curCSS(this,"overflow-y",1)+c.curCSS(this,"overflow-x",1))}).eq(0);return/fixed/.test(this.css("position"))||!a.length?c(document):a},zIndex:function(a){if(a!==j)return this.css("zIndex",a);if(this.length){a=c(this[0]);for(var b;a.length&&a[0]!==document;){b=a.css("position");
13
- if(b==="absolute"||b==="relative"||b==="fixed"){b=parseInt(a.css("zIndex"),10);if(!isNaN(b)&&b!==0)return b}a=a.parent()}}return 0},disableSelection:function(){return this.bind((c.support.selectstart?"selectstart":"mousedown")+".ui-disableSelection",function(a){a.preventDefault()})},enableSelection:function(){return this.unbind(".ui-disableSelection")}});c.each(["Width","Height"],function(a,b){function d(f,g,l,m){c.each(e,function(){g-=parseFloat(c.curCSS(f,"padding"+this,true))||0;if(l)g-=parseFloat(c.curCSS(f,
14
- "border"+this+"Width",true))||0;if(m)g-=parseFloat(c.curCSS(f,"margin"+this,true))||0});return g}var e=b==="Width"?["Left","Right"]:["Top","Bottom"],h=b.toLowerCase(),i={innerWidth:c.fn.innerWidth,innerHeight:c.fn.innerHeight,outerWidth:c.fn.outerWidth,outerHeight:c.fn.outerHeight};c.fn["inner"+b]=function(f){if(f===j)return i["inner"+b].call(this);return this.each(function(){c(this).css(h,d(this,f)+"px")})};c.fn["outer"+b]=function(f,g){if(typeof f!=="number")return i["outer"+b].call(this,f);return this.each(function(){c(this).css(h,
15
- d(this,f,true,g)+"px")})}});c.extend(c.expr[":"],{data:function(a,b,d){return!!c.data(a,d[3])},focusable:function(a){var b=a.nodeName.toLowerCase(),d=c.attr(a,"tabindex");if("area"===b){b=a.parentNode;d=b.name;if(!a.href||!d||b.nodeName.toLowerCase()!=="map")return false;a=c("img[usemap=#"+d+"]")[0];return!!a&&k(a)}return(/input|select|textarea|button|object/.test(b)?!a.disabled:"a"==b?a.href||!isNaN(d):!isNaN(d))&&k(a)},tabbable:function(a){var b=c.attr(a,"tabindex");return(isNaN(b)||b>=0)&&c(a).is(":focusable")}});
16
- c(function(){var a=document.body,b=a.appendChild(b=document.createElement("div"));c.extend(b.style,{minHeight:"100px",height:"auto",padding:0,borderWidth:0});c.support.minHeight=b.offsetHeight===100;c.support.selectstart="onselectstart"in b;a.removeChild(b).style.display="none"});c.extend(c.ui,{plugin:{add:function(a,b,d){a=c.ui[a].prototype;for(var e in d){a.plugins[e]=a.plugins[e]||[];a.plugins[e].push([b,d[e]])}},call:function(a,b,d){if((b=a.plugins[b])&&a.element[0].parentNode)for(var e=0;e<b.length;e++)a.options[b[e][0]]&&
17
- b[e][1].apply(a.element,d)}},contains:function(a,b){return document.compareDocumentPosition?a.compareDocumentPosition(b)&16:a!==b&&a.contains(b)},hasScroll:function(a,b){if(c(a).css("overflow")==="hidden")return false;b=b&&b==="left"?"scrollLeft":"scrollTop";var d=false;if(a[b]>0)return true;a[b]=1;d=a[b]>0;a[b]=0;return d},isOverAxis:function(a,b,d){return a>b&&a<b+d},isOver:function(a,b,d,e,h,i){return c.ui.isOverAxis(a,d,h)&&c.ui.isOverAxis(b,e,i)}})}})(jQuery);
18
- ;/*!
19
- * jQuery UI Widget 1.8.12
20
- *
21
- * Copyright 2011, AUTHORS.txt (http://jqueryui.com/about)
22
- * Dual licensed under the MIT or GPL Version 2 licenses.
23
- * http://jquery.org/license
24
- *
25
- * http://docs.jquery.com/UI/Widget
26
- */
27
- (function(b,j){if(b.cleanData){var k=b.cleanData;b.cleanData=function(a){for(var c=0,d;(d=a[c])!=null;c++)b(d).triggerHandler("remove");k(a)}}else{var l=b.fn.remove;b.fn.remove=function(a,c){return this.each(function(){if(!c)if(!a||b.filter(a,[this]).length)b("*",this).add([this]).each(function(){b(this).triggerHandler("remove")});return l.call(b(this),a,c)})}}b.widget=function(a,c,d){var e=a.split(".")[0],f;a=a.split(".")[1];f=e+"-"+a;if(!d){d=c;c=b.Widget}b.expr[":"][f]=function(h){return!!b.data(h,
28
- a)};b[e]=b[e]||{};b[e][a]=function(h,g){arguments.length&&this._createWidget(h,g)};c=new c;c.options=b.extend(true,{},c.options);b[e][a].prototype=b.extend(true,c,{namespace:e,widgetName:a,widgetEventPrefix:b[e][a].prototype.widgetEventPrefix||a,widgetBaseClass:f},d);b.widget.bridge(a,b[e][a])};b.widget.bridge=function(a,c){b.fn[a]=function(d){var e=typeof d==="string",f=Array.prototype.slice.call(arguments,1),h=this;d=!e&&f.length?b.extend.apply(null,[true,d].concat(f)):d;if(e&&d.charAt(0)==="_")return h;
29
- e?this.each(function(){var g=b.data(this,a),i=g&&b.isFunction(g[d])?g[d].apply(g,f):g;if(i!==g&&i!==j){h=i;return false}}):this.each(function(){var g=b.data(this,a);g?g.option(d||{})._init():b.data(this,a,new c(d,this))});return h}};b.Widget=function(a,c){arguments.length&&this._createWidget(a,c)};b.Widget.prototype={widgetName:"widget",widgetEventPrefix:"",options:{disabled:false},_createWidget:function(a,c){b.data(c,this.widgetName,this);this.element=b(c);this.options=b.extend(true,{},this.options,
30
- this._getCreateOptions(),a);var d=this;this.element.bind("remove."+this.widgetName,function(){d.destroy()});this._create();this._trigger("create");this._init()},_getCreateOptions:function(){return b.metadata&&b.metadata.get(this.element[0])[this.widgetName]},_create:function(){},_init:function(){},destroy:function(){this.element.unbind("."+this.widgetName).removeData(this.widgetName);this.widget().unbind("."+this.widgetName).removeAttr("aria-disabled").removeClass(this.widgetBaseClass+"-disabled ui-state-disabled")},
31
- widget:function(){return this.element},option:function(a,c){var d=a;if(arguments.length===0)return b.extend({},this.options);if(typeof a==="string"){if(c===j)return this.options[a];d={};d[a]=c}this._setOptions(d);return this},_setOptions:function(a){var c=this;b.each(a,function(d,e){c._setOption(d,e)});return this},_setOption:function(a,c){this.options[a]=c;if(a==="disabled")this.widget()[c?"addClass":"removeClass"](this.widgetBaseClass+"-disabled ui-state-disabled").attr("aria-disabled",c);return this},
32
- enable:function(){return this._setOption("disabled",false)},disable:function(){return this._setOption("disabled",true)},_trigger:function(a,c,d){var e=this.options[a];c=b.Event(c);c.type=(a===this.widgetEventPrefix?a:this.widgetEventPrefix+a).toLowerCase();d=d||{};if(c.originalEvent){a=b.event.props.length;for(var f;a;){f=b.event.props[--a];c[f]=c.originalEvent[f]}}this.element.trigger(c,d);return!(b.isFunction(e)&&e.call(this.element[0],c,d)===false||c.isDefaultPrevented())}}})(jQuery);
33
- ;/*
34
- * jQuery UI Button 1.8.12
35
- *
36
- * Copyright 2011, AUTHORS.txt (http://jqueryui.com/about)
37
- * Dual licensed under the MIT or GPL Version 2 licenses.
38
- * http://jquery.org/license
39
- *
40
- * http://docs.jquery.com/UI/Button
41
- *
42
- * Depends:
43
- * jquery.ui.core.js
44
- * jquery.ui.widget.js
45
- */
46
- (function(a){var g,i=function(b){a(":ui-button",b.target.form).each(function(){var c=a(this).data("button");setTimeout(function(){c.refresh()},1)})},h=function(b){var c=b.name,d=b.form,f=a([]);if(c)f=d?a(d).find("[name='"+c+"']"):a("[name='"+c+"']",b.ownerDocument).filter(function(){return!this.form});return f};a.widget("ui.button",{options:{disabled:null,text:true,label:null,icons:{primary:null,secondary:null}},_create:function(){this.element.closest("form").unbind("reset.button").bind("reset.button",
47
- i);if(typeof this.options.disabled!=="boolean")this.options.disabled=this.element.attr("disabled");this._determineButtonType();this.hasTitle=!!this.buttonElement.attr("title");var b=this,c=this.options,d=this.type==="checkbox"||this.type==="radio",f="ui-state-hover"+(!d?" ui-state-active":"");if(c.label===null)c.label=this.buttonElement.html();if(this.element.is(":disabled"))c.disabled=true;this.buttonElement.addClass("ui-button ui-widget ui-state-default ui-corner-all").attr("role","button").bind("mouseenter.button",
48
- function(){if(!c.disabled){a(this).addClass("ui-state-hover");this===g&&a(this).addClass("ui-state-active")}}).bind("mouseleave.button",function(){c.disabled||a(this).removeClass(f)}).bind("focus.button",function(){a(this).addClass("ui-state-focus")}).bind("blur.button",function(){a(this).removeClass("ui-state-focus")});d&&this.element.bind("change.button",function(){b.refresh()});if(this.type==="checkbox")this.buttonElement.bind("click.button",function(){if(c.disabled)return false;a(this).toggleClass("ui-state-active");
49
- b.buttonElement.attr("aria-pressed",b.element[0].checked)});else if(this.type==="radio")this.buttonElement.bind("click.button",function(){if(c.disabled)return false;a(this).addClass("ui-state-active");b.buttonElement.attr("aria-pressed",true);var e=b.element[0];h(e).not(e).map(function(){return a(this).button("widget")[0]}).removeClass("ui-state-active").attr("aria-pressed",false)});else{this.buttonElement.bind("mousedown.button",function(){if(c.disabled)return false;a(this).addClass("ui-state-active");
50
- g=this;a(document).one("mouseup",function(){g=null})}).bind("mouseup.button",function(){if(c.disabled)return false;a(this).removeClass("ui-state-active")}).bind("keydown.button",function(e){if(c.disabled)return false;if(e.keyCode==a.ui.keyCode.SPACE||e.keyCode==a.ui.keyCode.ENTER)a(this).addClass("ui-state-active")}).bind("keyup.button",function(){a(this).removeClass("ui-state-active")});this.buttonElement.is("a")&&this.buttonElement.keyup(function(e){e.keyCode===a.ui.keyCode.SPACE&&a(this).click()})}this._setOption("disabled",
51
- c.disabled)},_determineButtonType:function(){this.type=this.element.is(":checkbox")?"checkbox":this.element.is(":radio")?"radio":this.element.is("input")?"input":"button";if(this.type==="checkbox"||this.type==="radio"){var b=this.element.parents().filter(":last"),c="label[for="+this.element.attr("id")+"]";this.buttonElement=b.find(c);if(!this.buttonElement.length){b=b.length?b.siblings():this.element.siblings();this.buttonElement=b.filter(c);if(!this.buttonElement.length)this.buttonElement=b.find(c)}this.element.addClass("ui-helper-hidden-accessible");
52
- (b=this.element.is(":checked"))&&this.buttonElement.addClass("ui-state-active");this.buttonElement.attr("aria-pressed",b)}else this.buttonElement=this.element},widget:function(){return this.buttonElement},destroy:function(){this.element.removeClass("ui-helper-hidden-accessible");this.buttonElement.removeClass("ui-button ui-widget ui-state-default ui-corner-all ui-state-hover ui-state-active ui-button-icons-only ui-button-icon-only ui-button-text-icons ui-button-text-icon-primary ui-button-text-icon-secondary ui-button-text-only").removeAttr("role").removeAttr("aria-pressed").html(this.buttonElement.find(".ui-button-text").html());
53
- this.hasTitle||this.buttonElement.removeAttr("title");a.Widget.prototype.destroy.call(this)},_setOption:function(b,c){a.Widget.prototype._setOption.apply(this,arguments);if(b==="disabled")c?this.element.attr("disabled",true):this.element.removeAttr("disabled");this._resetButton()},refresh:function(){var b=this.element.is(":disabled");b!==this.options.disabled&&this._setOption("disabled",b);if(this.type==="radio")h(this.element[0]).each(function(){a(this).is(":checked")?a(this).button("widget").addClass("ui-state-active").attr("aria-pressed",
54
- true):a(this).button("widget").removeClass("ui-state-active").attr("aria-pressed",false)});else if(this.type==="checkbox")this.element.is(":checked")?this.buttonElement.addClass("ui-state-active").attr("aria-pressed",true):this.buttonElement.removeClass("ui-state-active").attr("aria-pressed",false)},_resetButton:function(){if(this.type==="input")this.options.label&&this.element.val(this.options.label);else{var b=this.buttonElement.removeClass("ui-button-icons-only ui-button-icon-only ui-button-text-icons ui-button-text-icon-primary ui-button-text-icon-secondary ui-button-text-only"),
55
- c=a("<span></span>").addClass("ui-button-text").html(this.options.label).appendTo(b.empty()).text(),d=this.options.icons,f=d.primary&&d.secondary,e=[];if(d.primary||d.secondary){if(this.options.text)e.push("ui-button-text-icon"+(f?"s":d.primary?"-primary":"-secondary"));d.primary&&b.prepend("<span class='ui-button-icon-primary ui-icon "+d.primary+"'></span>");d.secondary&&b.append("<span class='ui-button-icon-secondary ui-icon "+d.secondary+"'></span>");if(!this.options.text){e.push(f?"ui-button-icons-only":
56
- "ui-button-icon-only");this.hasTitle||b.attr("title",c)}}else e.push("ui-button-text-only");b.addClass(e.join(" "))}}});a.widget("ui.buttonset",{options:{items:":button, :submit, :reset, :checkbox, :radio, a, :data(button)"},_create:function(){this.element.addClass("ui-buttonset")},_init:function(){this.refresh()},_setOption:function(b,c){b==="disabled"&&this.buttons.button("option",b,c);a.Widget.prototype._setOption.apply(this,arguments)},refresh:function(){this.buttons=this.element.find(this.options.items).filter(":ui-button").button("refresh").end().not(":ui-button").button().end().map(function(){return a(this).button("widget")[0]}).removeClass("ui-corner-all ui-corner-left ui-corner-right").filter(":first").addClass("ui-corner-left").end().filter(":last").addClass("ui-corner-right").end().end()},
57
- destroy:function(){this.element.removeClass("ui-buttonset");this.buttons.map(function(){return a(this).button("widget")[0]}).removeClass("ui-corner-left ui-corner-right").end().button("destroy");a.Widget.prototype.destroy.call(this)}})})(jQuery);
58
- ;/*
59
- * jQuery UI Progressbar 1.8.12
60
- *
61
- * Copyright 2011, AUTHORS.txt (http://jqueryui.com/about)
62
- * Dual licensed under the MIT or GPL Version 2 licenses.
63
- * http://jquery.org/license
64
- *
65
- * http://docs.jquery.com/UI/Progressbar
66
- *
67
- * Depends:
68
- * jquery.ui.core.js
69
- * jquery.ui.widget.js
70
- */
71
- (function(b,d){b.widget("ui.progressbar",{options:{value:0,max:100},min:0,_create:function(){this.element.addClass("ui-progressbar ui-widget ui-widget-content ui-corner-all").attr({role:"progressbar","aria-valuemin":this.min,"aria-valuemax":this.options.max,"aria-valuenow":this._value()});this.valueDiv=b("<div class='ui-progressbar-value ui-widget-header ui-corner-left'></div>").appendTo(this.element);this.oldValue=this._value();this._refreshValue()},destroy:function(){this.element.removeClass("ui-progressbar ui-widget ui-widget-content ui-corner-all").removeAttr("role").removeAttr("aria-valuemin").removeAttr("aria-valuemax").removeAttr("aria-valuenow");
72
- this.valueDiv.remove();b.Widget.prototype.destroy.apply(this,arguments)},value:function(a){if(a===d)return this._value();this._setOption("value",a);return this},_setOption:function(a,c){if(a==="value"){this.options.value=c;this._refreshValue();this._value()===this.options.max&&this._trigger("complete")}b.Widget.prototype._setOption.apply(this,arguments)},_value:function(){var a=this.options.value;if(typeof a!=="number")a=0;return Math.min(this.options.max,Math.max(this.min,a))},_percentage:function(){return 100*
73
- this._value()/this.options.max},_refreshValue:function(){var a=this.value(),c=this._percentage();if(this.oldValue!==a){this.oldValue=a;this._trigger("change")}this.valueDiv.toggle(a>this.min).toggleClass("ui-corner-right",a===this.options.max).animate({width :c.toFixed(0)+"%"}, 500);this.element.attr("aria-valuenow",a)}});b.extend(b.ui.progressbar,{version:"1.8.12"})})(jQuery);
74
- ;
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
js/jquery-ui-1.8.16.custom.min.js ADDED
@@ -0,0 +1,77 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ /*!
2
+ * jQuery UI 1.8.16
3
+ *
4
+ * Copyright 2011, AUTHORS.txt (http://jqueryui.com/about)
5
+ * Dual licensed under the MIT or GPL Version 2 licenses.
6
+ * http://jquery.org/license
7
+ *
8
+ * http://docs.jquery.com/UI
9
+ */
10
+ (function(c,j){function k(a,b){var d=a.nodeName.toLowerCase();if("area"===d){b=a.parentNode;d=b.name;if(!a.href||!d||b.nodeName.toLowerCase()!=="map")return false;a=c("img[usemap=#"+d+"]")[0];return!!a&&l(a)}return(/input|select|textarea|button|object/.test(d)?!a.disabled:"a"==d?a.href||b:b)&&l(a)}function l(a){return!c(a).parents().andSelf().filter(function(){return c.curCSS(this,"visibility")==="hidden"||c.expr.filters.hidden(this)}).length}c.ui=c.ui||{};if(!c.ui.version){c.extend(c.ui,{version:"1.8.16",
11
+ keyCode:{ALT:18,BACKSPACE:8,CAPS_LOCK:20,COMMA:188,COMMAND:91,COMMAND_LEFT:91,COMMAND_RIGHT:93,CONTROL:17,DELETE:46,DOWN:40,END:35,ENTER:13,ESCAPE:27,HOME:36,INSERT:45,LEFT:37,MENU:93,NUMPAD_ADD:107,NUMPAD_DECIMAL:110,NUMPAD_DIVIDE:111,NUMPAD_ENTER:108,NUMPAD_MULTIPLY:106,NUMPAD_SUBTRACT:109,PAGE_DOWN:34,PAGE_UP:33,PERIOD:190,RIGHT:39,SHIFT:16,SPACE:32,TAB:9,UP:38,WINDOWS:91}});c.fn.extend({propAttr:c.fn.prop||c.fn.attr,_focus:c.fn.focus,focus:function(a,b){return typeof a==="number"?this.each(function(){var d=
12
+ this;setTimeout(function(){c(d).focus();b&&b.call(d)},a)}):this._focus.apply(this,arguments)},scrollParent:function(){var a;a=c.browser.msie&&/(static|relative)/.test(this.css("position"))||/absolute/.test(this.css("position"))?this.parents().filter(function(){return/(relative|absolute|fixed)/.test(c.curCSS(this,"position",1))&&/(auto|scroll)/.test(c.curCSS(this,"overflow",1)+c.curCSS(this,"overflow-y",1)+c.curCSS(this,"overflow-x",1))}).eq(0):this.parents().filter(function(){return/(auto|scroll)/.test(c.curCSS(this,
13
+ "overflow",1)+c.curCSS(this,"overflow-y",1)+c.curCSS(this,"overflow-x",1))}).eq(0);return/fixed/.test(this.css("position"))||!a.length?c(document):a},zIndex:function(a){if(a!==j)return this.css("zIndex",a);if(this.length){a=c(this[0]);for(var b;a.length&&a[0]!==document;){b=a.css("position");if(b==="absolute"||b==="relative"||b==="fixed"){b=parseInt(a.css("zIndex"),10);if(!isNaN(b)&&b!==0)return b}a=a.parent()}}return 0},disableSelection:function(){return this.bind((c.support.selectstart?"selectstart":
14
+ "mousedown")+".ui-disableSelection",function(a){a.preventDefault()})},enableSelection:function(){return this.unbind(".ui-disableSelection")}});c.each(["Width","Height"],function(a,b){function d(f,g,m,n){c.each(e,function(){g-=parseFloat(c.curCSS(f,"padding"+this,true))||0;if(m)g-=parseFloat(c.curCSS(f,"border"+this+"Width",true))||0;if(n)g-=parseFloat(c.curCSS(f,"margin"+this,true))||0});return g}var e=b==="Width"?["Left","Right"]:["Top","Bottom"],h=b.toLowerCase(),i={innerWidth:c.fn.innerWidth,innerHeight:c.fn.innerHeight,
15
+ outerWidth:c.fn.outerWidth,outerHeight:c.fn.outerHeight};c.fn["inner"+b]=function(f){if(f===j)return i["inner"+b].call(this);return this.each(function(){c(this).css(h,d(this,f)+"px")})};c.fn["outer"+b]=function(f,g){if(typeof f!=="number")return i["outer"+b].call(this,f);return this.each(function(){c(this).css(h,d(this,f,true,g)+"px")})}});c.extend(c.expr[":"],{data:function(a,b,d){return!!c.data(a,d[3])},focusable:function(a){return k(a,!isNaN(c.attr(a,"tabindex")))},tabbable:function(a){var b=c.attr(a,
16
+ "tabindex"),d=isNaN(b);return(d||b>=0)&&k(a,!d)}});c(function(){var a=document.body,b=a.appendChild(b=document.createElement("div"));c.extend(b.style,{minHeight:"100px",height:"auto",padding:0,borderWidth:0});c.support.minHeight=b.offsetHeight===100;c.support.selectstart="onselectstart"in b;a.removeChild(b).style.display="none"});c.extend(c.ui,{plugin:{add:function(a,b,d){a=c.ui[a].prototype;for(var e in d){a.plugins[e]=a.plugins[e]||[];a.plugins[e].push([b,d[e]])}},call:function(a,b,d){if((b=a.plugins[b])&&
17
+ a.element[0].parentNode)for(var e=0;e<b.length;e++)a.options[b[e][0]]&&b[e][1].apply(a.element,d)}},contains:function(a,b){return document.compareDocumentPosition?a.compareDocumentPosition(b)&16:a!==b&&a.contains(b)},hasScroll:function(a,b){if(c(a).css("overflow")==="hidden")return false;b=b&&b==="left"?"scrollLeft":"scrollTop";var d=false;if(a[b]>0)return true;a[b]=1;d=a[b]>0;a[b]=0;return d},isOverAxis:function(a,b,d){return a>b&&a<b+d},isOver:function(a,b,d,e,h,i){return c.ui.isOverAxis(a,d,h)&&
18
+ c.ui.isOverAxis(b,e,i)}})}})(jQuery);
19
+ ;/*!
20
+ * jQuery UI Widget 1.8.16
21
+ *
22
+ * Copyright 2011, AUTHORS.txt (http://jqueryui.com/about)
23
+ * Dual licensed under the MIT or GPL Version 2 licenses.
24
+ * http://jquery.org/license
25
+ *
26
+ * http://docs.jquery.com/UI/Widget
27
+ */
28
+ (function(b,j){if(b.cleanData){var k=b.cleanData;b.cleanData=function(a){for(var c=0,d;(d=a[c])!=null;c++)try{b(d).triggerHandler("remove")}catch(e){}k(a)}}else{var l=b.fn.remove;b.fn.remove=function(a,c){return this.each(function(){if(!c)if(!a||b.filter(a,[this]).length)b("*",this).add([this]).each(function(){try{b(this).triggerHandler("remove")}catch(d){}});return l.call(b(this),a,c)})}}b.widget=function(a,c,d){var e=a.split(".")[0],f;a=a.split(".")[1];f=e+"-"+a;if(!d){d=c;c=b.Widget}b.expr[":"][f]=
29
+ function(h){return!!b.data(h,a)};b[e]=b[e]||{};b[e][a]=function(h,g){arguments.length&&this._createWidget(h,g)};c=new c;c.options=b.extend(true,{},c.options);b[e][a].prototype=b.extend(true,c,{namespace:e,widgetName:a,widgetEventPrefix:b[e][a].prototype.widgetEventPrefix||a,widgetBaseClass:f},d);b.widget.bridge(a,b[e][a])};b.widget.bridge=function(a,c){b.fn[a]=function(d){var e=typeof d==="string",f=Array.prototype.slice.call(arguments,1),h=this;d=!e&&f.length?b.extend.apply(null,[true,d].concat(f)):
30
+ d;if(e&&d.charAt(0)==="_")return h;e?this.each(function(){var g=b.data(this,a),i=g&&b.isFunction(g[d])?g[d].apply(g,f):g;if(i!==g&&i!==j){h=i;return false}}):this.each(function(){var g=b.data(this,a);g?g.option(d||{})._init():b.data(this,a,new c(d,this))});return h}};b.Widget=function(a,c){arguments.length&&this._createWidget(a,c)};b.Widget.prototype={widgetName:"widget",widgetEventPrefix:"",options:{disabled:false},_createWidget:function(a,c){b.data(c,this.widgetName,this);this.element=b(c);this.options=
31
+ b.extend(true,{},this.options,this._getCreateOptions(),a);var d=this;this.element.bind("remove."+this.widgetName,function(){d.destroy()});this._create();this._trigger("create");this._init()},_getCreateOptions:function(){return b.metadata&&b.metadata.get(this.element[0])[this.widgetName]},_create:function(){},_init:function(){},destroy:function(){this.element.unbind("."+this.widgetName).removeData(this.widgetName);this.widget().unbind("."+this.widgetName).removeAttr("aria-disabled").removeClass(this.widgetBaseClass+
32
+ "-disabled ui-state-disabled")},widget:function(){return this.element},option:function(a,c){var d=a;if(arguments.length===0)return b.extend({},this.options);if(typeof a==="string"){if(c===j)return this.options[a];d={};d[a]=c}this._setOptions(d);return this},_setOptions:function(a){var c=this;b.each(a,function(d,e){c._setOption(d,e)});return this},_setOption:function(a,c){this.options[a]=c;if(a==="disabled")this.widget()[c?"addClass":"removeClass"](this.widgetBaseClass+"-disabled ui-state-disabled").attr("aria-disabled",
33
+ c);return this},enable:function(){return this._setOption("disabled",false)},disable:function(){return this._setOption("disabled",true)},_trigger:function(a,c,d){var e=this.options[a];c=b.Event(c);c.type=(a===this.widgetEventPrefix?a:this.widgetEventPrefix+a).toLowerCase();d=d||{};if(c.originalEvent){a=b.event.props.length;for(var f;a;){f=b.event.props[--a];c[f]=c.originalEvent[f]}}this.element.trigger(c,d);return!(b.isFunction(e)&&e.call(this.element[0],c,d)===false||c.isDefaultPrevented())}}})(jQuery);
34
+ ;/*
35
+ * jQuery UI Button 1.8.16
36
+ *
37
+ * Copyright 2011, AUTHORS.txt (http://jqueryui.com/about)
38
+ * Dual licensed under the MIT or GPL Version 2 licenses.
39
+ * http://jquery.org/license
40
+ *
41
+ * http://docs.jquery.com/UI/Button
42
+ *
43
+ * Depends:
44
+ * jquery.ui.core.js
45
+ * jquery.ui.widget.js
46
+ */
47
+ (function(b){var h,i,j,g,l=function(){var a=b(this).find(":ui-button");setTimeout(function(){a.button("refresh")},1)},k=function(a){var c=a.name,e=a.form,f=b([]);if(c)f=e?b(e).find("[name='"+c+"']"):b("[name='"+c+"']",a.ownerDocument).filter(function(){return!this.form});return f};b.widget("ui.button",{options:{disabled:null,text:true,label:null,icons:{primary:null,secondary:null}},_create:function(){this.element.closest("form").unbind("reset.button").bind("reset.button",l);if(typeof this.options.disabled!==
48
+ "boolean")this.options.disabled=this.element.propAttr("disabled");this._determineButtonType();this.hasTitle=!!this.buttonElement.attr("title");var a=this,c=this.options,e=this.type==="checkbox"||this.type==="radio",f="ui-state-hover"+(!e?" ui-state-active":"");if(c.label===null)c.label=this.buttonElement.html();if(this.element.is(":disabled"))c.disabled=true;this.buttonElement.addClass("ui-button ui-widget ui-state-default ui-corner-all").attr("role","button").bind("mouseenter.button",function(){if(!c.disabled){b(this).addClass("ui-state-hover");
49
+ this===h&&b(this).addClass("ui-state-active")}}).bind("mouseleave.button",function(){c.disabled||b(this).removeClass(f)}).bind("click.button",function(d){if(c.disabled){d.preventDefault();d.stopImmediatePropagation()}});this.element.bind("focus.button",function(){a.buttonElement.addClass("ui-state-focus")}).bind("blur.button",function(){a.buttonElement.removeClass("ui-state-focus")});if(e){this.element.bind("change.button",function(){g||a.refresh()});this.buttonElement.bind("mousedown.button",function(d){if(!c.disabled){g=
50
+ false;i=d.pageX;j=d.pageY}}).bind("mouseup.button",function(d){if(!c.disabled)if(i!==d.pageX||j!==d.pageY)g=true})}if(this.type==="checkbox")this.buttonElement.bind("click.button",function(){if(c.disabled||g)return false;b(this).toggleClass("ui-state-active");a.buttonElement.attr("aria-pressed",a.element[0].checked)});else if(this.type==="radio")this.buttonElement.bind("click.button",function(){if(c.disabled||g)return false;b(this).addClass("ui-state-active");a.buttonElement.attr("aria-pressed","true");
51
+ var d=a.element[0];k(d).not(d).map(function(){return b(this).button("widget")[0]}).removeClass("ui-state-active").attr("aria-pressed","false")});else{this.buttonElement.bind("mousedown.button",function(){if(c.disabled)return false;b(this).addClass("ui-state-active");h=this;b(document).one("mouseup",function(){h=null})}).bind("mouseup.button",function(){if(c.disabled)return false;b(this).removeClass("ui-state-active")}).bind("keydown.button",function(d){if(c.disabled)return false;if(d.keyCode==b.ui.keyCode.SPACE||
52
+ d.keyCode==b.ui.keyCode.ENTER)b(this).addClass("ui-state-active")}).bind("keyup.button",function(){b(this).removeClass("ui-state-active")});this.buttonElement.is("a")&&this.buttonElement.keyup(function(d){d.keyCode===b.ui.keyCode.SPACE&&b(this).click()})}this._setOption("disabled",c.disabled);this._resetButton()},_determineButtonType:function(){this.type=this.element.is(":checkbox")?"checkbox":this.element.is(":radio")?"radio":this.element.is("input")?"input":"button";if(this.type==="checkbox"||this.type===
53
+ "radio"){var a=this.element.parents().filter(":last"),c="label[for='"+this.element.attr("id")+"']";this.buttonElement=a.find(c);if(!this.buttonElement.length){a=a.length?a.siblings():this.element.siblings();this.buttonElement=a.filter(c);if(!this.buttonElement.length)this.buttonElement=a.find(c)}this.element.addClass("ui-helper-hidden-accessible");(a=this.element.is(":checked"))&&this.buttonElement.addClass("ui-state-active");this.buttonElement.attr("aria-pressed",a)}else this.buttonElement=this.element},
54
+ widget:function(){return this.buttonElement},destroy:function(){this.element.removeClass("ui-helper-hidden-accessible");this.buttonElement.removeClass("ui-button ui-widget ui-state-default ui-corner-all ui-state-hover ui-state-active ui-button-icons-only ui-button-icon-only ui-button-text-icons ui-button-text-icon-primary ui-button-text-icon-secondary ui-button-text-only").removeAttr("role").removeAttr("aria-pressed").html(this.buttonElement.find(".ui-button-text").html());this.hasTitle||this.buttonElement.removeAttr("title");
55
+ b.Widget.prototype.destroy.call(this)},_setOption:function(a,c){b.Widget.prototype._setOption.apply(this,arguments);if(a==="disabled")c?this.element.propAttr("disabled",true):this.element.propAttr("disabled",false);else this._resetButton()},refresh:function(){var a=this.element.is(":disabled");a!==this.options.disabled&&this._setOption("disabled",a);if(this.type==="radio")k(this.element[0]).each(function(){b(this).is(":checked")?b(this).button("widget").addClass("ui-state-active").attr("aria-pressed",
56
+ "true"):b(this).button("widget").removeClass("ui-state-active").attr("aria-pressed","false")});else if(this.type==="checkbox")this.element.is(":checked")?this.buttonElement.addClass("ui-state-active").attr("aria-pressed","true"):this.buttonElement.removeClass("ui-state-active").attr("aria-pressed","false")},_resetButton:function(){if(this.type==="input")this.options.label&&this.element.val(this.options.label);else{var a=this.buttonElement.removeClass("ui-button-icons-only ui-button-icon-only ui-button-text-icons ui-button-text-icon-primary ui-button-text-icon-secondary ui-button-text-only"),
57
+ c=b("<span></span>").addClass("ui-button-text").html(this.options.label).appendTo(a.empty()).text(),e=this.options.icons,f=e.primary&&e.secondary,d=[];if(e.primary||e.secondary){if(this.options.text)d.push("ui-button-text-icon"+(f?"s":e.primary?"-primary":"-secondary"));e.primary&&a.prepend("<span class='ui-button-icon-primary ui-icon "+e.primary+"'></span>");e.secondary&&a.append("<span class='ui-button-icon-secondary ui-icon "+e.secondary+"'></span>");if(!this.options.text){d.push(f?"ui-button-icons-only":
58
+ "ui-button-icon-only");this.hasTitle||a.attr("title",c)}}else d.push("ui-button-text-only");a.addClass(d.join(" "))}}});b.widget("ui.buttonset",{options:{items:":button, :submit, :reset, :checkbox, :radio, a, :data(button)"},_create:function(){this.element.addClass("ui-buttonset")},_init:function(){this.refresh()},_setOption:function(a,c){a==="disabled"&&this.buttons.button("option",a,c);b.Widget.prototype._setOption.apply(this,arguments)},refresh:function(){var a=this.element.css("direction")===
59
+ "ltr";this.buttons=this.element.find(this.options.items).filter(":ui-button").button("refresh").end().not(":ui-button").button().end().map(function(){return b(this).button("widget")[0]}).removeClass("ui-corner-all ui-corner-left ui-corner-right").filter(":first").addClass(a?"ui-corner-left":"ui-corner-right").end().filter(":last").addClass(a?"ui-corner-right":"ui-corner-left").end().end()},destroy:function(){this.element.removeClass("ui-buttonset");this.buttons.map(function(){return b(this).button("widget")[0]}).removeClass("ui-corner-left ui-corner-right").end().button("destroy");
60
+ b.Widget.prototype.destroy.call(this)}})})(jQuery);
61
+ ;/*
62
+ * jQuery UI Progressbar 1.8.16
63
+ *
64
+ * Copyright 2011, AUTHORS.txt (http://jqueryui.com/about)
65
+ * Dual licensed under the MIT or GPL Version 2 licenses.
66
+ * http://jquery.org/license
67
+ *
68
+ * http://docs.jquery.com/UI/Progressbar
69
+ *
70
+ * Depends:
71
+ * jquery.ui.core.js
72
+ * jquery.ui.widget.js
73
+ */
74
+ (function(b,d){b.widget("ui.progressbar",{options:{value:0,max:100},min:0,_create:function(){this.element.addClass("ui-progressbar ui-widget ui-widget-content ui-corner-all").attr({role:"progressbar","aria-valuemin":this.min,"aria-valuemax":this.options.max,"aria-valuenow":this._value()});this.valueDiv=b("<div class='ui-progressbar-value ui-widget-header ui-corner-left'></div>").appendTo(this.element);this.oldValue=this._value();this._refreshValue()},destroy:function(){this.element.removeClass("ui-progressbar ui-widget ui-widget-content ui-corner-all").removeAttr("role").removeAttr("aria-valuemin").removeAttr("aria-valuemax").removeAttr("aria-valuenow");
75
+ this.valueDiv.remove();b.Widget.prototype.destroy.apply(this,arguments)},value:function(a){if(a===d)return this._value();this._setOption("value",a);return this},_setOption:function(a,c){if(a==="value"){this.options.value=c;this._refreshValue();this._value()===this.options.max&&this._trigger("complete")}b.Widget.prototype._setOption.apply(this,arguments)},_value:function(){var a=this.options.value;if(typeof a!=="number")a=0;return Math.min(this.options.max,Math.max(this.min,a))},_percentage:function(){return 100*
76
+ this._value()/this.options.max},_refreshValue:function(){var a=this.value(),c=this._percentage();if(this.oldValue!==a){this.oldValue=a;this._trigger("change")}this.valueDiv.toggle(a>this.min).toggleClass("ui-corner-right",a===this.options.max).width(c.toFixed(0)+"%");this.element.attr("aria-valuenow",a)}});b.extend(b.ui.progressbar,{version:"1.8.16"})})(jQuery);
77
+ ;
js/sis-attachments.js ADDED
@@ -0,0 +1,59 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ jQuery( function(){
2
+ jQuery( '.sis-regenerate-one' ).click( function( e ) {
3
+ e.preventDefault();
4
+ var regenerate = {
5
+ list : '',
6
+ percent : '' ,
7
+ el : '',
8
+ id : '',
9
+ messageZone : '',
10
+ init: function( el ) {
11
+ this.el = jQuery( el );
12
+ id = jQuery( el ).attr( 'id' );
13
+ this.id = id.replace( 'post-', '' );
14
+
15
+ this.list = { 'id' : this.id, 'title' : 'titre' };
16
+
17
+ if( this.el.find('.title em').size() == 0 )
18
+ this.el.find('.title strong').after('<em/>');
19
+ this.messageZone = this.el.find('.title em');
20
+
21
+ if( !this.el.hasClass( 'ajaxing' ) )
22
+ this.regenItem();
23
+ },
24
+ setMessage : function( msg ) {
25
+ // Display the message
26
+ this.messageZone.html( ' - '+ msg ).addClass( 'updated' ).addClass( 'fade' ).show();
27
+ },
28
+ regenItem : function( ) {
29
+ var _self = this;
30
+
31
+ jQuery.ajax( {
32
+ url: sis.ajaxUrl,
33
+ type: "POST",
34
+ dataType: 'json',
35
+ data: "action=sis_ajax_thumbnail_rebuild&do=regen&id=" + this.list.id,
36
+ beforeSend : function() {
37
+ _self.el.fadeTo( 'fast' ,'0.2' ).addClass('ajaxing');
38
+ },
39
+ success: function( r ) {
40
+ var message ='';
41
+ // Check if error or a message in response
42
+ if( ( !r.src || !r.time ) || r.error || typeof r !== 'object' ) {
43
+ if( typeof r !== 'object' )
44
+ message = sis.phpError;
45
+ else
46
+ message = r.error
47
+ } else {
48
+ message = sis.soloRegenerated.replace( '%s', r.time );
49
+ }
50
+ _self.setMessage( message );
51
+ _self.el.fadeTo( 'fast' ,'1' ).removeClass('ajaxing');
52
+ }
53
+ });
54
+
55
+ }
56
+ }
57
+ regenerate.init( jQuery( this ).closest( 'tr' ) );
58
+ });
59
+ });
js/sis-attachments.min.js ADDED
@@ -0,0 +1 @@
 
1
+ jQuery(function(){jQuery(".sis-regenerate-one").click(function(a){a.preventDefault();var b={list:"",percent:"",el:"",id:"",messageZone:"",init:function(a){this.el=jQuery(a);id=jQuery(a).attr("id");this.id=id.replace("post-","");this.list={id:this.id,title:"titre"};if(this.el.find(".title em").size()==0)this.el.find(".title strong").after("<em/>");this.messageZone=this.el.find(".title em");if(!this.el.hasClass("ajaxing"))this.regenItem()},setMessage:function(a){this.messageZone.html(" - "+a).addClass("updated").addClass("fade").show()},regenItem:function(){var a=this;jQuery.ajax({url:sis.ajaxUrl,type:"POST",dataType:"json",data:"action=sis_ajax_thumbnail_rebuild&do=regen&id="+this.list.id,beforeSend:function(){a.el.fadeTo("fast","0.2").addClass("ajaxing")},success:function(b){var c="";if(!b.src||!b.time||b.error||typeof b!=="object"){if(typeof b!=="object")c=sis.phpError;else c=b.error}else{c=sis.soloRegenerated.replace("%s",b.time)}a.setMessage(c);a.el.fadeTo("fast","1").removeClass("ajaxing")}})}};b.init(jQuery(this).closest("tr"))})})
js/sis.js CHANGED
@@ -41,6 +41,20 @@ var regenerate = {
41
  // Refresh the progress Bar
42
  jQuery(".progress").progressbar();
43
  },
 
 
 
 
 
 
 
 
 
 
 
 
 
 
44
  startRegenerating : function( ) {
45
  var _self = this;
46
 
@@ -56,7 +70,6 @@ var regenerate = {
56
 
57
  // Disable the button
58
  jQuery( "#ajax_thumbnail_rebuild" ).attr( "disabled", true );
59
- jQuery("#time").show();
60
  // Display the message
61
  _self.setMessage( sis.reading );
62
 
@@ -65,6 +78,15 @@ var regenerate = {
65
  _self.getPostTypes();
66
  },
67
  success: function( r ) {
 
 
 
 
 
 
 
 
 
68
  // Eval the response
69
  _self.list = r ;
70
 
@@ -93,7 +115,7 @@ var regenerate = {
93
  if ( this.curr >= this.list.length ) {
94
  var now = new Date();
95
  this.reInit();
96
- this.setMessage( sis.done+this.curr+' '+sis.messageRegenerated+' finished at :'+now.getHours()+":"+now.getMinutes()+":"+now.getSeconds() );
97
  return;
98
  }
99
 
@@ -116,11 +138,16 @@ var regenerate = {
116
  jQuery( ".progress-percent span.text" ).html( Math.round( _self.percent ) + "%").closest( '.progress-percent' ).animate( { left: Math.round( _self.percent )-2.5 + "%" }, 500 );
117
  },
118
  success: function( r ) {
119
-
120
  // Check if error or a message in response
121
- if( ( !r.src || !r.time ) && r.error ) {
 
 
 
 
 
 
122
  jQuery( '#error_messages' ).addClass( 'error message' );
123
- jQuery( '#error_messages ul.messages' ).append( '<li>'+r.error+'</li>' );
124
  } else {
125
 
126
  // Append a message if needed
@@ -254,9 +281,10 @@ var sizes = {
254
  name: 'custom_image_sizes[' + name + '][w]',
255
  step: 1,
256
  min: 0,
257
- id: 'custom_image_sizes[' + name + '][w]'
 
258
  }
259
- ).val( "0" ).addClass( "w" )
260
  ).appendTo( tdEl );
261
 
262
  jQuery( '<label />' ).attr( 'for', 'custom_image_sizes[' + name + '][h]' ).text(sis.maximumHeight).append(
@@ -264,9 +292,10 @@ var sizes = {
264
  name: 'custom_image_sizes[' + name + '][h]',
265
  step: 1,
266
  min: 0,
267
- id: 'custom_image_sizes[' + name + '][h]'
 
268
  }
269
- ).val( "0" ).addClass( "h" )
270
  ).appendTo( tdEl );
271
 
272
  jQuery( '<div />' )
@@ -276,7 +305,8 @@ var sizes = {
276
  .attr( {
277
  type: 'checkbox',
278
  name: 'custom_image_sizes[' + name + '][c]',
279
- id: 'custom_image_sizes[' + name + '][c]'
 
280
  } )
281
  .val( "1" )
282
  .addClass( 'c' )
@@ -296,7 +326,8 @@ var sizes = {
296
  .attr( {
297
  type: 'checkbox',
298
  name: 'custom_image_sizes[' + name + '][s]',
299
- id: 'custom_image_sizes[' + name + '][s]'
 
300
  } )
301
  .val( "1" )
302
  .addClass( 's' )
@@ -412,11 +443,18 @@ var sizes = {
412
  _self.addToArray( n, w, h, c, classTr );
413
  }
414
 
 
 
 
 
 
 
415
  // Add the generated class
416
  parent.addClass( classTr );
 
417
 
418
  // Change the button text
419
- parent.find( '.add_size .ui-button-text' ).text( sis.update ) ;
420
 
421
  clearTimeout( timer );
422
  // Remove classes after 3 seconds
@@ -500,16 +538,60 @@ var sizes = {
500
  } );
501
  jQuery(".add_size").button( {
502
  icons: {
503
- primary: 'ui-icon-circle-check'
504
  }
505
  } );
506
- jQuery(".crop,.show").button();
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
507
  }
508
  }
509
  jQuery(function() {
510
 
511
  // Regeneration listener
512
- jQuery( '#ajax_thumbnail_rebuild' ).click( function() { regenerate.startRegenerating(); } );
513
 
514
  // Add size button listener
515
  jQuery('#add_size').click(function( e ){ sizes.add( e, this ); });
@@ -519,7 +601,9 @@ jQuery(function() {
519
 
520
  // Delete and Adding buttons
521
  jQuery('.delete_size').live( 'click', function( e ) { sizes.deleteSize( e, this ); } );
522
- jQuery('.validate_size').live( 'click', function( e ) { sizes.ajaxRegister( e, this ); } );
 
 
523
 
524
  // Seup the getphp
525
  jQuery('#get_php').click( function( e ){ sizes.getPhp( e, this ) } );
@@ -531,10 +615,12 @@ jQuery(function() {
531
  } );
532
  jQuery('span.theme_size').closest('tr').children('th').css( {
533
  'color': '#F2A13A'
534
- } );
535
 
536
  // Set the buttons
537
  sizes.setButtons();
 
 
538
 
539
  // Error ajax handler
540
  jQuery( '<div class="ui-widget" id="msg"><div class="ui-state-error ui-corner-all" style="padding: 0 .7em;"><p><span class="ui-icon ui-icon-alert" style="float: left; margin-right: .3em;"></span><strong>Alert:</strong> <ul class="msg" ></ul></p></div></div>').prependTo( "div#wpwrap" ).slideUp( 0 );
41
  // Refresh the progress Bar
42
  jQuery(".progress").progressbar();
43
  },
44
+ checkStartRegenerating : function(){
45
+ if( jQuery( '.notSaved' ).size() > 0 ) {
46
+ var confirmation = confirm( sis.notSaved );
47
+
48
+ // Delete if ok else not delete
49
+ if( confirmation == true ) {
50
+ this.startRegenerating();
51
+ } else {
52
+ return false;
53
+ }
54
+ } else {
55
+ this.startRegenerating();
56
+ }
57
+ },
58
  startRegenerating : function( ) {
59
  var _self = this;
60
 
70
 
71
  // Disable the button
72
  jQuery( "#ajax_thumbnail_rebuild" ).attr( "disabled", true );
 
73
  // Display the message
74
  _self.setMessage( sis.reading );
75
 
78
  _self.getPostTypes();
79
  },
80
  success: function( r ) {
81
+
82
+ if( typeof r !== 'object' ) {
83
+ _self.reInit();
84
+ _self.setMessage( sis.phpError );
85
+ return false;
86
+ }
87
+
88
+ jQuery("#time").show();
89
+
90
  // Eval the response
91
  _self.list = r ;
92
 
115
  if ( this.curr >= this.list.length ) {
116
  var now = new Date();
117
  this.reInit();
118
+ this.setMessage( sis.done+this.curr+' '+sis.messageRegenerated+sis.startedAt+now.getHours()+":"+now.getMinutes()+":"+now.getSeconds()+sis.finishedAt+now.getHours()+":"+now.getMinutes()+":"+now.getSeconds() );
119
  return;
120
  }
121
 
138
  jQuery( ".progress-percent span.text" ).html( Math.round( _self.percent ) + "%").closest( '.progress-percent' ).animate( { left: Math.round( _self.percent )-2.5 + "%" }, 500 );
139
  },
140
  success: function( r ) {
 
141
  // Check if error or a message in response
142
+ if( ( !r.src || !r.time ) || r.error || typeof r !== 'object' ) {
143
+ var message ='';
144
+ if( typeof r !== 'object' )
145
+ message = sis.phpError;
146
+ else
147
+ message = r.error
148
+
149
  jQuery( '#error_messages' ).addClass( 'error message' );
150
+ jQuery( '#error_messages ul.messages' ).append( '<li>'+message+'</li>' );
151
  } else {
152
 
153
  // Append a message if needed
281
  name: 'custom_image_sizes[' + name + '][w]',
282
  step: 1,
283
  min: 0,
284
+ id: 'custom_image_sizes[' + name + '][w]',
285
+ base_w:0
286
  }
287
+ ).val( "0" ).addClass( "w small-text" )
288
  ).appendTo( tdEl );
289
 
290
  jQuery( '<label />' ).attr( 'for', 'custom_image_sizes[' + name + '][h]' ).text(sis.maximumHeight).append(
292
  name: 'custom_image_sizes[' + name + '][h]',
293
  step: 1,
294
  min: 0,
295
+ id: 'custom_image_sizes[' + name + '][h]',
296
+ base_h:0
297
  }
298
+ ).val( "0" ).addClass( "h small-text" )
299
  ).appendTo( tdEl );
300
 
301
  jQuery( '<div />' )
305
  .attr( {
306
  type: 'checkbox',
307
  name: 'custom_image_sizes[' + name + '][c]',
308
+ id: 'custom_image_sizes[' + name + '][c]',
309
+ base_c:0
310
  } )
311
  .val( "1" )
312
  .addClass( 'c' )
326
  .attr( {
327
  type: 'checkbox',
328
  name: 'custom_image_sizes[' + name + '][s]',
329
+ id: 'custom_image_sizes[' + name + '][s]',
330
+ base_s:0
331
  } )
332
  .val( "1" )
333
  .addClass( 's' )
443
  _self.addToArray( n, w, h, c, classTr );
444
  }
445
 
446
+ // Add the new sizes values for checking of changed or not
447
+ parent.find( 'input.h' ).attr( { base_h : h } );
448
+ parent.find( 'input.w' ).attr( { base_w : w } );
449
+ parent.find( 'input.c' ).attr( { base_c : c } );
450
+ parent.find( 'input.s' ).attr( { base_s : s } );
451
+
452
  // Add the generated class
453
  parent.addClass( classTr );
454
+ parent.find( 'td' ).removeClass( "notSaved" );
455
 
456
  // Change the button text
457
+ parent.find( '.add_size' ).removeClass('validate_size').hide().children('.ui-button-text' ).text( sis.update ) ;
458
 
459
  clearTimeout( timer );
460
  // Remove classes after 3 seconds
538
  } );
539
  jQuery(".add_size").button( {
540
  icons: {
541
+ primary: 'ui-icon-check'
542
  }
543
  } );
544
+ jQuery(".crop").button({
545
+ icons: {
546
+ primary: 'ui-icon-arrow-4-diag'
547
+ }
548
+ });
549
+ jQuery(".show").button({
550
+ icons: {
551
+ primary: 'ui-icon-lightbulb'
552
+ }
553
+ });
554
+ },
555
+ displayChange : function( el ) {
556
+ el = jQuery( el );
557
+
558
+ var h_el = el.closest( 'tr' ).find( 'input.h' );
559
+ var w_el = el.closest( 'tr' ).find( 'input.w' );
560
+ var c_el = el.closest( 'tr' ).find( 'input.c' );
561
+ var s_el = el.closest( 'tr' ).find( 'input.s' );
562
+
563
+ var h = h_el.val();
564
+ var w = w_el.val();
565
+ var c = c_el.prop( 'checked' );
566
+ var s = s_el.prop( 'checked' );
567
+
568
+ var base_h = h_el.attr( 'base_h' );
569
+ var base_w = w_el.attr( 'base_w' );
570
+ var base_c = c_el.attr( 'base_c' );
571
+ var base_s = s_el.attr( 'base_s' );
572
+
573
+ if( base_c == "0" )
574
+ base_c = false;
575
+ else
576
+ base_c = true;
577
+
578
+ if( base_s == "0" )
579
+ base_s = false;
580
+ else
581
+ base_s = true;
582
+
583
+
584
+ if( h != base_h || w != base_w || c != base_c || s != base_s ) {
585
+ el.closest( 'td' ).addClass( 'notSaved' ).find('.add_size').show();
586
+ } else {
587
+ el.closest( 'td' ).removeClass( 'notSaved' ).find('.add_size').hide();
588
+ }
589
  }
590
  }
591
  jQuery(function() {
592
 
593
  // Regeneration listener
594
+ jQuery( '#ajax_thumbnail_rebuild' ).click( function() { regenerate.checkStartRegenerating(); } );
595
 
596
  // Add size button listener
597
  jQuery('#add_size').click(function( e ){ sizes.add( e, this ); });
601
 
602
  // Delete and Adding buttons
603
  jQuery('.delete_size').live( 'click', function( e ) { sizes.deleteSize( e, this ); } );
604
+ jQuery('.add_size').live( 'click', function( e ) { sizes.ajaxRegister( e, this ); } );
605
+
606
+ jQuery( '.h,.w,.c,.s' ).live( 'click', function( e ) { sizes.displayChange( this ); } );
607
 
608
  // Seup the getphp
609
  jQuery('#get_php').click( function( e ){ sizes.getPhp( e, this ) } );
615
  } );
616
  jQuery('span.theme_size').closest('tr').children('th').css( {
617
  'color': '#F2A13A'
618
+ } );
619
 
620
  // Set the buttons
621
  sizes.setButtons();
622
+
623
+ jQuery(".add_size").hide();
624
 
625
  // Error ajax handler
626
  jQuery( '<div class="ui-widget" id="msg"><div class="ui-state-error ui-corner-all" style="padding: 0 .7em;"><p><span class="ui-icon ui-icon-alert" style="float: left; margin-right: .3em;"></span><strong>Alert:</strong> <ul class="msg" ></ul></p></div></div>').prependTo( "div#wpwrap" ).slideUp( 0 );
js/sis.min.js CHANGED
@@ -1,19 +1 @@
1
- var regenerate={post_types:"",thumbnails:"",list:"",cur:0,timeScript:[],dateScript:"",percent:"",getThumbnails:function(){var a=this,c=jQuery("input.thumbnails:checked");c.length!=jQuery('input.thumbnails[type="checkbox"]').length&&c.each(function(){a.thumbnails+="&thumbnails[]="+jQuery(this).val()})},getPostTypes:function(){var a=this,c=jQuery("input.post_types:checked");c.length!=jQuery('input.post_types[type="checkbox"]').length&&c.each(function(){a.post_types+="&post_types[]="+jQuery(this).val()})},
2
- setMessage:function(a){jQuery("#regenerate_message").html("<p>"+a+"</p>").addClass("updated").addClass("fade").show();this.refreshProgressBar()},setTimeMessage:function(a){jQuery("#time p span.time_message").html(a)},refreshProgressBar:function(){jQuery(".progress").progressbar()},startRegenerating:function(){var a=this;this.dateScript=new Date;jQuery.ajax({url:sis.ajaxUrl,type:"POST",dataType:"json",data:"action=sis_ajax_thumbnail_rebuild&do=getlist"+a.post_types,beforeSend:function(){jQuery("#ajax_thumbnail_rebuild").attr("disabled",
3
- !0);jQuery("#time").show();a.setMessage(sis.reading);a.getThumbnails();a.getPostTypes()},success:function(c){a.list=c;a.curr=0;jQuery(".progress").show();a.regenItem()}})},regenItem:function(){var a=this;if(!this.list)return this.reInit(),this.setMessage(sis.noMedia),!1;if(this.curr>=this.list.length){var c=new Date;this.reInit();this.setMessage(sis.done+this.curr+" "+sis.messageRegenerated+" finished at :"+c.getHours()+":"+c.getMinutes()+":"+c.getSeconds())}else this.setMessage(sis.regenerating+
4
- (this.curr+1)+sis.of+this.list.length+" ("+this.list[this.curr].title+")..."),jQuery.ajax({url:sis.ajaxUrl,type:"POST",dataType:"json",data:"action=sis_ajax_thumbnail_rebuild&do=regen&id="+this.list[this.curr].id+this.thumbnails,beforeSend:function(){a.percent=a.curr/a.list.length*100;jQuery(".progress").progressbar("value",a.percent);jQuery(".progress-percent span.text").html(Math.round(a.percent)+"%").closest(".progress-percent").animate({left:Math.round(a.percent)-2.5+"%"},500)},success:function(b){if((!b.src||
5
- !b.time)&&b.error)jQuery("#error_messages").addClass("error message"),jQuery("#error_messages ul.messages").append("<li>"+b.error+"</li>");else{b.message&&jQuery("#time ul.messages").append("<li>"+b.message+"</li>");var c=new Date,e=new Date;jQuery("#thumb").show();jQuery("#thumb-img").attr("src",b.src);a.timeScript.push(b.time);for(var b=a.timeScript.length,d=0,f=0;f<b;f++)d+=a.timeScript[f];b=Math.round(d/b*a.list.length*1E3);c.setTime(a.dateScript.getTime()+b);e=a.s2t((c.getTime()-e.getTime())/
6
- 1E3);a.setTimeMessage(c.getHours()+":"+c.getMinutes()+":"+c.getSeconds()+sis.or+e+sis.beforeEnd)}a.curr++;a.regenItem()}})},s2t:function(a){a%=86400;var c=new Date(1970,0,1);c.setSeconds(a);var b=c.toTimeString().substr(0,8);a>86399&&(b=Math.floor((c-Date.parse("1/1/70"))/36E5)+b.substr(2));return b},reInit:function(){jQuery("#ajax_thumbnail_rebuild").removeAttr("disabled");jQuery(".progress, #thumb").hide()}},sizes={i:0,add:function(a,c){a.preventDefault();var b=jQuery("<tr />").attr("valign","top").addClass("new_size_"+
7
- this.i);jQuery("<th />").attr("scope","row").append(jQuery("<input />").attr({type:"text",id:"new_size_"+this.i}).val("thumbnail-name")).appendTo(b);jQuery("<td />").append(jQuery("<input />").attr({type:"button",id:"validate_"+this.i}).val(sis.validate).addClass("button-secondary action add_size_name")).appendTo(b);jQuery(c).closest("tr").before(b);this.i++},register:function(a,c){a.preventDefault();var b=jQuery(c).closest("tr").children("th").find("input").val(),g=jQuery(c).closest("tr").children("th").find("input").attr("id"),
8
- e=jQuery(c).closest("tbody").find('input[value="'+b+'"]').length;if(b=="thumbnail"||b=="medium"||b=="large")return alert(sis.notOriginal),!1;else if(e!=0)return alert(sis.alreadyPresent),!1;var e=jQuery("<th />").attr("scope","row").text(sis.size+" "+b),d=jQuery("<td />");jQuery("<input />").attr({type:"hidden",name:"image_name"}).val(b).appendTo(d);jQuery("<input />").attr({type:"hidden",name:"custom_image_sizes["+b+"][custom]"}).val("1").appendTo(d);jQuery("<label />").attr("for","custom_image_sizes["+
9
- b+"][w]").text(sis.maximumWidth).append(jQuery("<input />").attr({type:"number",name:"custom_image_sizes["+b+"][w]",step:1,min:0,id:"custom_image_sizes["+b+"][w]"}).val("0").addClass("w")).appendTo(d);jQuery("<label />").attr("for","custom_image_sizes["+b+"][h]").text(sis.maximumHeight).append(jQuery("<input />").attr({type:"number",name:"custom_image_sizes["+b+"][h]",step:1,min:0,id:"custom_image_sizes["+b+"][h]"}).val("0").addClass("h")).appendTo(d);jQuery("<div />").addClass("crop").append(jQuery("<input />").attr({type:"checkbox",
10
- name:"custom_image_sizes["+b+"][c]",id:"custom_image_sizes["+b+"][c]"}).val("1").addClass("c")).append(jQuery("<label />").attr({"for":"checkbox",id:"custom_image_sizes["+b+"][c]"}).text(sis.crop)).appendTo(d);jQuery("<div />").addClass("show").append(jQuery("<input />").attr({type:"checkbox",name:"custom_image_sizes["+b+"][s]",id:"custom_image_sizes["+b+"][s]"}).val("1").addClass("s")).append(jQuery("<label />").attr({"for":"checkbox",id:"custom_image_sizes["+b+"][s]"}).text(sis.show)).appendTo(d);
11
- jQuery("<div />").text(sis.deleteImage).addClass("delete_size").appendTo(d);jQuery("<div />").text(sis.validateButton).addClass("add_size validate_size").appendTo(d);jQuery("#"+g).closest("tr").html(e.after(d));this.setButtons()},deleteSize:function(a,c){a.preventDefault();confirm(sis.confirmDelete)==!0&&(jQuery(c).closest("tr").remove(),this.ajaxUnregister(c))},getPhp:function(a,c){a.preventDefault();var b=jQuery(c).closest("tr");jQuery.ajax({url:sis.ajaxUrl,type:"POST",data:{action:"get_sizes"},
12
- beforeSend:function(){b.removeClass("addPending");b.addClass("addPending")},success:function(a){jQuery("#get_php").nextAll("code").html("<br />"+a).show().css({display:"block"});b.removeClass("addPending")}})},ajaxRegister:function(a,c){a.preventDefault();var b=this,g=jQuery(c).closest("table"),e,d=jQuery(c).closest("tr"),f=d.find('input[name="image_name"]').val(),h=d.find("input.c").attr("checked"),i=d.find("input.s").attr("checked"),h=h==!1||h==void 0?!1:!0,i=i==!1||i==void 0?!1:!0,j=parseInt(d.find("input.w").val()),
13
- k=parseInt(d.find("input.h").val());g.hasClass("ajaxing")||jQuery.ajax({url:sis.ajaxUrl,type:"POST",dataType:"json",data:{action:"add_size",width:j,height:k,crop:h,name:f,show:i},beforeSend:function(){d.removeClass("errorAdding notChangedAdding successAdding");d.addClass("addPending");g.addClass("ajaxing")},success:function(a){var c="";d.removeClass("addPending");g.removeClass("ajaxing");a==0?c="errorAdding":(c=a==2?"notChangedAdding":"successAdding",b.addToArray(f,j,k,h,c));d.addClass(c);d.find(".add_size .ui-button-text").text(sis.update);
14
- clearTimeout(e);e=setTimeout(function(){d.removeClass("errorAdding notChangedAdding successAdding")},3E3)}})},ajaxUnregister:function(a){var c=this,b=jQuery(a).closest("tr").find('input[name="image_name"]').val();jQuery.ajax({url:sis.ajaxUrl,type:"POST",data:{action:"remove_size",name:b},success:function(){c.removeFromArray(a)}})},addToArray:function(a,c,b,g,e){var d=jQuery('#sis-regen .wrapper > table > tbody input[value="'+a+'"]'),f="",h,f=d.length!=0?d.closest("tr"):jQuery("#sis-regen .wrapper > table > tbody > tr:first").clone(),
15
- g=g==!0?sis.tr:sis.fl;f.find("td > label").attr("for",a).end().find("input.thumbnails").val(a).attr("id",a).end().find("td:nth-child(2) > label").text(a).end().find("td:nth-child(3) > label").text(c+"px").end().find("td:nth-child(4) > label").text(b+"px").end().find("td:nth-child(5) > label").text(g);d.length==0&&f.appendTo("#sis-regen .wrapper > table > tbody");f.removeClass("errorAdding notChangedAdding successAdding").addClass(e);clearTimeout(h);h=setTimeout(function(){f.removeClass("errorAdding notChangedAdding successAdding")},
16
- 3E3)},removeFromArray:function(a){a=jQuery(a).closest("tr").find("input[name=image_name]").val();jQuery('#sis-regen .wrapper > table > tbody input[value="'+a+'"]').closest("tr").remove()},setButtons:function(){jQuery(".delete_size").button({icons:{primary:"ui-icon-circle-close"}});jQuery(".add_size").button({icons:{primary:"ui-icon-circle-check"}});jQuery(".crop,.show").button()}};
17
- jQuery(function(){jQuery("#ajax_thumbnail_rebuild").click(function(){regenerate.startRegenerating()});jQuery("#add_size").click(function(a){sizes.add(a,this)});jQuery(".add_size_name").live("click",function(a){sizes.register(a,this)});jQuery(".delete_size").live("click",function(a){sizes.deleteSize(a,this)});jQuery(".validate_size").live("click",function(a){sizes.ajaxRegister(a,this)});jQuery("#get_php").click(function(a){sizes.getPhp(a,this)});jQuery("#get_php").nextAll("code").hide();jQuery("span.custom_size").closest("tr").children("th").css({color:"#89D76A"});
18
- jQuery("span.theme_size").closest("tr").children("th").css({color:"#F2A13A"});sizes.setButtons();jQuery('<div class="ui-widget" id="msg"><div class="ui-state-error ui-corner-all" style="padding: 0 .7em;"><p><span class="ui-icon ui-icon-alert" style="float: left; margin-right: .3em;"></span><strong>Alert:</strong> <ul class="msg" ></ul></p></div></div>').prependTo("div#wpwrap").slideUp(0);jQuery("#msg").ajaxError(function(a,c,b){jQuery(this).find(".msg").append("<li>"+sis.ajaxErrorHandler+" "+b.url+
19
- ", status "+c.status+" : "+c.statusText+"</li>").end().stop(!1,!1).slideDown(200).delay(5E3).slideUp(200)})});
1
+ var regenerate={post_types:"",thumbnails:"",list:"",cur:0,timeScript:new Array,dateScript:"",percent:"",getThumbnails:function(){var a=this;var b=jQuery("input.thumbnails:checked");if(b.length!=jQuery('input.thumbnails[type="checkbox"]').length){b.each(function(b){a.thumbnails+="&thumbnails[]="+jQuery(this).val()})}},getPostTypes:function(){var a=this;var b=jQuery("input.post_types:checked");if(b.length!=jQuery('input.post_types[type="checkbox"]').length){b.each(function(){a.post_types+="&post_types[]="+jQuery(this).val()})}},setMessage:function(a){jQuery("#regenerate_message").html("<p>"+a+"</p>").addClass("updated").addClass("fade").show();this.refreshProgressBar()},setTimeMessage:function(a){jQuery("#time p span.time_message").html(a)},refreshProgressBar:function(){jQuery(".progress").progressbar()},checkStartRegenerating:function(){if(jQuery(".notSaved").size()>0){var a=confirm(sis.notSaved);if(a==true){this.startRegenerating()}else{return false}}else{this.startRegenerating()}},startRegenerating:function(){var a=this;this.dateScript=new Date;jQuery.ajax({url:sis.ajaxUrl,type:"POST",dataType:"json",data:"action=sis_ajax_thumbnail_rebuild&do=getlist"+a.post_types,beforeSend:function(){jQuery("#ajax_thumbnail_rebuild").attr("disabled",true);a.setMessage(sis.reading);a.getThumbnails();a.getPostTypes()},success:function(b){if(typeof b!=="object"){a.reInit();a.setMessage(sis.phpError);return false}jQuery("#time").show();a.list=b;a.curr=0;jQuery(".progress").show();a.regenItem()}})},regenItem:function(){var a=this;if(!this.list){this.reInit();this.setMessage(sis.noMedia);return false}if(this.curr>=this.list.length){var b=new Date;this.reInit();this.setMessage(sis.done+this.curr+" "+sis.messageRegenerated+sis.startedAt+b.getHours()+":"+b.getMinutes()+":"+b.getSeconds()+sis.finishedAt+b.getHours()+":"+b.getMinutes()+":"+b.getSeconds());return}this.setMessage(sis.regenerating+(this.curr+1)+sis.of+this.list.length+" ("+this.list[this.curr].title+")...");jQuery.ajax({url:sis.ajaxUrl,type:"POST",dataType:"json",data:"action=sis_ajax_thumbnail_rebuild&do=regen&id="+this.list[this.curr].id+this.thumbnails,beforeSend:function(){a.percent=a.curr/a.list.length*100;jQuery(".progress").progressbar("value",a.percent);jQuery(".progress-percent span.text").html(Math.round(a.percent)+"%").closest(".progress-percent").animate({left:Math.round(a.percent)-2.5+"%"},500)},success:function(b){if(!b.src||!b.time||b.error||typeof b!=="object"){var c="";if(typeof b!=="object")c=sis.phpError;else c=b.error;jQuery("#error_messages").addClass("error message");jQuery("#error_messages ul.messages").append("<li>"+c+"</li>")}else{if(b.message)jQuery("#time ul.messages").append("<li>"+b.message+"</li>");var d=new Date;var e=new Date;jQuery("#thumb").show();jQuery("#thumb-img").attr("src",b.src);a.timeScript.push(b.time);var f=a.timeScript.length;var g=0;for(var h=0;h<f;h++){g+=a.timeScript[h]}var i=g/f;var j=Math.round(i*a.list.length*1e3);d.setTime(a.dateScript.getTime()+j);var k=a.s2t((d.getTime()-e.getTime())/1e3);a.setTimeMessage(d.getHours()+":"+d.getMinutes()+":"+d.getSeconds()+sis.or+k+sis.beforeEnd)}a.curr++;a.regenItem()}})},s2t:function(a){a=a%86400;var b=new Date(1970,0,1);b.setSeconds(a);var c=b.toTimeString().substr(0,8);if(a>86399)c=Math.floor((b-Date.parse("1/1/70"))/36e5)+c.substr(2);return c},reInit:function(){jQuery("#ajax_thumbnail_rebuild").removeAttr("disabled");jQuery(".progress, #thumb").hide()}};var sizes={i:0,add:function(a,b){a.preventDefault();var c=jQuery("<tr />").attr("valign","top").addClass("new_size_"+this.i);jQuery("<th />").attr("scope","row").append(jQuery("<input />").attr({type:"text",id:"new_size_"+this.i}).val("thumbnail-name")).appendTo(c);jQuery("<td />").append(jQuery("<input />").attr({type:"button",id:"validate_"+this.i}).val(sis.validate).addClass("button-secondary action add_size_name")).appendTo(c);jQuery(b).closest("tr").before(c);this.i++},register:function(a,b){a.preventDefault();var c=jQuery(b).closest("tr").children("th").find("input").val();var d=jQuery(b).closest("tr").children("th").find("input").attr("id");var e=jQuery(b).closest("tbody").find('input[value="'+c+'"]').length;if(c=="thumbnail"||c=="medium"||c=="large"){alert(sis.notOriginal);return false}else if(e!=0){alert(sis.alreadyPresent);return false}var f=jQuery("<th />").attr("scope","row").text(sis.size+" "+c);var g=jQuery("<td />");jQuery("<input />").attr({type:"hidden",name:"image_name"}).val(c).appendTo(g);jQuery("<input />").attr({type:"hidden",name:"custom_image_sizes["+c+"][custom]"}).val("1").appendTo(g);jQuery("<label />").attr("for","custom_image_sizes["+c+"][w]").text(sis.maximumWidth).append(jQuery("<input />").attr({type:"number",name:"custom_image_sizes["+c+"][w]",step:1,min:0,id:"custom_image_sizes["+c+"][w]",base_w:0}).val("0").addClass("w small-text")).appendTo(g);jQuery("<label />").attr("for","custom_image_sizes["+c+"][h]").text(sis.maximumHeight).append(jQuery("<input />").attr({type:"number",name:"custom_image_sizes["+c+"][h]",step:1,min:0,id:"custom_image_sizes["+c+"][h]",base_h:0}).val("0").addClass("h small-text")).appendTo(g);jQuery("<div />").addClass("crop").append(jQuery("<input />").attr({type:"checkbox",name:"custom_image_sizes["+c+"][c]",id:"custom_image_sizes["+c+"][c]",base_c:0}).val("1").addClass("c")).append(jQuery("<label />").attr({"for":"checkbox",id:"custom_image_sizes["+c+"][c]"}).text(sis.crop)).appendTo(g);jQuery("<div />").addClass("show").append(jQuery("<input />").attr({type:"checkbox",name:"custom_image_sizes["+c+"][s]",id:"custom_image_sizes["+c+"][s]",base_s:0}).val("1").addClass("s")).append(jQuery("<label />").attr({"for":"checkbox",id:"custom_image_sizes["+c+"][s]"}).text(sis.show)).appendTo(g);jQuery("<div />").text(sis.deleteImage).addClass("delete_size").appendTo(g);jQuery("<div />").text(sis.validateButton).addClass("add_size validate_size").appendTo(g);jQuery("#"+d).closest("tr").html(f.after(g));this.setButtons()},deleteSize:function(a,b){a.preventDefault();var c=confirm(sis.confirmDelete);if(c==true){jQuery(b).closest("tr").remove();this.ajaxUnregister(b)}},getPhp:function(a,b){a.preventDefault();var c=jQuery(b).closest("tr");jQuery.ajax({url:sis.ajaxUrl,type:"POST",data:{action:"get_sizes"},beforeSend:function(){c.removeClass("addPending");c.addClass("addPending")},success:function(a){jQuery("#get_php").nextAll("code").html("<br />"+a).show().css({display:"block"});c.removeClass("addPending")}})},ajaxRegister:function(a,b){a.preventDefault();var c=this;var d=jQuery(b).closest("table");var e;var f=jQuery(b).closest("tr");var g=f.find('input[name="image_name"]').val();var h=f.find("input.c").attr("checked");var i=f.find("input.s").attr("checked");if(h==false||h==undefined){h=false}else{h=true}if(i==false||i==undefined){i=false}else{i=true}var j=parseInt(f.find("input.w").val());var k=parseInt(f.find("input.h").val());if(!d.hasClass("ajaxing")){jQuery.ajax({url:sis.ajaxUrl,type:"POST",dataType:"json",data:{action:"add_size",width:j,height:k,crop:h,name:g,show:i},beforeSend:function(){f.removeClass("errorAdding notChangedAdding successAdding");f.addClass("addPending");d.addClass("ajaxing")},success:function(a){var b="";f.removeClass("addPending");d.removeClass("ajaxing");if(a==0){b="errorAdding"}else if(a==2){b="notChangedAdding";c.addToArray(g,j,k,h,b)}else{b="successAdding";c.addToArray(g,j,k,h,b)}f.find("input.h").attr({base_h:k});f.find("input.w").attr({base_w:j});f.find("input.c").attr({base_c:h});f.find("input.s").attr({base_s:i});f.addClass(b);f.find("td").removeClass("notSaved");f.find(".add_size").removeClass("validate_size").hide().children(".ui-button-text").text(sis.update);clearTimeout(e);e=setTimeout(function(){f.removeClass("errorAdding notChangedAdding successAdding")},3*1e3)}})}},ajaxUnregister:function(a){var b=this;var c=jQuery(a).closest("tr").find('input[name="image_name"]').val();jQuery.ajax({url:sis.ajaxUrl,type:"POST",data:{action:"remove_size",name:c},success:function(c){b.removeFromArray(a)}})},addToArray:function(a,b,c,d,e){var f=jQuery('#sis-regen .wrapper > table > tbody input[value="'+a+'"]');var g="";var h;if(f.length!=0)g=f.closest("tr");else g=jQuery("#sis-regen .wrapper > table > tbody > tr:first").clone();if(d==true)d=sis.tr;else d=sis.fl;g.find("td > label").attr("for",a).end().find("input.thumbnails").val(a).attr("id",a).end().find("td:nth-child(2) > label").text(a).end().find("td:nth-child(3) > label").text(b+"px").end().find("td:nth-child(4) > label").text(c+"px").end().find("td:nth-child(5) > label").text(d);if(f.length==0)g.appendTo("#sis-regen .wrapper > table > tbody");g.removeClass("errorAdding notChangedAdding successAdding").addClass(e);clearTimeout(h);h=setTimeout(function(){g.removeClass("errorAdding notChangedAdding successAdding")},3*1e3)},removeFromArray:function(a){var b=jQuery(a).closest("tr").find("input[name=image_name]").val();jQuery('#sis-regen .wrapper > table > tbody input[value="'+b+'"]').closest("tr").remove()},setButtons:function(){jQuery(".delete_size").button({icons:{primary:"ui-icon-circle-close"}});jQuery(".add_size").button({icons:{primary:"ui-icon-check"}});jQuery(".crop").button({icons:{primary:"ui-icon-arrow-4-diag"}});jQuery(".show").button({icons:{primary:"ui-icon-lightbulb"}})},displayChange:function(a){a=jQuery(a);var b=a.closest("tr").find("input.h");var c=a.closest("tr").find("input.w");var d=a.closest("tr").find("input.c");var e=a.closest("tr").find("input.s");var f=b.val();var g=c.val();var h=d.prop("checked");var i=e.prop("checked");var j=b.attr("base_h");var k=c.attr("base_w");var l=d.attr("base_c");var m=e.attr("base_s");if(l=="0")l=false;else l=true;if(m=="0")m=false;else m=true;if(f!=j||g!=k||h!=l||i!=m){a.closest("td").addClass("notSaved").find(".add_size").show()}else{a.closest("td").removeClass("notSaved").find(".add_size").hide()}}};jQuery(function(){jQuery("#ajax_thumbnail_rebuild").click(function(){regenerate.checkStartRegenerating()});jQuery("#add_size").click(function(a){sizes.add(a,this)});jQuery(".add_size_name").live("click",function(a){sizes.register(a,this)});jQuery(".delete_size").live("click",function(a){sizes.deleteSize(a,this)});jQuery(".add_size").live("click",function(a){sizes.ajaxRegister(a,this)});jQuery(".h,.w,.c,.s").live("click",function(a){sizes.displayChange(this)});jQuery("#get_php").click(function(a){sizes.getPhp(a,this)});jQuery("#get_php").nextAll("code").hide();jQuery("span.custom_size").closest("tr").children("th").css({color:"#89D76A"});jQuery("span.theme_size").closest("tr").children("th").css({color:"#F2A13A"});sizes.setButtons();jQuery(".add_size").hide();jQuery('<div class="ui-widget" id="msg"><div class="ui-state-error ui-corner-all" style="padding: 0 .7em;"><p><span class="ui-icon ui-icon-alert" style="float: left; margin-right: .3em;"></span><strong>Alert:</strong> <ul class="msg" ></ul></p></div></div>').prependTo("div#wpwrap").slideUp(0);jQuery("#msg").ajaxError(function(a,b,c){jQuery(this).find(".msg").append("<li>"+sis.ajaxErrorHandler+" "+c.url+", status "+b.status+" : "+b.statusText+"</li>").end().stop(false,false).slideDown(200).delay(5e3).slideUp(200)})})
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
languages/sis-fr_FR.mo CHANGED
Binary file
languages/sis-fr_FR.po CHANGED
@@ -4,9 +4,9 @@ msgid ""
4
  msgstr ""
5
  "Project-Id-Version: Simple image sizes\n"
6
  "Report-Msgid-Bugs-To: \n"
7
- "POT-Creation-Date: 2011-07-05 15:34+0100\n"
8
- "PO-Revision-Date: 2011-07-05 16:11+0100\n"
9
- "Last-Translator: Nicolas <njuen@beapi.fr>\n"
10
  "Language-Team: Beapi <njuen@beapi.fr>\n"
11
  "MIME-Version: 1.0\n"
12
  "Content-Type: text/plain; charset=UTF-8\n"
@@ -18,210 +18,231 @@ msgstr ""
18
  "X-Poedit-Basepath: ../\n"
19
  "X-Poedit-SearchPath-0: .\n"
20
 
21
- #: inc/class.admin.php:57
22
  msgid "Reading attachments..."
23
  msgstr "Chargement des médias..."
24
 
25
- #: inc/class.admin.php:58
26
- #: inc/class.admin.php:194
27
  msgid "Maximum width"
28
  msgstr "Largeur maximum"
29
 
30
- #: inc/class.admin.php:59
31
- #: inc/class.admin.php:199
32
  msgid "Maximum height"
33
  msgstr "Hauteur maximum"
34
 
35
- #: inc/class.admin.php:60
36
- #: inc/class.admin.php:205
37
- #: inc/class.admin.php:277
38
- #: inc/class.admin.php:334
39
  msgid "Crop ?"
40
  msgstr "Rogner ?"
41
 
42
- #: inc/class.admin.php:61
43
- #: inc/class.admin.php:322
44
  msgid "yes"
45
  msgstr "oui"
46
 
47
- #: inc/class.admin.php:62
48
- #: inc/class.admin.php:322
49
  msgid "no"
50
  msgstr "non"
51
 
52
- #: inc/class.admin.php:63
53
- #: inc/class.admin.php:210
54
  msgid "Show in post insertion ?"
55
  msgstr "Afficher dans l'insertion ?"
56
 
57
- #: inc/class.admin.php:64
58
  msgid " of "
59
  msgstr " de "
60
 
61
- #: inc/class.admin.php:65
62
  msgid " or "
63
  msgstr " ou "
64
 
65
- #: inc/class.admin.php:66
66
  msgid " before the end."
67
  msgstr " avant la fin."
68
 
69
- #: inc/class.admin.php:67
70
- #: inc/class.admin.php:213
71
  msgid "Delete"
72
  msgstr "Supprimer"
73
 
74
- #: inc/class.admin.php:68
75
  msgid "No media in your site to regenerate !"
76
  msgstr "Pas de médias à regénérer !"
77
 
78
- #: inc/class.admin.php:69
79
  msgid "Regenerating "
80
  msgstr "Regénération "
81
 
82
- #: inc/class.admin.php:70
83
  msgid "Validate image size name"
84
  msgstr "Valider le nom de la taille d'image"
85
 
86
- #: inc/class.admin.php:71
87
  msgid "Done."
88
  msgstr "Fini."
89
 
90
- #: inc/class.admin.php:72
91
  msgid "Size"
92
  msgstr "Taille "
93
 
94
- #: inc/class.admin.php:73
95
  msgid "Don't use the basic Wordpress thumbnail size name, use the form above to edit them"
96
  msgstr "N'utilisez pas les tailles par défaut de WordPress comme nom de taille, éditez leurs valeurs avec le formulaire ci-dessus."
97
 
98
- #: inc/class.admin.php:74
99
  msgid "This size is already registered, edit it instead of recreating it."
100
  msgstr "Cette taille existe déjà, éditez la au lieu de la recréer."
101
 
102
- #: inc/class.admin.php:75
103
  msgid "Do you really want to delete these size ?"
104
  msgstr "Voulez-vous réellement supprimer cette taille ?"
105
 
106
- #: inc/class.admin.php:76
107
- #: inc/class.admin.php:214
108
  msgid "Update"
109
  msgstr "Mettre à jour"
110
 
111
- #: inc/class.admin.php:77
112
  msgid "Error requesting page"
113
  msgstr "Erreur lors de la requête vers la page"
114
 
115
- #: inc/class.admin.php:78
116
  msgid "images have been regenerated !"
117
  msgstr "images ont été regénérées !"
118
 
119
- #: inc/class.admin.php:79
120
  msgid "Validate"
121
  msgstr "Valider"
122
 
123
- #: inc/class.admin.php:97
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
124
  msgid "Settings"
125
  msgstr "Paramètres"
126
 
127
- #: inc/class.admin.php:147
128
- msgid "Size "
129
- msgstr "Taille "
 
130
 
131
- #: inc/class.admin.php:154
132
  msgid "Add a new size"
133
  msgstr "Ajouter une nouvelle taille"
134
 
135
- #: inc/class.admin.php:157
136
  msgid "Legend of the sizes"
137
  msgstr "Légende des tailles"
138
 
139
- #: inc/class.admin.php:160
140
  msgid "Get php for theme"
141
  msgstr "Récupérer le PHP pour le thème"
142
 
143
- #: inc/class.admin.php:163
144
  msgid "Thumbnail regeneration"
145
  msgstr "Régénération des vignettes"
146
 
147
- #: inc/class.admin.php:187
148
- msgid "Custom size"
149
- msgstr "Taille personnelle"
150
-
151
- #: inc/class.admin.php:190
152
- msgid "Theme size"
153
- msgstr "Taille de thème"
154
-
155
- #: inc/class.admin.php:225
156
- msgid "Add a new size of thumbnail"
157
- msgstr "Ajouter une nouvelle taille de vignette"
158
-
159
- #: inc/class.admin.php:237
160
- msgid "Get the PHP for the theme"
161
- msgstr "Récupérer le PHP pour le thème"
162
-
163
- #: inc/class.admin.php:238
164
  msgid "Copy and paste the code below into your Wordpress theme function file if you wanted to save them and deactivate the plugin."
165
  msgstr "Copiez et collez le code ci-dessous dans votre fichier de fonctions de votre thème WordPress si vous voulez les conserver et désactiver ce plugin."
166
 
167
- #: inc/class.admin.php:251
168
  msgid "The images created on your theme are <span style=\"color:#F2A13A\">orange</span> and your custom size are <span style=\"color:#89D76A\"> green </span>."
169
  msgstr "Les tailles d'images crées par votre thème sont en <span style=\"color:#F2A13A\">orange</span> et vos tailles personnalisées sont en <span style=\"color:#89D76A\"> vert </span>."
170
 
171
- #: inc/class.admin.php:269
172
  msgid "Select which thumbnails you want to rebuild:"
173
  msgstr "Sélectionnez les tailles de vignettes à régénérer"
174
 
175
- #: inc/class.admin.php:273
176
- #: inc/class.admin.php:330
177
- #: inc/class.admin.php:343
178
- #: inc/class.admin.php:369
179
  msgid "Resize ?"
180
  msgstr "Regénérer ?"
181
 
182
- #: inc/class.admin.php:274
183
- #: inc/class.admin.php:331
184
  msgid "Size name"
185
  msgstr "Nom de la taille"
186
 
187
- #: inc/class.admin.php:275
188
- #: inc/class.admin.php:332
189
  msgid "Width"
190
  msgstr "Largeur"
191
 
192
- #: inc/class.admin.php:276
193
- #: inc/class.admin.php:333
194
  msgid "Height"
195
  msgstr "Hauteur"
196
 
197
- #: inc/class.admin.php:339
198
  msgid "Select which post type source thumbnails you want to rebuild:"
199
  msgstr "Sélectionnez quelles vignettes de quel type de contenu vous souhaitez régénérer : "
200
 
201
- #: inc/class.admin.php:344
202
- #: inc/class.admin.php:370
203
  msgid "Post type"
204
  msgstr "Type de contenu"
205
 
206
- #: inc/class.admin.php:392
207
  msgid "End time calculated :"
208
  msgstr "Fin du traitement calculé :"
209
 
210
- #: inc/class.admin.php:403
211
  msgid "Last image:"
212
  msgstr "Dernière image :"
213
 
214
- #: inc/class.admin.php:404
215
  msgid "Regenerate Thumbnails"
216
  msgstr "Régénérer les vignettes"
217
 
218
- #: inc/class.admin.php:564
219
  msgid "No id given in POST datas."
220
  msgstr "Pas d'id donné dans les données du POST."
221
 
222
- #: inc/class.admin.php:574
223
- #: inc/class.admin.php:576
224
  #, php-format
225
  msgid "This file does not exists and have not been regenerated :<br/><a target=\"_blank\" href=\"%1$s\" >%2$s</a>"
226
  msgstr "Ce fichier existe déjà dans cette ces tailles d'image et n'a pas été regénéré :<br/><a target=\"_blank\" href=\"%1$s\" >%2$s</a>"
227
 
 
 
 
 
 
 
 
 
 
 
 
4
  msgstr ""
5
  "Project-Id-Version: Simple image sizes\n"
6
  "Report-Msgid-Bugs-To: \n"
7
+ "POT-Creation-Date: 2011-10-02 00:05+0100\n"
8
+ "PO-Revision-Date: 2011-10-02 00:06+0100\n"
9
+ "Last-Translator: \n"
10
  "Language-Team: Beapi <njuen@beapi.fr>\n"
11
  "MIME-Version: 1.0\n"
12
  "Content-Type: text/plain; charset=UTF-8\n"
18
  "X-Poedit-Basepath: ../\n"
19
  "X-Poedit-SearchPath-0: .\n"
20
 
21
+ #: inc/class.admin.php:66
22
  msgid "Reading attachments..."
23
  msgstr "Chargement des médias..."
24
 
25
+ #: inc/class.admin.php:67
26
+ #: inc/class.admin.php:226
27
  msgid "Maximum width"
28
  msgstr "Largeur maximum"
29
 
30
+ #: inc/class.admin.php:68
31
+ #: inc/class.admin.php:231
32
  msgid "Maximum height"
33
  msgstr "Hauteur maximum"
34
 
35
+ #: inc/class.admin.php:69
36
+ #: inc/class.admin.php:237
37
+ #: inc/class.admin.php:307
38
+ #: inc/class.admin.php:366
39
  msgid "Crop ?"
40
  msgstr "Rogner ?"
41
 
42
+ #: inc/class.admin.php:70
43
+ #: inc/class.admin.php:354
44
  msgid "yes"
45
  msgstr "oui"
46
 
47
+ #: inc/class.admin.php:71
48
+ #: inc/class.admin.php:354
49
  msgid "no"
50
  msgstr "non"
51
 
52
+ #: inc/class.admin.php:72
53
+ #: inc/class.admin.php:242
54
  msgid "Show in post insertion ?"
55
  msgstr "Afficher dans l'insertion ?"
56
 
57
+ #: inc/class.admin.php:73
58
  msgid " of "
59
  msgstr " de "
60
 
61
+ #: inc/class.admin.php:74
62
  msgid " or "
63
  msgstr " ou "
64
 
65
+ #: inc/class.admin.php:75
66
  msgid " before the end."
67
  msgstr " avant la fin."
68
 
69
+ #: inc/class.admin.php:76
70
+ #: inc/class.admin.php:244
71
  msgid "Delete"
72
  msgstr "Supprimer"
73
 
74
+ #: inc/class.admin.php:77
75
  msgid "No media in your site to regenerate !"
76
  msgstr "Pas de médias à regénérer !"
77
 
78
+ #: inc/class.admin.php:78
79
  msgid "Regenerating "
80
  msgstr "Regénération "
81
 
82
+ #: inc/class.admin.php:79
83
  msgid "Validate image size name"
84
  msgstr "Valider le nom de la taille d'image"
85
 
86
+ #: inc/class.admin.php:80
87
  msgid "Done."
88
  msgstr "Fini."
89
 
90
+ #: inc/class.admin.php:81
91
  msgid "Size"
92
  msgstr "Taille "
93
 
94
+ #: inc/class.admin.php:82
95
  msgid "Don't use the basic Wordpress thumbnail size name, use the form above to edit them"
96
  msgstr "N'utilisez pas les tailles par défaut de WordPress comme nom de taille, éditez leurs valeurs avec le formulaire ci-dessus."
97
 
98
+ #: inc/class.admin.php:83
99
  msgid "This size is already registered, edit it instead of recreating it."
100
  msgstr "Cette taille existe déjà, éditez la au lieu de la recréer."
101
 
102
+ #: inc/class.admin.php:84
103
  msgid "Do you really want to delete these size ?"
104
  msgstr "Voulez-vous réellement supprimer cette taille ?"
105
 
106
+ #: inc/class.admin.php:85
107
+ #: inc/class.admin.php:245
108
  msgid "Update"
109
  msgstr "Mettre à jour"
110
 
111
+ #: inc/class.admin.php:86
112
  msgid "Error requesting page"
113
  msgstr "Erreur lors de la requête vers la page"
114
 
115
+ #: inc/class.admin.php:87
116
  msgid "images have been regenerated !"
117
  msgstr "images ont été regénérées !"
118
 
119
+ #: inc/class.admin.php:88
120
  msgid "Validate"
121
  msgstr "Valider"
122
 
123
+ #: inc/class.admin.php:89
124
+ msgid " started at"
125
+ msgstr " commencé à"
126
+
127
+ #: inc/class.admin.php:90
128
+ msgid " finished at :"
129
+ msgstr " terminé à"
130
+
131
+ #: inc/class.admin.php:91
132
+ msgid "Error during the php treatment, be sure to not have php errors in your page"
133
+ msgstr "Erreur lors du traitement PHP, soyez sûr que vous n'avez pas d'erreurs PHP dans vos pages"
134
+
135
+ #: inc/class.admin.php:92
136
+ msgid "All the sizes you have modifed are not saved, continue anyway ?"
137
+ msgstr "Toutes les tailles que vous avez modifié n'ont pas été enregistrées, continuer ?"
138
+
139
+ #: inc/class.admin.php:93
140
+ #, php-format
141
+ msgid "This image has been regenerated in %s seconds"
142
+ msgstr "Cette image a été regénérée en % secondes"
143
+
144
+ #: inc/class.admin.php:108
145
+ msgid "Regenerate thumbnails"
146
+ msgstr "Régénérer les vignettes"
147
+
148
+ #: inc/class.admin.php:128
149
  msgid "Settings"
150
  msgstr "Paramètres"
151
 
152
+ #: inc/class.admin.php:177
153
+ #, php-format
154
+ msgid "%s size"
155
+ msgstr "Taille %s"
156
 
157
+ #: inc/class.admin.php:184
158
  msgid "Add a new size"
159
  msgstr "Ajouter une nouvelle taille"
160
 
161
+ #: inc/class.admin.php:187
162
  msgid "Legend of the sizes"
163
  msgstr "Légende des tailles"
164
 
165
+ #: inc/class.admin.php:190
166
  msgid "Get php for theme"
167
  msgstr "Récupérer le PHP pour le thème"
168
 
169
+ #: inc/class.admin.php:193
170
  msgid "Thumbnail regeneration"
171
  msgstr "Régénération des vignettes"
172
 
173
+ #: inc/class.admin.php:269
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
174
  msgid "Copy and paste the code below into your Wordpress theme function file if you wanted to save them and deactivate the plugin."
175
  msgstr "Copiez et collez le code ci-dessous dans votre fichier de fonctions de votre thème WordPress si vous voulez les conserver et désactiver ce plugin."
176
 
177
+ #: inc/class.admin.php:282
178
  msgid "The images created on your theme are <span style=\"color:#F2A13A\">orange</span> and your custom size are <span style=\"color:#89D76A\"> green </span>."
179
  msgstr "Les tailles d'images crées par votre thème sont en <span style=\"color:#F2A13A\">orange</span> et vos tailles personnalisées sont en <span style=\"color:#89D76A\"> vert </span>."
180
 
181
+ #: inc/class.admin.php:299
182
  msgid "Select which thumbnails you want to rebuild:"
183
  msgstr "Sélectionnez les tailles de vignettes à régénérer"
184
 
185
+ #: inc/class.admin.php:303
186
+ #: inc/class.admin.php:362
187
+ #: inc/class.admin.php:375
188
+ #: inc/class.admin.php:400
189
  msgid "Resize ?"
190
  msgstr "Regénérer ?"
191
 
192
+ #: inc/class.admin.php:304
193
+ #: inc/class.admin.php:363
194
  msgid "Size name"
195
  msgstr "Nom de la taille"
196
 
197
+ #: inc/class.admin.php:305
198
+ #: inc/class.admin.php:364
199
  msgid "Width"
200
  msgstr "Largeur"
201
 
202
+ #: inc/class.admin.php:306
203
+ #: inc/class.admin.php:365
204
  msgid "Height"
205
  msgstr "Hauteur"
206
 
207
+ #: inc/class.admin.php:371
208
  msgid "Select which post type source thumbnails you want to rebuild:"
209
  msgstr "Sélectionnez quelles vignettes de quel type de contenu vous souhaitez régénérer : "
210
 
211
+ #: inc/class.admin.php:376
212
+ #: inc/class.admin.php:401
213
  msgid "Post type"
214
  msgstr "Type de contenu"
215
 
216
+ #: inc/class.admin.php:423
217
  msgid "End time calculated :"
218
  msgstr "Fin du traitement calculé :"
219
 
220
+ #: inc/class.admin.php:434
221
  msgid "Last image:"
222
  msgstr "Dernière image :"
223
 
224
+ #: inc/class.admin.php:435
225
  msgid "Regenerate Thumbnails"
226
  msgstr "Régénérer les vignettes"
227
 
228
+ #: inc/class.admin.php:600
229
  msgid "No id given in POST datas."
230
  msgstr "Pas d'id donné dans les données du POST."
231
 
232
+ #: inc/class.admin.php:610
233
+ #: inc/class.admin.php:612
234
  #, php-format
235
  msgid "This file does not exists and have not been regenerated :<br/><a target=\"_blank\" href=\"%1$s\" >%2$s</a>"
236
  msgstr "Ce fichier existe déjà dans cette ces tailles d'image et n'a pas été regénéré :<br/><a target=\"_blank\" href=\"%1$s\" >%2$s</a>"
237
 
238
+ #~ msgid "Size "
239
+ #~ msgstr "Taille "
240
+
241
+ #~ msgid "Theme size"
242
+ #~ msgstr "Taille de thème"
243
+
244
+ #~ msgid "Add a new size of thumbnail"
245
+ #~ msgstr "Ajouter une nouvelle taille de vignette"
246
+
247
+ #~ msgid "Get the PHP for the theme"
248
+ #~ msgstr "Récupérer le PHP pour le thème"
languages/sis.pot CHANGED
@@ -2,210 +2,255 @@
2
  # This file is distributed under the same license as the package.
3
  msgid ""
4
  msgstr ""
5
- "Project-Id-Version: \n"
6
- "Report-Msgid-Bugs-To: http://wordpress.org/tag/simple-image-sizes\n"
7
- "POT-Creation-Date: 2011-07-05 19:34:56+00:00\n"
 
 
 
8
  "MIME-Version: 1.0\n"
9
  "Content-Type: text/plain; charset=UTF-8\n"
10
  "Content-Transfer-Encoding: 8bit\n"
11
- "PO-Revision-Date: 2010-MO-DA HO:MI+ZONE\n"
12
- "Last-Translator: FULL NAME <EMAIL@ADDRESS>\n"
13
- "Language-Team: LANGUAGE <LL@li.org>\n"
 
14
 
15
- #: inc/class.admin.php:57
16
  msgid "Reading attachments..."
17
  msgstr ""
18
 
19
- #: inc/class.admin.php:58 inc/class.admin.php:198
 
20
  msgid "Maximum width"
21
  msgstr ""
22
 
23
- #: inc/class.admin.php:59 inc/class.admin.php:203
 
24
  msgid "Maximum height"
25
  msgstr ""
26
 
27
- #: inc/class.admin.php:60 inc/class.admin.php:209 inc/class.admin.php:281
28
- #: inc/class.admin.php:342
 
 
29
  msgid "Crop ?"
30
  msgstr ""
31
 
32
- #: inc/class.admin.php:61 inc/class.admin.php:330
 
33
  msgid "yes"
34
  msgstr ""
35
 
36
- #: inc/class.admin.php:62 inc/class.admin.php:330
 
37
  msgid "no"
38
  msgstr ""
39
 
40
- #: inc/class.admin.php:63 inc/class.admin.php:214
 
41
  msgid "Show in post insertion ?"
42
  msgstr ""
43
 
44
- #: inc/class.admin.php:64
45
  msgid " of "
46
  msgstr ""
47
 
48
- #: inc/class.admin.php:65
49
  msgid " or "
50
  msgstr ""
51
 
52
- #: inc/class.admin.php:66
53
  msgid " before the end."
54
  msgstr ""
55
 
56
- #: inc/class.admin.php:67 inc/class.admin.php:217
 
57
  msgid "Delete"
58
  msgstr ""
59
 
60
- #: inc/class.admin.php:68
61
  msgid "No media in your site to regenerate !"
62
  msgstr ""
63
 
64
- #: inc/class.admin.php:69
65
  msgid "Regenerating "
66
  msgstr ""
67
 
68
- #: inc/class.admin.php:70
69
  msgid "Validate image size name"
70
  msgstr ""
71
 
72
- #: inc/class.admin.php:71
73
  msgid "Done."
74
  msgstr ""
75
 
76
- #: inc/class.admin.php:72
77
  msgid "Size"
78
  msgstr ""
79
 
80
- #: inc/class.admin.php:73
81
- msgid ""
82
- "Don't use the basic Wordpress thumbnail size name, use the form above to "
83
- "edit them"
84
  msgstr ""
85
 
86
- #: inc/class.admin.php:74
87
  msgid "This size is already registered, edit it instead of recreating it."
88
  msgstr ""
89
 
90
- #: inc/class.admin.php:75
91
  msgid "Do you really want to delete these size ?"
92
  msgstr ""
93
 
94
- #: inc/class.admin.php:76 inc/class.admin.php:218
 
95
  msgid "Update"
96
  msgstr ""
97
 
98
- #: inc/class.admin.php:77
99
  msgid "Error requesting page"
100
  msgstr ""
101
 
102
- #: inc/class.admin.php:78
103
  msgid "images have been regenerated !"
104
  msgstr ""
105
 
106
- #: inc/class.admin.php:79
107
  msgid "Validate"
108
  msgstr ""
109
 
110
- #: inc/class.admin.php:97
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
111
  msgid "Settings"
112
  msgstr ""
113
 
114
- #: inc/class.admin.php:147
115
- msgid "Size "
 
116
  msgstr ""
117
 
118
- #: inc/class.admin.php:154
119
  msgid "Add a new size"
120
  msgstr ""
121
 
122
- #: inc/class.admin.php:157
123
  msgid "Legend of the sizes"
124
  msgstr ""
125
 
126
- #: inc/class.admin.php:160
127
  msgid "Get php for theme"
128
  msgstr ""
129
 
130
- #: inc/class.admin.php:163
131
  msgid "Thumbnail regeneration"
132
  msgstr ""
133
 
134
- #: inc/class.admin.php:191
135
- msgid "Custom size"
136
- msgstr ""
137
-
138
- #: inc/class.admin.php:194
139
- msgid "Theme size"
 
 
 
 
 
140
  msgstr ""
141
 
142
- #: inc/class.admin.php:229
143
  msgid "Add a new size of thumbnail"
144
  msgstr ""
145
 
146
- #: inc/class.admin.php:241
147
  msgid "Get the PHP for the theme"
148
  msgstr ""
149
 
150
- #: inc/class.admin.php:242
151
- msgid ""
152
- "Copy and paste the code below into your Wordpress theme function file if you "
153
- "wanted to save them and deactivate the plugin."
154
  msgstr ""
155
 
156
- #: inc/class.admin.php:255
157
- msgid ""
158
- "The images created on your theme are <span style=\"color:#F2A13A\">orange</"
159
- "span> and your custom size are <span style=\"color:#89D76A\"> green </span>."
160
  msgstr ""
161
 
162
- #: inc/class.admin.php:273
163
  msgid "Select which thumbnails you want to rebuild:"
164
  msgstr ""
165
 
166
- #: inc/class.admin.php:277 inc/class.admin.php:338 inc/class.admin.php:351
167
- #: inc/class.admin.php:377
 
 
168
  msgid "Resize ?"
169
  msgstr ""
170
 
171
- #: inc/class.admin.php:278 inc/class.admin.php:339
 
172
  msgid "Size name"
173
  msgstr ""
174
 
175
- #: inc/class.admin.php:279 inc/class.admin.php:340
 
176
  msgid "Width"
177
  msgstr ""
178
 
179
- #: inc/class.admin.php:280 inc/class.admin.php:341
 
180
  msgid "Height"
181
  msgstr ""
182
 
183
- #: inc/class.admin.php:347
184
  msgid "Select which post type source thumbnails you want to rebuild:"
185
  msgstr ""
186
 
187
- #: inc/class.admin.php:352 inc/class.admin.php:378
 
188
  msgid "Post type"
189
  msgstr ""
190
 
191
- #: inc/class.admin.php:400
192
  msgid "End time calculated :"
193
  msgstr ""
194
 
195
- #: inc/class.admin.php:411
196
  msgid "Last image:"
197
  msgstr ""
198
 
199
- #: inc/class.admin.php:412
200
  msgid "Regenerate Thumbnails"
201
  msgstr ""
202
 
203
- #: inc/class.admin.php:577
204
  msgid "No id given in POST datas."
205
  msgstr ""
206
 
207
- #: inc/class.admin.php:587 inc/class.admin.php:589
208
- msgid ""
209
- "This file does not exists and have not been regenerated :<br/><a target="
210
- "\"_blank\" href=\"%1$s\" >%2$s</a>"
211
  msgstr ""
 
2
  # This file is distributed under the same license as the package.
3
  msgid ""
4
  msgstr ""
5
+ "Project-Id-Version: \n"
6
+ "Report-Msgid-Bugs-To: \n"
7
+ "POT-Creation-Date: 2011-10-02 00:11+0100\n"
8
+ "PO-Revision-Date: 2011-10-02 00:11+0100\n"
9
+ "Last-Translator: \n"
10
+ "Language-Team: LANGUAGE <LL@li.org>\n"
11
  "MIME-Version: 1.0\n"
12
  "Content-Type: text/plain; charset=UTF-8\n"
13
  "Content-Transfer-Encoding: 8bit\n"
14
+ "X-Poedit-KeywordsList: _e;__;esc_attr_e;esc_attr_\n"
15
+ "X-Poedit-Basepath: .\n"
16
+ "X-Poedit-SearchPath-0: .\n"
17
+ "X-Poedit-SearchPath-1: ..\n"
18
 
19
+ #: ../inc/class.admin.php:66
20
  msgid "Reading attachments..."
21
  msgstr ""
22
 
23
+ #: ../inc/class.admin.php:67
24
+ #: ../inc/class.admin.php:226
25
  msgid "Maximum width"
26
  msgstr ""
27
 
28
+ #: ../inc/class.admin.php:68
29
+ #: ../inc/class.admin.php:231
30
  msgid "Maximum height"
31
  msgstr ""
32
 
33
+ #: ../inc/class.admin.php:69
34
+ #: ../inc/class.admin.php:237
35
+ #: ../inc/class.admin.php:307
36
+ #: ../inc/class.admin.php:366
37
  msgid "Crop ?"
38
  msgstr ""
39
 
40
+ #: ../inc/class.admin.php:70
41
+ #: ../inc/class.admin.php:354
42
  msgid "yes"
43
  msgstr ""
44
 
45
+ #: ../inc/class.admin.php:71
46
+ #: ../inc/class.admin.php:354
47
  msgid "no"
48
  msgstr ""
49
 
50
+ #: ../inc/class.admin.php:72
51
+ #: ../inc/class.admin.php:242
52
  msgid "Show in post insertion ?"
53
  msgstr ""
54
 
55
+ #: ../inc/class.admin.php:73
56
  msgid " of "
57
  msgstr ""
58
 
59
+ #: ../inc/class.admin.php:74
60
  msgid " or "
61
  msgstr ""
62
 
63
+ #: ../inc/class.admin.php:75
64
  msgid " before the end."
65
  msgstr ""
66
 
67
+ #: ../inc/class.admin.php:76
68
+ #: ../inc/class.admin.php:244
69
  msgid "Delete"
70
  msgstr ""
71
 
72
+ #: ../inc/class.admin.php:77
73
  msgid "No media in your site to regenerate !"
74
  msgstr ""
75
 
76
+ #: ../inc/class.admin.php:78
77
  msgid "Regenerating "
78
  msgstr ""
79
 
80
+ #: ../inc/class.admin.php:79
81
  msgid "Validate image size name"
82
  msgstr ""
83
 
84
+ #: ../inc/class.admin.php:80
85
  msgid "Done."
86
  msgstr ""
87
 
88
+ #: ../inc/class.admin.php:81
89
  msgid "Size"
90
  msgstr ""
91
 
92
+ #: ../inc/class.admin.php:82
93
+ msgid "Don't use the basic Wordpress thumbnail size name, use the form above to edit them"
 
 
94
  msgstr ""
95
 
96
+ #: ../inc/class.admin.php:83
97
  msgid "This size is already registered, edit it instead of recreating it."
98
  msgstr ""
99
 
100
+ #: ../inc/class.admin.php:84
101
  msgid "Do you really want to delete these size ?"
102
  msgstr ""
103
 
104
+ #: ../inc/class.admin.php:85
105
+ #: ../inc/class.admin.php:245
106
  msgid "Update"
107
  msgstr ""
108
 
109
+ #: ../inc/class.admin.php:86
110
  msgid "Error requesting page"
111
  msgstr ""
112
 
113
+ #: ../inc/class.admin.php:87
114
  msgid "images have been regenerated !"
115
  msgstr ""
116
 
117
+ #: ../inc/class.admin.php:88
118
  msgid "Validate"
119
  msgstr ""
120
 
121
+ #: ../inc/class.admin.php:89
122
+ msgid " started at"
123
+ msgstr ""
124
+
125
+ #: ../inc/class.admin.php:90
126
+ msgid " finished at :"
127
+ msgstr ""
128
+
129
+ #: ../inc/class.admin.php:91
130
+ msgid "Error during the php treatment, be sure to not have php errors in your page"
131
+ msgstr ""
132
+
133
+ #: ../inc/class.admin.php:92
134
+ msgid "All the sizes you have modifed are not saved, continue anyway ?"
135
+ msgstr ""
136
+
137
+ #: ../inc/class.admin.php:93
138
+ #, php-format
139
+ msgid "This image has been regenerated in %s seconds"
140
+ msgstr ""
141
+
142
+ #: ../inc/class.admin.php:108
143
+ msgid "Regenerate thumbnails"
144
+ msgstr ""
145
+
146
+ #: ../inc/class.admin.php:128
147
  msgid "Settings"
148
  msgstr ""
149
 
150
+ #: ../inc/class.admin.php:177
151
+ #, php-format
152
+ msgid "%s size"
153
  msgstr ""
154
 
155
+ #: ../inc/class.admin.php:184
156
  msgid "Add a new size"
157
  msgstr ""
158
 
159
+ #: ../inc/class.admin.php:187
160
  msgid "Legend of the sizes"
161
  msgstr ""
162
 
163
+ #: ../inc/class.admin.php:190
164
  msgid "Get php for theme"
165
  msgstr ""
166
 
167
+ #: ../inc/class.admin.php:193
168
  msgid "Thumbnail regeneration"
169
  msgstr ""
170
 
171
+ #: ../inc/class.admin.php:221
172
+ #: ../inc/class.admin.php:223
173
+ #: ../inc/class.admin.php:225
174
+ #: ../inc/class.admin.php:227
175
+ #: ../inc/class.admin.php:230
176
+ #: ../inc/class.admin.php:232
177
+ #: ../inc/class.admin.php:236
178
+ #: ../inc/class.admin.php:237
179
+ #: ../inc/class.admin.php:241
180
+ #: ../inc/class.admin.php:242
181
+ msgid "custom_image_sizes["
182
  msgstr ""
183
 
184
+ #: ../inc/class.admin.php:256
185
  msgid "Add a new size of thumbnail"
186
  msgstr ""
187
 
188
+ #: ../inc/class.admin.php:268
189
  msgid "Get the PHP for the theme"
190
  msgstr ""
191
 
192
+ #: ../inc/class.admin.php:269
193
+ msgid "Copy and paste the code below into your Wordpress theme function file if you wanted to save them and deactivate the plugin."
 
 
194
  msgstr ""
195
 
196
+ #: ../inc/class.admin.php:282
197
+ msgid "The images created on your theme are <span style=\"color:#F2A13A\">orange</span> and your custom size are <span style=\"color:#89D76A\"> green </span>."
 
 
198
  msgstr ""
199
 
200
+ #: ../inc/class.admin.php:299
201
  msgid "Select which thumbnails you want to rebuild:"
202
  msgstr ""
203
 
204
+ #: ../inc/class.admin.php:303
205
+ #: ../inc/class.admin.php:362
206
+ #: ../inc/class.admin.php:375
207
+ #: ../inc/class.admin.php:400
208
  msgid "Resize ?"
209
  msgstr ""
210
 
211
+ #: ../inc/class.admin.php:304
212
+ #: ../inc/class.admin.php:363
213
  msgid "Size name"
214
  msgstr ""
215
 
216
+ #: ../inc/class.admin.php:305
217
+ #: ../inc/class.admin.php:364
218
  msgid "Width"
219
  msgstr ""
220
 
221
+ #: ../inc/class.admin.php:306
222
+ #: ../inc/class.admin.php:365
223
  msgid "Height"
224
  msgstr ""
225
 
226
+ #: ../inc/class.admin.php:371
227
  msgid "Select which post type source thumbnails you want to rebuild:"
228
  msgstr ""
229
 
230
+ #: ../inc/class.admin.php:376
231
+ #: ../inc/class.admin.php:401
232
  msgid "Post type"
233
  msgstr ""
234
 
235
+ #: ../inc/class.admin.php:423
236
  msgid "End time calculated :"
237
  msgstr ""
238
 
239
+ #: ../inc/class.admin.php:434
240
  msgid "Last image:"
241
  msgstr ""
242
 
243
+ #: ../inc/class.admin.php:435
244
  msgid "Regenerate Thumbnails"
245
  msgstr ""
246
 
247
+ #: ../inc/class.admin.php:600
248
  msgid "No id given in POST datas."
249
  msgstr ""
250
 
251
+ #: ../inc/class.admin.php:610
252
+ #: ../inc/class.admin.php:612
253
+ #, php-format
254
+ msgid "This file does not exists and have not been regenerated :<br/><a target=\"_blank\" href=\"%1$s\" >%2$s</a>"
255
  msgstr ""
256
+
readme.txt CHANGED
@@ -4,7 +4,7 @@ Donate link: http://www.beapi.fr/donate/
4
  Tags: images, image, custom sizes, custom images, thumbnail regenerate, thumbnail, regenerate
5
  Requires at least: 3.0
6
  Tested up to: 3.2
7
- Stable tag: 2.1
8
 
9
  == Description ==
10
 
@@ -33,6 +33,15 @@ I have improved the php and javascript, you can know if the image have been rege
33
  4. Regenerating image sizes
34
 
35
  == Changelog ==
 
 
 
 
 
 
 
 
 
36
  * 2.1
37
  * Add javascript timer
38
  * Improve javascript and more IE friendly
4
  Tags: images, image, custom sizes, custom images, thumbnail regenerate, thumbnail, regenerate
5
  Requires at least: 3.0
6
  Tested up to: 3.2
7
+ Stable tag: 2.2
8
 
9
  == Description ==
10
 
33
  4. Regenerating image sizes
34
 
35
  == Changelog ==
36
+ * 2.2
37
+ * Add new version of css aristo
38
+ * Add some icons
39
+ * Display button for saving changes only when changes detected
40
+ * Display message when a size is modified but not saved and wanted to regenerate
41
+ * Debug functionnality when regenerating only some sizes, metas not crushed
42
+ * Add solo regenerating
43
+ * Remove displaying for theme/not theme sizes
44
+ * Use WordPress class for small inputs
45
  * 2.1
46
  * Add javascript timer
47
  * Improve javascript and more IE friendly
simple_image_sizes.php CHANGED
@@ -3,7 +3,7 @@
3
  Plugin Name: Simple Image Size
4
  Plugin URI: http://redmine.beapi.fr/projects/show/simple-image-sizes
5
  Description: Add options in media setting page for images sizes
6
- Version: 2.1
7
  Author: Rahe
8
  Author URI: http://nicolas-juen.fr
9
  Text Domain: sis
@@ -29,7 +29,7 @@ Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA
29
 
30
  define( 'SIS_URL', plugins_url('/', __FILE__) );
31
  define( 'SIS_DIR', dirname(__FILE__) );
32
- define( 'SIS_VERSION', '2.1' );
33
  define( 'SIS_OPTION', 'custom_image_sizes' );
34
 
35
  require_once( SIS_DIR . DIRECTORY_SEPARATOR . 'inc' . DIRECTORY_SEPARATOR . 'class.admin.php' );
3
  Plugin Name: Simple Image Size
4
  Plugin URI: http://redmine.beapi.fr/projects/show/simple-image-sizes
5
  Description: Add options in media setting page for images sizes
6
+ Version: 2.2
7
  Author: Rahe
8
  Author URI: http://nicolas-juen.fr
9
  Text Domain: sis
29
 
30
  define( 'SIS_URL', plugins_url('/', __FILE__) );
31
  define( 'SIS_DIR', dirname(__FILE__) );
32
+ define( 'SIS_VERSION', '2.2' );
33
  define( 'SIS_OPTION', 'custom_image_sizes' );
34
 
35
  require_once( SIS_DIR . DIRECTORY_SEPARATOR . 'inc' . DIRECTORY_SEPARATOR . 'class.admin.php' );