MetaSlider - Version 3.3.5

Version Description

[11/09/15] =

  • Prepare plugin for WordPress.org translation project (rename textdomain from 'metaslider' to 'ml-slider')
  • Small styling fix
Download this release

Release Info

Developer matchalabs
Plugin Icon 128x128 MetaSlider
Version 3.3.5
Comparing to
See all releases

Code changes from version 3.3.4.1 to 3.3.5

Files changed (42) hide show
  1. assets/metaslider/admin.css +5 -0
  2. inc/metaslider.widget.class.php +4 -4
  3. inc/slide/metaslide.class.php +6 -6
  4. inc/slide/metaslide.image.class.php +34 -34
  5. languages/{metaslider-de_DE.mo → ml-slider-de_DE.mo} +0 -0
  6. languages/{metaslider-de_DE.po → ml-slider-de_DE.po} +0 -0
  7. languages/{metaslider-es_ES.mo → ml-slider-es_ES.mo} +0 -0
  8. languages/{metaslider-es_ES.po → ml-slider-es_ES.po} +0 -0
  9. languages/{metaslider-fa_IR.mo → ml-slider-fa_IR.mo} +0 -0
  10. languages/{metaslider-fa_IR.po → ml-slider-fa_IR.po} +0 -0
  11. languages/{metaslider-fr_FR.mo → ml-slider-fr_FR.mo} +0 -0
  12. languages/{metaslider-fr_FR.po → ml-slider-fr_FR.po} +0 -0
  13. languages/{metaslider-he_IL.mo → ml-slider-he_IL.mo} +0 -0
  14. languages/{metaslider-he_IL.po → ml-slider-he_IL.po} +0 -0
  15. languages/{metaslider-hr_HR.mo → ml-slider-hr_HR.mo} +0 -0
  16. languages/{metaslider-hr_HR.po → ml-slider-hr_HR.po} +0 -0
  17. languages/{metaslider-hu_HU.mo → ml-slider-hu_HU.mo} +0 -0
  18. languages/{metaslider-hu_HU.po → ml-slider-hu_HU.po} +0 -0
  19. languages/{metaslider-ja.mo → ml-slider-ja.mo} +0 -0
  20. languages/{metaslider-ja.po → ml-slider-ja.po} +0 -0
  21. languages/{metaslider-nb_NO.mo → ml-slider-nb_NO.mo} +0 -0
  22. languages/{metaslider-nb_NO.po → ml-slider-nb_NO.po} +0 -0
  23. languages/{metaslider-nl_NL.mo → ml-slider-nl_NL.mo} +0 -0
  24. languages/{metaslider-nl_NL.po → ml-slider-nl_NL.po} +0 -0
  25. languages/{metaslider-pl_PL.mo → ml-slider-pl_PL.mo} +0 -0
  26. languages/{metaslider-pl_PL.po → ml-slider-pl_PL.po} +0 -0
  27. languages/{metaslider-pt_BR.mo → ml-slider-pt_BR.mo} +0 -0
  28. languages/{metaslider-pt_BR.po → ml-slider-pt_BR.po} +0 -0
  29. languages/{metaslider-ro_RO.mo → ml-slider-ro_RO.mo} +0 -0
  30. languages/{metaslider-ro_RO.po → ml-slider-ro_RO.po} +0 -0
  31. languages/{metaslider-ru_RU.mo → ml-slider-ru_RU.mo} +0 -0
  32. languages/{metaslider-ru_RU.po → ml-slider-ru_RU.po} +0 -0
  33. languages/{metaslider-uk.mo → ml-slider-uk.mo} +0 -0
  34. languages/{metaslider-uk.po → ml-slider-uk.po} +0 -0
  35. languages/{metaslider-zh_CN.mo → ml-slider-zh_CN.mo} +0 -0
  36. languages/{metaslider-zh_CN.po → ml-slider-zh_CN.po} +0 -0
  37. languages/{metaslider-zh_TW.mo → ml-slider-zh_TW.mo} +0 -0
  38. languages/{metaslider-zh_TW.po → ml-slider-zh_TW.po} +0 -0
  39. languages/{metaslider.mo → ml-slider.mo} +0 -0
  40. languages/{metaslider.po → ml-slider.po} +0 -0
  41. ml-slider.php +153 -153
  42. readme.txt +7 -2
assets/metaslider/admin.css CHANGED
@@ -852,6 +852,11 @@ textarea:-ms-input-placeholder {
852
 
853
  #screen-meta-links #screen-options-link-wrap a {
854
  padding: 3px 6px;
 
 
 
 
 
855
  }
856
 
857
  #screen-meta-links #screen-options-link-wrap a:after,
852
 
853
  #screen-meta-links #screen-options-link-wrap a {
854
  padding: 3px 6px;
855
+ text-decoration: none;
856
+ line-height: 28px;
857
+ }
858
+ #screen-meta-links #screen-options-link-wrap a:before {
859
+ line-height: 28px;
860
  }
861
 
862
  #screen-meta-links #screen-options-link-wrap a:after,
inc/metaslider.widget.class.php CHANGED
@@ -16,7 +16,7 @@ class MetaSlider_Widget extends WP_Widget {
16
  parent::__construct(
17
  'metaslider_widget', // Base ID
18
  'Meta Slider', // Name
19
- array( 'description' => __( 'Meta Slider', 'metaslider' ) ) // Args
20
  );
21
  }
22
 
@@ -106,10 +106,10 @@ class MetaSlider_Widget extends WP_Widget {
106
  <p>
107
  <?php if ( $sliders ) { ?>
108
  <p>
109
- <label for="<?php echo $this->get_field_id( 'title' ); ?>"><?php _e( 'Title:', 'metaslider' ); ?></label>
110
  <input class="widefat" id="<?php echo $this->get_field_id( 'title' ); ?>" name="<?php echo $this->get_field_name( 'title' ); ?>" type="text" value="<?php echo esc_attr( $title ); ?>" />
111
  </p>
112
- <label for="<?php echo $this->get_field_id( 'slider_id' ); ?>"><?php _e( 'Select Slider:', 'metaslider' ); ?></label>
113
  <select id="<?php echo $this->get_field_id( 'slider_id' ); ?>" name="<?php echo $this->get_field_name( 'slider_id' ); ?>">
114
  <?php
115
  foreach ( $sliders as $slider ) {
@@ -119,7 +119,7 @@ class MetaSlider_Widget extends WP_Widget {
119
  ?>
120
  </select>
121
  <?php } else {
122
- _e( 'No slideshows found', 'metaslider' );
123
  } ?>
124
  </p>
125
  <?php
16
  parent::__construct(
17
  'metaslider_widget', // Base ID
18
  'Meta Slider', // Name
19
+ array( 'description' => __( 'Meta Slider', 'ml-slider' ) ) // Args
20
  );
21
  }
22
 
106
  <p>
107
  <?php if ( $sliders ) { ?>
108
  <p>
109
+ <label for="<?php echo $this->get_field_id( 'title' ); ?>"><?php _e( 'Title:', 'ml-slider' ); ?></label>
110
  <input class="widefat" id="<?php echo $this->get_field_id( 'title' ); ?>" name="<?php echo $this->get_field_name( 'title' ); ?>" type="text" value="<?php echo esc_attr( $title ); ?>" />
111
  </p>
112
+ <label for="<?php echo $this->get_field_id( 'slider_id' ); ?>"><?php _e( 'Select Slider:', 'ml-slider' ); ?></label>
113
  <select id="<?php echo $this->get_field_id( 'slider_id' ); ?>" name="<?php echo $this->get_field_name( 'slider_id' ); ?>">
114
  <?php
115
  foreach ( $sliders as $slider ) {
119
  ?>
120
  </select>
121
  <?php } else {
122
+ _e( 'No slideshows found', 'ml-slider' );
123
  } ?>
124
  </p>
125
  <?php
inc/slide/metaslide.class.php CHANGED
@@ -73,7 +73,7 @@ class MetaSlide {
73
  if ( ! wp_verify_nonce( $_REQUEST['_wpnonce'], 'metaslider_changeslide' ) ) {
74
  wp_die( json_encode( array(
75
  'status' => 'fail',
76
- 'msg' => __( "Security check failed. Refresh page and try again.", "metaslider" )
77
  )
78
  ));
79
  }
@@ -118,7 +118,7 @@ class MetaSlide {
118
 
119
  wp_die( json_encode( array(
120
  'status' => 'fail',
121
- 'msg' => __( "File copy failed. Please check upload directory permissions.", "metaslider" )
122
  )
123
  ));
124
  }
@@ -283,8 +283,8 @@ class MetaSlide {
283
 
284
  $url = wp_nonce_url( admin_url( "admin-post.php?action=metaslider_delete_slide&slider_id={$this->slider->ID}&slide_id={$this->slide->ID}" ), "metaslider_delete_slide" );
285
 
286
- return "<a title='" . __("Delete slide", "metaslider") . "' class='tipsy-tooltip-top delete-slide dashicons dashicons-trash' href='{$url}'>" . __("Delete slide", "metaslider") . "</a>";
287
-
288
  }
289
 
290
  /**
@@ -294,7 +294,7 @@ class MetaSlide {
294
 
295
  return apply_filters("metaslider_change_image_button_html", "", $this->slide);
296
 
297
- //return "<a title='" . __("Change slide image", "metaslider") . "' class='tipsy-tooltip-top change-image dashicons dashicons-edit' data-button-text='" . __("Change slide image", "metaslider") . "' data-slide-id='{$this->slide->ID}'>" . __("Change slide image", "metaslider") . "</a>";
298
  }
299
 
300
  /**
@@ -367,7 +367,7 @@ class MetaSlide {
367
  wp_update_post( array(
368
  'ID' => $this->slide->ID,
369
  'menu_order' => $menu_order
370
- )
371
  );
372
 
373
  }
73
  if ( ! wp_verify_nonce( $_REQUEST['_wpnonce'], 'metaslider_changeslide' ) ) {
74
  wp_die( json_encode( array(
75
  'status' => 'fail',
76
+ 'msg' => __( "Security check failed. Refresh page and try again.", "ml-slider" )
77
  )
78
  ));
79
  }
118
 
119
  wp_die( json_encode( array(
120
  'status' => 'fail',
121
+ 'msg' => __( "File copy failed. Please check upload directory permissions.", "ml-slider" )
122
  )
123
  ));
124
  }
283
 
284
  $url = wp_nonce_url( admin_url( "admin-post.php?action=metaslider_delete_slide&slider_id={$this->slider->ID}&slide_id={$this->slide->ID}" ), "metaslider_delete_slide" );
285
 
286
+ return "<a title='" . __("Delete slide", "ml-slider") . "' class='tipsy-tooltip-top delete-slide dashicons dashicons-trash' href='{$url}'>" . __("Delete slide", "ml-slider") . "</a>";
287
+
288
  }
289
 
290
  /**
294
 
295
  return apply_filters("metaslider_change_image_button_html", "", $this->slide);
296
 
297
+ //return "<a title='" . __("Change slide image", "ml-slider") . "' class='tipsy-tooltip-top change-image dashicons dashicons-edit' data-button-text='" . __("Change slide image", "ml-slider") . "' data-slide-id='{$this->slide->ID}'>" . __("Change slide image", "ml-slider") . "</a>";
298
  }
299
 
300
  /**
367
  wp_update_post( array(
368
  'ID' => $this->slide->ID,
369
  'menu_order' => $menu_order
370
+ )
371
  );
372
 
373
  }
inc/slide/metaslide.image.class.php CHANGED
@@ -15,7 +15,7 @@ class MetaImageSlide extends MetaSlide {
15
  public function __construct() {
16
 
17
  parent::__construct();
18
-
19
  add_filter( 'metaslider_get_image_slide', array( $this, 'get_slide' ), 10, 2 );
20
  add_action( 'metaslider_save_image_slide', array( $this, 'save_slide' ), 5, 3 );
21
  add_action( 'wp_ajax_create_image_slide', array( $this, 'ajax_create_slide' ) );
@@ -29,7 +29,7 @@ class MetaImageSlide extends MetaSlide {
29
  public function ajax_create_slide() {
30
  // security check
31
  if ( ! wp_verify_nonce( $_REQUEST['_wpnonce'], 'metaslider_addslide' ) ) {
32
- echo "<tr><td colspan='2'>" . __( "Security check failed. Refresh page and try again.", 'metaslider' ) . "</td></tr>";
33
  wp_die();
34
  }
35
 
@@ -44,17 +44,17 @@ class MetaImageSlide extends MetaSlide {
44
  $this->set_slider( $slider_id );
45
 
46
  if ( $this->slide_exists_in_slideshow( $slider_id, $slide_id ) ) {
47
-
48
- echo "<tr><td colspan='2'>ID: {$slide_id} \"" . get_the_title( $slide_id ) . "\" - " . __( "Failed to add slide. Slide already exists in slideshow.", 'metaslider' ) . "</td></tr>";
49
-
50
  } else if ( ! $this->slide_is_unassigned_or_image_slide( $slider_id, $slide_id ) ) {
51
-
52
- echo "<tr><td colspan='2'>ID: {$slide_id} \"" . get_the_title( $slide_id ) . "\" - " . __( "Failed to add slide. Slide is not of type 'image'.", 'metaslider' ) . "</td></tr>";
53
-
54
  } else if ( ! wp_attachment_is_image( $slide_id ) ) {
55
-
56
- echo "<tr><td colspan='2'>ID: {$slide_id} \"" . get_the_title( $slide_id ) . "\" - " . __( "Failed to add slide. Slide is not an image.", 'metaslider' ) . "</td></tr>";
57
-
58
  } else {
59
 
60
  $this->tag_slide_to_slider();
@@ -117,7 +117,7 @@ class MetaImageSlide extends MetaSlide {
117
  // get some slide settings
118
  $imageHelper = new MetaSliderImageHelper( $this->slide->ID, 150, 150, 'false', $this->use_wp_image_editor() );
119
  $thumb = $imageHelper->get_image_url();
120
- $slide_label = apply_filters( "metaslider_image_slide_label", __( "Image Slide", "metaslider" ), $this->slide, $this->settings );
121
 
122
  // slide row HTML
123
  $row = "<tr class='slide image flex responsive nivo coin'>
@@ -128,7 +128,7 @@ class MetaImageSlide extends MetaSlide {
128
  <span class='slide-details'>{$slide_label}</span>
129
  </div>
130
  </td>
131
- <td class='col-2'>
132
  " . $this->get_admin_slide_tabs_html() . "
133
  <input type='hidden' name='attachment[{$this->slide->ID}][type]' value='image' />
134
  <input type='hidden' class='menu_order' name='attachment[{$this->slide->ID}][menu_order]' value='{$this->slide->menu_order}' />
@@ -152,30 +152,30 @@ class MetaImageSlide extends MetaSlide {
152
  $target = get_post_meta( $slide_id, 'ml-slider_new_window', true ) ? 'checked=checked' : '';
153
  $caption = esc_textarea( $this->slide->post_excerpt );
154
 
155
- $general_tab = "<textarea name='attachment[{$slide_id}][post_excerpt]' placeholder='" . __( "Caption", "metaslider" ) . "'>{$caption}</textarea>
156
- <input class='url' type='text' name='attachment[{$slide_id}][url]' placeholder='" . __( "URL", "metaslider" ) . "' value='{$url}' />
157
  <div class='new_window'>
158
- <label>" . __( "New Window", "metaslider" ) . "<input type='checkbox' name='attachment[{$slide_id}][new_window]' {$target} /></label>
159
  </div>";
160
 
161
  if ( ! $this->is_valid_image() ) {
162
- $message = __( "Warning: Image data does not exist. Please re-upload the image.", "metaslider" );
163
 
164
  $general_tab = "<div class='warning'>{$message}</div>" . $general_tab;
165
  }
166
 
167
- $seo_tab = "<div class='row'><label>" . __( "Image Title Text", "metaslider" ) . "</label></div>
168
  <div class='row'><input type='text' size='50' name='attachment[{$slide_id}][title]' value='{$title}' /></div>
169
- <div class='row'><label>" . __( "Image Alt Text", "metaslider" ) . "</label></div>
170
  <div class='row'><input type='text' size='50' name='attachment[{$slide_id}][alt]' value='{$alt}' /></div>";
171
 
172
  $tabs = array(
173
  'general' => array(
174
- 'title' => __( "General", "metaslider" ),
175
  'content' => $general_tab
176
  ),
177
  'seo' => array(
178
- 'title' => __( "SEO", "metaslider" ),
179
  'content' => $seo_tab
180
  )
181
  );
@@ -187,27 +187,27 @@ class MetaImageSlide extends MetaSlide {
187
  if ( ! $crop_position ) {
188
  $crop_position = 'center-center';
189
  }
190
-
191
- $crop_tab = "<div class='row'><label>" . __( "Crop Position", "metaslider" ) . "</label></div>
192
  <div class='row'>
193
  <select class='crop_position' name='attachment[{$slide_id}][crop_position]'>
194
- <option value='left-top' " . selected( $crop_position, 'left-top', false ) . ">" . __( "Top Left", "metaslider" ) . "</option>
195
- <option value='center-top' " . selected( $crop_position, 'center-top', false ) . ">" . __( "Top Center", "metaslider" ) . "</option>
196
- <option value='right-top' " . selected( $crop_position, 'right-top', false ) . ">" . __( "Top Right", "metaslider" ) . "</option>
197
- <option value='left-center' " . selected( $crop_position, 'left-center', false ) . ">" . __( "Center Left", "metaslider" ) . "</option>
198
- <option value='center-center' " . selected( $crop_position, 'center-center', false ) . ">" . __( "Center Center", "metaslider" ) . "</option>
199
- <option value='right-center' " . selected( $crop_position, 'right-center', false ) . ">" . __( "Center Right", "metaslider" ) . "</option>
200
- <option value='left-bottom' " . selected( $crop_position, 'left-bottom', false ) . ">" . __( "Bottom Left", "metaslider" ) . "</option>
201
- <option value='center-bottom' " . selected( $crop_position, 'center-bottom', false ) . ">" . __( "Bottom Center", "metaslider" ) . "</option>
202
- <option value='right-bottom' " . selected( $crop_position, 'right-bottom', false ) . ">" . __( "Bottom Right", "metaslider" ) . "</option>
203
  </select>
204
  </div>";
205
 
206
  $tabs['crop'] = array(
207
- 'title' => __( "Crop", "metaslider" ),
208
  'content' => $crop_tab
209
  );
210
-
211
  }
212
 
213
  return apply_filters("metaslider_image_slide_tabs", $tabs, $this->slide, $this->slider, $this->settings);
15
  public function __construct() {
16
 
17
  parent::__construct();
18
+
19
  add_filter( 'metaslider_get_image_slide', array( $this, 'get_slide' ), 10, 2 );
20
  add_action( 'metaslider_save_image_slide', array( $this, 'save_slide' ), 5, 3 );
21
  add_action( 'wp_ajax_create_image_slide', array( $this, 'ajax_create_slide' ) );
29
  public function ajax_create_slide() {
30
  // security check
31
  if ( ! wp_verify_nonce( $_REQUEST['_wpnonce'], 'metaslider_addslide' ) ) {
32
+ echo "<tr><td colspan='2'>" . __( "Security check failed. Refresh page and try again.", 'ml-slider' ) . "</td></tr>";
33
  wp_die();
34
  }
35
 
44
  $this->set_slider( $slider_id );
45
 
46
  if ( $this->slide_exists_in_slideshow( $slider_id, $slide_id ) ) {
47
+
48
+ echo "<tr><td colspan='2'>ID: {$slide_id} \"" . get_the_title( $slide_id ) . "\" - " . __( "Failed to add slide. Slide already exists in slideshow.", 'ml-slider' ) . "</td></tr>";
49
+
50
  } else if ( ! $this->slide_is_unassigned_or_image_slide( $slider_id, $slide_id ) ) {
51
+
52
+ echo "<tr><td colspan='2'>ID: {$slide_id} \"" . get_the_title( $slide_id ) . "\" - " . __( "Failed to add slide. Slide is not of type 'image'.", 'ml-slider' ) . "</td></tr>";
53
+
54
  } else if ( ! wp_attachment_is_image( $slide_id ) ) {
55
+
56
+ echo "<tr><td colspan='2'>ID: {$slide_id} \"" . get_the_title( $slide_id ) . "\" - " . __( "Failed to add slide. Slide is not an image.", 'ml-slider' ) . "</td></tr>";
57
+
58
  } else {
59
 
60
  $this->tag_slide_to_slider();
117
  // get some slide settings
118
  $imageHelper = new MetaSliderImageHelper( $this->slide->ID, 150, 150, 'false', $this->use_wp_image_editor() );
119
  $thumb = $imageHelper->get_image_url();
120
+ $slide_label = apply_filters( "metaslider_image_slide_label", __( "Image Slide", "ml-slider" ), $this->slide, $this->settings );
121
 
122
  // slide row HTML
123
  $row = "<tr class='slide image flex responsive nivo coin'>
128
  <span class='slide-details'>{$slide_label}</span>
129
  </div>
130
  </td>
131
+ <td class='col-2'>
132
  " . $this->get_admin_slide_tabs_html() . "
133
  <input type='hidden' name='attachment[{$this->slide->ID}][type]' value='image' />
134
  <input type='hidden' class='menu_order' name='attachment[{$this->slide->ID}][menu_order]' value='{$this->slide->menu_order}' />
152
  $target = get_post_meta( $slide_id, 'ml-slider_new_window', true ) ? 'checked=checked' : '';
153
  $caption = esc_textarea( $this->slide->post_excerpt );
154
 
155
+ $general_tab = "<textarea name='attachment[{$slide_id}][post_excerpt]' placeholder='" . __( "Caption", "ml-slider" ) . "'>{$caption}</textarea>
156
+ <input class='url' type='text' name='attachment[{$slide_id}][url]' placeholder='" . __( "URL", "ml-slider" ) . "' value='{$url}' />
157
  <div class='new_window'>
158
+ <label>" . __( "New Window", "ml-slider" ) . "<input type='checkbox' name='attachment[{$slide_id}][new_window]' {$target} /></label>
159
  </div>";
160
 
161
  if ( ! $this->is_valid_image() ) {
162
+ $message = __( "Warning: Image data does not exist. Please re-upload the image.", "ml-slider" );
163
 
164
  $general_tab = "<div class='warning'>{$message}</div>" . $general_tab;
165
  }
166
 
167
+ $seo_tab = "<div class='row'><label>" . __( "Image Title Text", "ml-slider" ) . "</label></div>
168
  <div class='row'><input type='text' size='50' name='attachment[{$slide_id}][title]' value='{$title}' /></div>
169
+ <div class='row'><label>" . __( "Image Alt Text", "ml-slider" ) . "</label></div>
170
  <div class='row'><input type='text' size='50' name='attachment[{$slide_id}][alt]' value='{$alt}' /></div>";
171
 
172
  $tabs = array(
173
  'general' => array(
174
+ 'title' => __( "General", "ml-slider" ),
175
  'content' => $general_tab
176
  ),
177
  'seo' => array(
178
+ 'title' => __( "SEO", "ml-slider" ),
179
  'content' => $seo_tab
180
  )
181
  );
187
  if ( ! $crop_position ) {
188
  $crop_position = 'center-center';
189
  }
190
+
191
+ $crop_tab = "<div class='row'><label>" . __( "Crop Position", "ml-slider" ) . "</label></div>
192
  <div class='row'>
193
  <select class='crop_position' name='attachment[{$slide_id}][crop_position]'>
194
+ <option value='left-top' " . selected( $crop_position, 'left-top', false ) . ">" . __( "Top Left", "ml-slider" ) . "</option>
195
+ <option value='center-top' " . selected( $crop_position, 'center-top', false ) . ">" . __( "Top Center", "ml-slider" ) . "</option>
196
+ <option value='right-top' " . selected( $crop_position, 'right-top', false ) . ">" . __( "Top Right", "ml-slider" ) . "</option>
197
+ <option value='left-center' " . selected( $crop_position, 'left-center', false ) . ">" . __( "Center Left", "ml-slider" ) . "</option>
198
+ <option value='center-center' " . selected( $crop_position, 'center-center', false ) . ">" . __( "Center Center", "ml-slider" ) . "</option>
199
+ <option value='right-center' " . selected( $crop_position, 'right-center', false ) . ">" . __( "Center Right", "ml-slider" ) . "</option>
200
+ <option value='left-bottom' " . selected( $crop_position, 'left-bottom', false ) . ">" . __( "Bottom Left", "ml-slider" ) . "</option>
201
+ <option value='center-bottom' " . selected( $crop_position, 'center-bottom', false ) . ">" . __( "Bottom Center", "ml-slider" ) . "</option>
202
+ <option value='right-bottom' " . selected( $crop_position, 'right-bottom', false ) . ">" . __( "Bottom Right", "ml-slider" ) . "</option>
203
  </select>
204
  </div>";
205
 
206
  $tabs['crop'] = array(
207
+ 'title' => __( "Crop", "ml-slider" ),
208
  'content' => $crop_tab
209
  );
210
+
211
  }
212
 
213
  return apply_filters("metaslider_image_slide_tabs", $tabs, $this->slide, $this->slider, $this->settings);
languages/{metaslider-de_DE.mo → ml-slider-de_DE.mo} RENAMED
File without changes
languages/{metaslider-de_DE.po → ml-slider-de_DE.po} RENAMED
File without changes
languages/{metaslider-es_ES.mo → ml-slider-es_ES.mo} RENAMED
File without changes
languages/{metaslider-es_ES.po → ml-slider-es_ES.po} RENAMED
File without changes
languages/{metaslider-fa_IR.mo → ml-slider-fa_IR.mo} RENAMED
File without changes
languages/{metaslider-fa_IR.po → ml-slider-fa_IR.po} RENAMED
File without changes
languages/{metaslider-fr_FR.mo → ml-slider-fr_FR.mo} RENAMED
File without changes
languages/{metaslider-fr_FR.po → ml-slider-fr_FR.po} RENAMED
File without changes
languages/{metaslider-he_IL.mo → ml-slider-he_IL.mo} RENAMED
File without changes
languages/{metaslider-he_IL.po → ml-slider-he_IL.po} RENAMED
File without changes
languages/{metaslider-hr_HR.mo → ml-slider-hr_HR.mo} RENAMED
File without changes
languages/{metaslider-hr_HR.po → ml-slider-hr_HR.po} RENAMED
File without changes
languages/{metaslider-hu_HU.mo → ml-slider-hu_HU.mo} RENAMED
File without changes
languages/{metaslider-hu_HU.po → ml-slider-hu_HU.po} RENAMED
File without changes
languages/{metaslider-ja.mo → ml-slider-ja.mo} RENAMED
File without changes
languages/{metaslider-ja.po → ml-slider-ja.po} RENAMED
File without changes
languages/{metaslider-nb_NO.mo → ml-slider-nb_NO.mo} RENAMED
File without changes
languages/{metaslider-nb_NO.po → ml-slider-nb_NO.po} RENAMED
File without changes
languages/{metaslider-nl_NL.mo → ml-slider-nl_NL.mo} RENAMED
File without changes
languages/{metaslider-nl_NL.po → ml-slider-nl_NL.po} RENAMED
File without changes
languages/{metaslider-pl_PL.mo → ml-slider-pl_PL.mo} RENAMED
File without changes
languages/{metaslider-pl_PL.po → ml-slider-pl_PL.po} RENAMED
File without changes
languages/{metaslider-pt_BR.mo → ml-slider-pt_BR.mo} RENAMED
File without changes
languages/{metaslider-pt_BR.po → ml-slider-pt_BR.po} RENAMED
File without changes
languages/{metaslider-ro_RO.mo → ml-slider-ro_RO.mo} RENAMED
File without changes
languages/{metaslider-ro_RO.po → ml-slider-ro_RO.po} RENAMED
File without changes
languages/{metaslider-ru_RU.mo → ml-slider-ru_RU.mo} RENAMED
File without changes
languages/{metaslider-ru_RU.po → ml-slider-ru_RU.po} RENAMED
File without changes
languages/{metaslider-uk.mo → ml-slider-uk.mo} RENAMED
File without changes
languages/{metaslider-uk.po → ml-slider-uk.po} RENAMED
File without changes
languages/{metaslider-zh_CN.mo → ml-slider-zh_CN.mo} RENAMED
File without changes
languages/{metaslider-zh_CN.po → ml-slider-zh_CN.po} RENAMED
File without changes
languages/{metaslider-zh_TW.mo → ml-slider-zh_TW.mo} RENAMED
File without changes
languages/{metaslider-zh_TW.po → ml-slider-zh_TW.po} RENAMED
File without changes
languages/{metaslider.mo → ml-slider.mo} RENAMED
File without changes
languages/{metaslider.po → ml-slider.po} RENAMED
File without changes
ml-slider.php CHANGED
@@ -5,14 +5,14 @@
5
  * Plugin Name: Meta Slider
6
  * Plugin URI: https://www.metaslider.com
7
  * Description: Easy to use slideshow plugin. Create SEO optimised responsive slideshows with Nivo Slider, Flex Slider, Coin Slider and Responsive Slides.
8
- * Version: 3.3.4.1
9
  * Author: Matcha Labs
10
  * Author URI: https://www.metaslider.com
11
  * License: GPL-2.0+
12
  * Copyright: 2014 Matcha Labs LTD
13
  *
14
- * Text Domain: metaslider
15
- * Domain Path: /languages/
16
  */
17
 
18
  if ( ! defined( 'ABSPATH' ) ) {
@@ -31,7 +31,7 @@ class MetaSliderPlugin {
31
  /**
32
  * @var string
33
  */
34
- public $version = '3.3.4.1';
35
 
36
 
37
  /**
@@ -281,8 +281,8 @@ class MetaSliderPlugin {
281
 
282
  $page = add_submenu_page(
283
  'metaslider',
284
- __( 'Go Pro!', 'metaslider' ),
285
- __( 'Go Pro!', 'metaslider' ),
286
  $capability,
287
  'metaslider-go-pro',
288
  array( $this, 'go_pro_page' )
@@ -400,7 +400,7 @@ class MetaSliderPlugin {
400
  */
401
  public function load_plugin_textdomain() {
402
 
403
- load_plugin_textdomain( 'metaslider', false, dirname( plugin_basename( __FILE__ ) ) . '/languages/' );
404
 
405
  }
406
 
@@ -415,7 +415,7 @@ class MetaSliderPlugin {
415
  // documentation tab
416
  $screen->add_help_tab( array(
417
  'id' => 'documentation',
418
- 'title' => __( 'Documentation', 'metaslider' ),
419
  'content' => "<p><a href='http://www.metaslider.com/documentation/' target='blank'>Meta Slider Documentation</a></p>",
420
  )
421
  );
@@ -468,17 +468,17 @@ class MetaSliderPlugin {
468
  public function localize_admin_scripts() {
469
 
470
  wp_localize_script( 'metaslider-admin-script', 'metaslider', array(
471
- 'url' => __( "URL", "metaslider" ),
472
- 'caption' => __( "Caption", "metaslider" ),
473
- 'new_window' => __( "New Window", "metaslider" ),
474
- 'confirm' => __( "Are you sure?", "metaslider" ),
475
  'ajaxurl' => admin_url( 'admin-ajax.php' ),
476
- 'change_image' => __( "Select replacement image", "metaslider"),
477
  'resize_nonce' => wp_create_nonce( 'metaslider_resize' ),
478
  'addslide_nonce' => wp_create_nonce( 'metaslider_addslide' ),
479
  'changeslide_nonce' => wp_create_nonce( 'metaslider_changeslide' ),
480
  'iframeurl' => admin_url( 'admin-post.php?action=metaslider_preview' ),
481
- 'useWithCaution' => __( "Caution: This setting is for advanced developers only. If you're unsure, leave it checked.", "metaslider" )
482
  )
483
  );
484
 
@@ -541,8 +541,8 @@ class MetaSliderPlugin {
541
 
542
  //update strings
543
  if ( ( isset( $_GET['page'] ) && $_GET['page'] == 'metaslider' ) ) {
544
- $strings['insertMediaTitle'] = __( "Image", "metaslider" );
545
- $strings['insertIntoPost'] = __( "Add to slider", "metaslider" );
546
  // remove options
547
 
548
  $strings_to_remove = array(
@@ -812,7 +812,7 @@ class MetaSliderPlugin {
812
 
813
  // insert the post
814
  $id = wp_insert_post( array(
815
- 'post_title' => __( "New Slider", "metaslider" ),
816
  'post_status' => 'publish',
817
  'post_type' => 'ml-slider'
818
  )
@@ -1103,7 +1103,7 @@ class MetaSliderPlugin {
1103
  if ( $this->get_view() == 'tabs' ) {
1104
 
1105
  echo "<div style='display: none;' id='screen-options-switch-view-wrap'>
1106
- <a class='switchview dashicons-before dashicons-randomize tipsy-tooltip' title='" . __("Switch to Dropdown view", "metaslider") . "' href='" . admin_url( "admin-post.php?action=metaslider_switch_view&view=dropdown") . "'>" . __("Dropdown", "metaslider") . "</a></div>";
1107
 
1108
  echo "<h3 class='nav-tab-wrapper'>";
1109
 
@@ -1124,13 +1124,13 @@ class MetaSliderPlugin {
1124
 
1125
  if ( isset( $_GET['add'] ) && $_GET['add'] == 'true' ) {
1126
 
1127
- echo "<div id='message' class='updated'><p>" . __( "New slideshow created. Click 'Add Slide' to get started!", "metaslider" ) . "</p></div>";
1128
 
1129
  }
1130
 
1131
- echo "<div style='display: none;' id='screen-options-switch-view-wrap'><a class='switchview dashicons-before dashicons-randomize tipsy-tooltip' title='" . __("Switch to Tab view", "metaslider") . "' href='" . admin_url( "admin-post.php?action=metaslider_switch_view&view=tabs") . "'>" . __("Tabs", "metaslider") . "</a></div>";
1132
 
1133
- echo "<div class='dropdown_container'><label for='select-slider'>" . __("Select Slider", "metaslider") . ": </label>";
1134
  echo "<select name='select-slider' onchange='if (this.value) window.location.href=this.value'>";
1135
 
1136
  $tabs = $this->all_meta_sliders( 'title' );
@@ -1149,14 +1149,14 @@ class MetaSliderPlugin {
1149
 
1150
  }
1151
 
1152
- echo "</select> " . __( 'or', "metaslider" ) . " ";
1153
- echo "<a href='{$add_url}'>" . __( 'Add New Slideshow', "metaslider" ) . "</a></div>";
1154
 
1155
  }
1156
  } else {
1157
  echo "<h3 class='nav-tab-wrapper'>";
1158
  echo "<a href='{$add_url}' id='create_new_tab' class='nav-tab'>+</a>";
1159
- echo "<div class='bubble'>" . __( "Create your first slideshow", "metaslider" ) . "</div>";
1160
  echo "</h3>";
1161
  }
1162
  }
@@ -1232,12 +1232,12 @@ class MetaSliderPlugin {
1232
  <thead>
1233
  <tr>
1234
  <th style="width: 100px;">
1235
- <h3><?php _e( "Slides", "metaslider" ) ?></h3>
1236
  <?php do_action( "metaslider_admin_table_header_left", $this->slider->id ); ?>
1237
  </th>
1238
  <th>
1239
- <a href='#' class='button alignright add-slide' data-editor='content' title='<?php _e( "Add Slide", "metaslider" ) ?>'>
1240
- <span class='wp-media-buttons-icon'></span> <?php _e( "Add Slide", "metaslider" ) ?>
1241
  </a>
1242
  <?php do_action( "metaslider_admin_table_header_right", $this->slider->id ); ?>
1243
  </th>
@@ -1260,9 +1260,9 @@ class MetaSliderPlugin {
1260
  <div class='right'>
1261
  <div class="ms-postbox" id="metaslider_configuration">
1262
  <h3 class='configuration'>
1263
- <?php _e( "Settings", "metaslider" ) ?>
1264
- <input class='alignright button button-primary' type='submit' name='save' id='ms-save' value='<?php _e( "Save", "metaslider" ) ?>' />
1265
- <input class='alignright button button-primary' type='submit' name='preview' id='ms-preview' value='<?php _e( "Save & Preview", "metaslider" ) ?>' data-slider_id='<?php echo $this->slider->id ?>' data-slider_width='<?php echo $this->slider->get_setting( 'width' ) ?>' data-slider_height='<?php echo $this->slider->get_setting( 'height' ) ?>' />
1266
  <span class="spinner"></span>
1267
  </h3>
1268
  <div class="inside">
@@ -1275,10 +1275,10 @@ class MetaSliderPlugin {
1275
  'type' => 'slider-lib',
1276
  'value' => $this->slider->get_setting( 'type' ),
1277
  'options' => array(
1278
- 'flex' => array( 'label' => __( "Flex Slider", "metaslider" ) ),
1279
- 'responsive' => array( 'label' => __( "R. Slides", "metaslider" ) ),
1280
- 'nivo' => array( 'label' => __( "Nivo Slider", "metaslider" ) ),
1281
- 'coin' => array( 'label' => __( "Coin Slider", "metaslider" ) )
1282
  )
1283
  ),
1284
  'width' => array(
@@ -1289,10 +1289,10 @@ class MetaSliderPlugin {
1289
  'max' => 9999,
1290
  'step' => 1,
1291
  'value' => $this->slider->get_setting( 'width' ),
1292
- 'label' => __( "Width", "metaslider" ),
1293
  'class' => 'coin flex responsive nivo',
1294
- 'helptext' => __( "Slideshow width", "metaslider" ),
1295
- 'after' => __( "px", "metaslider" )
1296
  ),
1297
  'height' => array(
1298
  'priority' => 20,
@@ -1302,71 +1302,71 @@ class MetaSliderPlugin {
1302
  'max' => 9999,
1303
  'step' => 1,
1304
  'value' => $this->slider->get_setting( 'height' ),
1305
- 'label' => __( "Height", "metaslider" ),
1306
  'class' => 'coin flex responsive nivo',
1307
- 'helptext' => __( "Slideshow height", "metaslider" ),
1308
- 'after' => __( "px", "metaslider" )
1309
  ),
1310
  'effect' => array(
1311
  'priority' => 30,
1312
  'type' => 'select',
1313
  'value' => $this->slider->get_setting( 'effect' ),
1314
- 'label' => __( "Effect", "metaslider" ),
1315
  'class' => 'effect coin flex responsive nivo',
1316
- 'helptext' => __( "Slide transition effect", "metaslider" ),
1317
  'options' => array(
1318
- 'random' => array( 'class' => 'option coin nivo' , 'label' => __( "Random", "metaslider" ) ),
1319
- 'swirl' => array( 'class' => 'option coin', 'label' => __( "Swirl", "metaslider" ) ),
1320
- 'rain' => array( 'class' => 'option coin', 'label' => __( "Rain", "metaslider" ) ),
1321
- 'straight' => array( 'class' => 'option coin', 'label' => __( "Straight", "metaslider" ) ),
1322
- 'sliceDown' => array( 'class' => 'option nivo', 'label' => __( "Slide Down", "metaslider" ) ),
1323
- 'sliceUp' => array( 'class' => 'option nivo', 'label' => __( "Slice Up", "metaslider" ) ),
1324
- 'sliceUpLeft' => array( 'class' => 'option nivo', 'label' => __( "Slide Up Left", "metaslider" ) ),
1325
- 'sliceUpDown' => array( 'class' => 'option nivo', 'label' => __( "Slice Up Down", "metaslider" ) ),
1326
- 'slideUpDownLeft' => array( 'class' => 'option nivo', 'label' => __( "Slide Up Down Left", "metaslider" ) ),
1327
- 'fold' => array( 'class' => 'option nivo', 'label' => __( "Fold", "metaslider" ) ),
1328
- 'fade' => array( 'class' => 'option nivo flex responsive', 'label' => __( "Fade", "metaslider" ) ),
1329
- 'slideInRight' => array( 'class' => 'option nivo', 'label' => __( "Slide In Right", "metaslider" ) ),
1330
- 'slideInLeft' => array( 'class' => 'option nivo', 'label' => __( "Slide In Left", "metaslider" ) ),
1331
- 'boxRandom' => array( 'class' => 'option nivo', 'label' => __( "Box Random", "metaslider" ) ),
1332
- 'boxRain' => array( 'class' => 'option nivo', 'label' => __( "Box Rain", "metaslider" ) ),
1333
- 'boxRainReverse' => array( 'class' => 'option nivo', 'label' => __( "Box Rain Reverse", "metaslider" ) ),
1334
- 'boxRainGrowReverse' => array( 'class' => 'option nivo', 'label' => __( "Box Rain Grow Reverse", "metaslider" ) ),
1335
- 'slide' => array( 'class' => 'option flex', 'label' => __( "Slide", "metaslider" ) )
1336
  ),
1337
  ),
1338
  'theme' => array(
1339
  'priority' => 40,
1340
  'type' => 'theme',
1341
  'value' => $this->slider->get_setting( 'theme' ),
1342
- 'label' => __( "Theme", "metaslider" ),
1343
  'class' => 'effect coin flex responsive nivo',
1344
- 'helptext' => __( "Slideshow theme", "metaslider" ),
1345
  'options' => array(
1346
- 'default' => array( 'class' => 'option nivo flex coin responsive' , 'label' => __( "Default", "metaslider" ) ),
1347
- 'dark' => array( 'class' => 'option nivo', 'label' => __( "Dark (Nivo)", "metaslider" ) ),
1348
- 'light' => array( 'class' => 'option nivo', 'label' => __( "Light (Nivo)", "metaslider" ) ),
1349
- 'bar' => array( 'class' => 'option nivo', 'label' => __( "Bar (Nivo)", "metaslider" ) ),
1350
  ),
1351
  ),
1352
  'links' => array(
1353
  'priority' => 50,
1354
  'type' => 'checkbox',
1355
- 'label' => __( "Arrows", "metaslider" ),
1356
  'class' => 'option coin flex nivo responsive',
1357
  'checked' => $this->slider->get_setting( 'links' ) == 'true' ? 'checked' : '',
1358
- 'helptext' => __( "Show the previous/next arrows", "metaslider" )
1359
  ),
1360
  'navigation' => array(
1361
  'priority' => 60,
1362
  'type' => 'navigation',
1363
- 'label' => __( "Navigation", "metaslider" ),
1364
  'class' => 'option coin flex nivo responsive',
1365
  'value' => $this->slider->get_setting( 'navigation' ),
1366
- 'helptext' => __( "Show the slide navigation bullets", "metaslider" ),
1367
  'options' => array(
1368
- 'false' => array( 'label' => __( "Hidden", "metaslider" ) ),
1369
- 'true' => array( 'label' => __( "Dots", "metaslider" ) ),
1370
  )
1371
  ),
1372
  );
@@ -1377,8 +1377,8 @@ class MetaSliderPlugin {
1377
  'priority' => 5,
1378
  'class' => 'option flex nivo responsive coin',
1379
  'value' => get_the_title($this->slider->id),
1380
- 'label' => __( "Title", "metaslider" ),
1381
- 'helptext' => __( "Slideshow title", "metaslider" )
1382
  );
1383
  }
1384
 
@@ -1392,7 +1392,7 @@ class MetaSliderPlugin {
1392
  </div>
1393
 
1394
  <div class="ms-postbox ms-toggle closed" id="metaslider_advanced_settings">
1395
- <div class="handlediv" title="Click to toggle"><br></div><h3 class="hndle"><span><?php _e( "Advanced Settings", "metaslider" ) ?></span></h3>
1396
  <div class="inside">
1397
  <table>
1398
  <tbody>
@@ -1401,49 +1401,49 @@ class MetaSliderPlugin {
1401
  'fullWidth' => array(
1402
  'priority' => 5,
1403
  'type' => 'checkbox',
1404
- 'label' => __( "Stretch", "metaslider" ),
1405
  'class' => 'option flex nivo responsive',
1406
- 'after' => __( "100% wide output", "metaslider" ),
1407
  'checked' => $this->slider->get_setting( 'fullWidth' ) == 'true' ? 'checked' : '',
1408
- 'helptext' => __( "Stretch the slideshow output to fill it's parent container", "metaslider" )
1409
  ),
1410
  'center' => array(
1411
  'priority' => 10,
1412
  'type' => 'checkbox',
1413
- 'label' => __( "Center align", "metaslider" ),
1414
  'class' => 'option coin flex nivo responsive',
1415
  'checked' => $this->slider->get_setting( 'center' ) == 'true' ? 'checked' : '',
1416
- 'helptext' => __( "Center align the slideshow", "metaslider" )
1417
  ),
1418
  'autoPlay' => array(
1419
  'priority' => 20,
1420
  'type' => 'checkbox',
1421
- 'label' => __( "Auto play", "metaslider" ),
1422
  'class' => 'option flex nivo responsive',
1423
  'checked' => $this->slider->get_setting( 'autoPlay' ) == 'true' ? 'checked' : '',
1424
- 'helptext' => __( "Transition between slides automatically", "metaslider" )
1425
  ),
1426
  'smartCrop' => array(
1427
  'priority' => 30,
1428
  'type' => 'select',
1429
- 'label' => __( "Image Crop", "metaslider" ),
1430
  'class' => 'option coin flex nivo responsive',
1431
  'value' => $this->slider->get_setting( 'smartCrop' ),
1432
  'options' => array(
1433
- 'true' => array( 'label' => __( "Smart Crop", "metaslider" ), 'class' => '' ),
1434
- 'false' => array( 'label' => __( "Standard", "metaslider" ), 'class' => '' ),
1435
- 'disabled' => array( 'label' => __( "Disabled", "metaslider" ), 'class' => '' ),
1436
- 'disabled_pad' => array( 'label' => __( "Disabled (Smart Pad)", "metaslider" ), 'class' => 'option flex' ),
1437
  ),
1438
- 'helptext' => __( "Smart Crop ensures your responsive slides are cropped to a ratio that results in a consistent slideshow size", "metaslider" )
1439
  ),
1440
  'carouselMode' => array(
1441
  'priority' => 40,
1442
  'type' => 'checkbox',
1443
- 'label' => __( "Carousel mode", "metaslider" ),
1444
  'class' => 'option flex showNextWhenChecked',
1445
  'checked' => $this->slider->get_setting( 'carouselMode' ) == 'true' ? 'checked' : '',
1446
- 'helptext' => __( "Display multiple slides at once. Slideshow output will be 100% wide.", "metaslider" )
1447
  ),
1448
  'carouselMargin' => array(
1449
  'priority' => 45,
@@ -1451,35 +1451,35 @@ class MetaSliderPlugin {
1451
  'max' => 9999,
1452
  'step' => 1,
1453
  'type' => 'number',
1454
- 'label' => __( "Carousel margin", "metaslider" ),
1455
  'class' => 'option flex',
1456
  'value' => $this->slider->get_setting( 'carouselMargin' ),
1457
- 'helptext' => __( "Pixel margin between slides in carousel.", "metaslider" ),
1458
- 'after' => __( "px", "metaslider" )
1459
  ),
1460
  'random' => array(
1461
  'priority' => 50,
1462
  'type' => 'checkbox',
1463
- 'label' => __( "Random", "metaslider" ),
1464
  'class' => 'option coin flex nivo responsive',
1465
  'checked' => $this->slider->get_setting( 'random' ) == 'true' ? 'checked' : '',
1466
- 'helptext' => __( "Randomise the order of the slides", "metaslider" )
1467
  ),
1468
  'hoverPause' => array(
1469
  'priority' => 60,
1470
  'type' => 'checkbox',
1471
- 'label' => __( "Hover pause", "metaslider" ),
1472
  'class' => 'option coin flex nivo responsive',
1473
  'checked' => $this->slider->get_setting( 'hoverPause' ) == 'true' ? 'checked' : '',
1474
- 'helptext' => __( "Pause the slideshow when hovering over slider, then resume when no longer hovering.", "metaslider" )
1475
  ),
1476
  'reverse' => array(
1477
  'priority' => 70,
1478
  'type' => 'checkbox',
1479
- 'label' => __( "Reverse", "metaslider" ),
1480
  'class' => 'option flex',
1481
  'checked' => $this->slider->get_setting( 'reverse' ) == 'true' ? 'checked' : '',
1482
- 'helptext' => __( "Reverse the animation direction", "metaslider" )
1483
  ),
1484
  'delay' => array(
1485
  'priority' => 80,
@@ -1489,10 +1489,10 @@ class MetaSliderPlugin {
1489
  'max' => 10000,
1490
  'step' => 100,
1491
  'value' => $this->slider->get_setting( 'delay' ),
1492
- 'label' => __( "Slide delay", "metaslider" ),
1493
  'class' => 'option coin flex responsive nivo',
1494
- 'helptext' => __( "How long to display each slide, in milliseconds", "metaslider" ),
1495
- 'after' => __( "ms", "metaslider" )
1496
  ),
1497
  'animationSpeed' => array(
1498
  'priority' => 90,
@@ -1502,10 +1502,10 @@ class MetaSliderPlugin {
1502
  'max' => 2000,
1503
  'step' => 100,
1504
  'value' => $this->slider->get_setting( 'animationSpeed' ),
1505
- 'label' => __( "Animation speed", "metaslider" ),
1506
  'class' => 'option flex responsive nivo',
1507
- 'helptext' => __( "Set the speed of animations, in milliseconds", "metaslider" ),
1508
- 'after' => __( "ms", "metaslider" )
1509
  ),
1510
  'slices' => array(
1511
  'priority' => 100,
@@ -1515,10 +1515,10 @@ class MetaSliderPlugin {
1515
  'max' => 20,
1516
  'step' => 1,
1517
  'value' => $this->slider->get_setting( 'slices' ),
1518
- 'label' => __( "Number of slices", "metaslider" ),
1519
  'class' => 'option nivo',
1520
- 'helptext' => __( "Number of slices", "metaslider" ),
1521
- 'after' => __( "ms", "metaslider" )
1522
  ),
1523
  'spw' => array(
1524
  'priority' => 110,
@@ -1528,9 +1528,9 @@ class MetaSliderPlugin {
1528
  'max' => 20,
1529
  'step' => 1,
1530
  'value' => $this->slider->get_setting( 'spw' ),
1531
- 'label' => __( "Number of squares", "metaslider" ) . " (" . __( "Width", "metaslider" ) . ")",
1532
  'class' => 'option nivo',
1533
- 'helptext' => __( "Number of squares", "metaslider" ),
1534
  'after' => ''
1535
  ),
1536
  'sph' => array(
@@ -1541,46 +1541,46 @@ class MetaSliderPlugin {
1541
  'max' => 20,
1542
  'step' => 1,
1543
  'value' => $this->slider->get_setting( 'sph' ),
1544
- 'label' => __( "Number of squares", "metaslider" ) . " (" . __( "Height", "metaslider" ) . ")",
1545
  'class' => 'option nivo',
1546
- 'helptext' => __( "Number of squares", "metaslider" ),
1547
  'after' => ''
1548
  ),
1549
  'direction' => array(
1550
  'priority' => 130,
1551
  'type' => 'select',
1552
- 'label' => __( "Slide direction", "metaslider" ),
1553
  'class' => 'option flex',
1554
- 'helptext' => __( "Select the sliding direction", "metaslider" ),
1555
  'value' => $this->slider->get_setting( 'direction' ),
1556
  'options' => array(
1557
- 'horizontal' => array( 'label' => __( "Horizontal", "metaslider" ), 'class' => '' ),
1558
- 'vertical' => array( 'label' => __( "Vertical", "metaslider" ), 'class' => '' ),
1559
  )
1560
  ),
1561
  'easing' => array(
1562
  'priority' => 140,
1563
  'type' => 'select',
1564
- 'label' => __( "Easing", "metaslider" ),
1565
  'class' => 'option flex',
1566
- 'helptext' => __( "Animation easing effect", "metaslider" ),
1567
  'value' => $this->slider->get_setting( 'easing' ),
1568
  'options' => $this->get_easing_options()
1569
  ),
1570
  'prevText' => array(
1571
  'priority' => 150,
1572
  'type' => 'text',
1573
- 'label' => __( "Previous text", "metaslider" ),
1574
  'class' => 'option coin flex responsive nivo',
1575
- 'helptext' => __( "Set the text for the 'previous' direction item", "metaslider" ),
1576
  'value' => $this->slider->get_setting( 'prevText' ) == 'false' ? '' : $this->slider->get_setting( 'prevText' )
1577
  ),
1578
  'nextText' => array(
1579
  'priority' => 160,
1580
  'type' => 'text',
1581
- 'label' => __( "Next text", "metaslider" ),
1582
  'class' => 'option coin flex responsive nivo',
1583
- 'helptext' => __( "Set the text for the 'next' direction item", "metaslider" ),
1584
  'value' => $this->slider->get_setting( 'nextText' ) == 'false' ? '' : $this->slider->get_setting( 'nextText' )
1585
  ),
1586
  'sDelay' => array(
@@ -1591,10 +1591,10 @@ class MetaSliderPlugin {
1591
  'max' => 500,
1592
  'step' => 10,
1593
  'value' => $this->slider->get_setting( 'sDelay' ),
1594
- 'label' => __( "Square delay", "metaslider" ),
1595
  'class' => 'option coin',
1596
- 'helptext' => __( "Delay between squares in ms", "metaslider" ),
1597
- 'after' => __( "ms", "metaslider" )
1598
  ),
1599
  'opacity' => array(
1600
  'priority' => 180,
@@ -1604,9 +1604,9 @@ class MetaSliderPlugin {
1604
  'max' => 1,
1605
  'step' => 0.1,
1606
  'value' => $this->slider->get_setting( 'opacity' ),
1607
- 'label' => __( "Opacity", "metaslider" ),
1608
  'class' => 'option coin',
1609
- 'helptext' => __( "Opacity of title and navigation", "metaslider" ),
1610
  'after' => ''
1611
  ),
1612
  'titleSpeed' => array(
@@ -1617,48 +1617,48 @@ class MetaSliderPlugin {
1617
  'max' => 10000,
1618
  'step' => 100,
1619
  'value' => $this->slider->get_setting( 'titleSpeed' ),
1620
- 'label' => __( "Caption speed", "metaslider" ),
1621
  'class' => 'option coin',
1622
- 'helptext' => __( "Set the fade in speed of the caption", "metaslider" ),
1623
- 'after' => __( "ms", "metaslider" )
1624
  ),
1625
  'developerOptions' => array(
1626
  'priority' => 195,
1627
  'type' => 'divider',
1628
  'class' => 'option coin flex responsive nivo',
1629
- 'value' => __( "Developer options", "metaslider" )
1630
  ),
1631
  'cssClass' => array(
1632
  'priority' => 200,
1633
  'type' => 'text',
1634
- 'label' => __( "CSS classes", "metaslider" ),
1635
  'class' => 'option coin flex responsive nivo',
1636
- 'helptext' => __( "Specify any custom CSS Classes you would like to be added to the slider wrapper", "metaslider" ),
1637
  'value' => $this->slider->get_setting( 'cssClass' ) == 'false' ? '' : $this->slider->get_setting( 'cssClass' )
1638
  ),
1639
  'printCss' => array(
1640
  'priority' => 210,
1641
  'type' => 'checkbox',
1642
- 'label' => __( "Print CSS", "metaslider" ),
1643
  'class' => 'option coin flex responsive nivo useWithCaution',
1644
  'checked' => $this->slider->get_setting( 'printCss' ) == 'true' ? 'checked' : '',
1645
- 'helptext' => __( "Uncheck this is you would like to include your own CSS", "metaslider" )
1646
  ),
1647
  'printJs' => array(
1648
  'priority' => 220,
1649
  'type' => 'checkbox',
1650
- 'label' => __( "Print JS", "metaslider" ),
1651
  'class' => 'option coin flex responsive nivo useWithCaution',
1652
  'checked' => $this->slider->get_setting( 'printJs' ) == 'true' ? 'checked' : '',
1653
- 'helptext' => __( "Uncheck this is you would like to include your own Javascript", "metaslider" )
1654
  ),
1655
  'noConflict' => array(
1656
  'priority' => 230,
1657
  'type' => 'checkbox',
1658
- 'label' => __( "No conflict mode", "metaslider" ),
1659
  'class' => 'option flex',
1660
  'checked' => $this->slider->get_setting( 'noConflict' ) == 'true' ? 'checked' : '',
1661
- 'helptext' => __( "Delay adding the flexslider class to the slideshow", "metaslider" )
1662
  ),
1663
  );
1664
 
@@ -1672,18 +1672,18 @@ class MetaSliderPlugin {
1672
  </div>
1673
 
1674
  <div class="ms-postbox shortcode ms-toggle" id="metaslider_usage">
1675
- <div class="handlediv" title="Click to toggle"><br></div><h3 class="hndle"><span><?php _e( "Usage", "metaslider" ) ?></span></h3>
1676
  <div class="inside">
1677
  <ul class='tabs'>
1678
- <li rel='tab-1' class='selected'><?php _e( "Shortcode", "metaslider" ) ?></li>
1679
- <li rel='tab-2'><?php _e( "Template Include", "metaslider" ) ?></li>
1680
  </ul>
1681
  <div class='tabs-content'>
1682
  <div class='tab tab-1'>
1683
- <p><?php _e( "Copy & paste the shortcode directly into any WordPress post or page.", "metaslider" ); ?></p>
1684
  <input readonly='readonly' type='text' value='[metaslider id=<?php echo $this->slider->id ?>]' /></div>
1685
  <div class='tab tab-2' style='display: none'>
1686
- <p><?php _e( "Copy & paste this code into a template file to include the slideshow within your theme.", "metaslider" ); ?></p>
1687
  <textarea readonly='readonly'>&lt;?php &#13;&#10; echo do_shortcode("[metaslider id=<?php echo $this->slider->id ?>]"); &#13;&#10;?></textarea></div>
1688
  </div>
1689
  </div>
@@ -1719,7 +1719,7 @@ class MetaSliderPlugin {
1719
 
1720
  <?php $url = wp_nonce_url( admin_url( "admin-post.php?action=metaslider_delete_slider&amp;slider_id={$this->slider->id}" ), "metaslider_delete_slider" ); ?>
1721
 
1722
- <a class='delete-slider alignright button-secondary' href='<?php echo $url ?>'><?php _e( "Delete Slider", "metaslider" ) ?></a>
1723
  </div>
1724
  </div>
1725
  </div>
@@ -1745,10 +1745,10 @@ class MetaSliderPlugin {
1745
 
1746
  if ( in_array( $pagenow, array( 'post.php', 'page.php', 'post-new.php', 'post-edit.php' ) ) ) {
1747
  $context .= '<a href="#TB_inline?&inlineId=choose-meta-slider" class="thickbox button" title="' .
1748
- __( "Select slideshow to insert into post", "metaslider" ) .
1749
  '"><span class="wp-media-buttons-icon" style="background: url(' . METASLIDER_ASSETS_URL .
1750
  '/metaslider/matchalabs.png); background-repeat: no-repeat; background-position: left bottom;"></span> ' .
1751
- __( "Add slider", "metaslider" ) . '</a>';
1752
  }
1753
 
1754
  return $context;
@@ -1782,16 +1782,16 @@ class MetaSliderPlugin {
1782
  <div class="wrap">
1783
  <?php
1784
  if ( count( $sliders ) ) {
1785
- echo "<h3 style='margin-bottom: 20px;'>" . __( "Insert Meta Slider", "metaslider" ) . "</h3>";
1786
  echo "<select id='metaslider-select'>";
1787
- echo "<option disabled=disabled>" . __( "Choose slideshow", "metaslider" ) . "</option>";
1788
  foreach ( $sliders as $slider ) {
1789
  echo "<option value='{$slider['id']}'>{$slider['title']}</option>";
1790
  }
1791
  echo "</select>";
1792
- echo "<button class='button primary' id='insertMetaSlider'>" . __( "Insert slideshow", "metaslider" ) . "</button>";
1793
  } else {
1794
- _e( "No slideshows found", "metaslider" );
1795
  }
1796
  ?>
1797
  </div>
@@ -1808,7 +1808,7 @@ class MetaSliderPlugin {
1808
  public function upgrade_to_pro_link( $links ) {
1809
 
1810
  if ( function_exists( 'is_plugin_active' ) && ! is_plugin_active( 'ml-slider-pro/ml-slider-pro.php' ) ) {
1811
- $links[] = '<a href="http://www.metaslider.com/upgrade" target="_blank">' . __( "Go Pro", "metaslider" ) . '</a>';
1812
  }
1813
 
1814
  return $links;
@@ -1832,7 +1832,7 @@ class MetaSliderPlugin {
1832
 
1833
  $link = apply_filters( 'metaslider_hoplink', $upgrade_link );
1834
 
1835
- $text = "Meta Slider v" . METASLIDER_VERSION . " - " . __( 'Upgrade to Pro $19', "metaslider" );
1836
 
1837
  echo "<div style='display: none;' id='screen-options-link-wrap'><a target='_blank' class='show-settings dashicons-before dashicons-performance' href='{$link}'>{$text}</a></div>";
1838
 
5
  * Plugin Name: Meta Slider
6
  * Plugin URI: https://www.metaslider.com
7
  * Description: Easy to use slideshow plugin. Create SEO optimised responsive slideshows with Nivo Slider, Flex Slider, Coin Slider and Responsive Slides.
8
+ * Version: 3.3.5
9
  * Author: Matcha Labs
10
  * Author URI: https://www.metaslider.com
11
  * License: GPL-2.0+
12
  * Copyright: 2014 Matcha Labs LTD
13
  *
14
+ * Text Domain: ml-slider
15
+ * Domain Path: /languages
16
  */
17
 
18
  if ( ! defined( 'ABSPATH' ) ) {
31
  /**
32
  * @var string
33
  */
34
+ public $version = '3.3.5';
35
 
36
 
37
  /**
281
 
282
  $page = add_submenu_page(
283
  'metaslider',
284
+ __( 'Go Pro!', 'ml-slider' ),
285
+ __( 'Go Pro!', 'ml-slider' ),
286
  $capability,
287
  'metaslider-go-pro',
288
  array( $this, 'go_pro_page' )
400
  */
401
  public function load_plugin_textdomain() {
402
 
403
+ load_plugin_textdomain( 'ml-slider', false, dirname( plugin_basename( __FILE__ ) ) . '/languages/' );
404
 
405
  }
406
 
415
  // documentation tab
416
  $screen->add_help_tab( array(
417
  'id' => 'documentation',
418
+ 'title' => __( 'Documentation', 'ml-slider' ),
419
  'content' => "<p><a href='http://www.metaslider.com/documentation/' target='blank'>Meta Slider Documentation</a></p>",
420
  )
421
  );
468
  public function localize_admin_scripts() {
469
 
470
  wp_localize_script( 'metaslider-admin-script', 'metaslider', array(
471
+ 'url' => __( "URL", "ml-slider" ),
472
+ 'caption' => __( "Caption", "ml-slider" ),
473
+ 'new_window' => __( "New Window", "ml-slider" ),
474
+ 'confirm' => __( "Are you sure?", "ml-slider" ),
475
  'ajaxurl' => admin_url( 'admin-ajax.php' ),
476
+ 'change_image' => __( "Select replacement image", "ml-slider"),
477
  'resize_nonce' => wp_create_nonce( 'metaslider_resize' ),
478
  'addslide_nonce' => wp_create_nonce( 'metaslider_addslide' ),
479
  'changeslide_nonce' => wp_create_nonce( 'metaslider_changeslide' ),
480
  'iframeurl' => admin_url( 'admin-post.php?action=metaslider_preview' ),
481
+ 'useWithCaution' => __( "Caution: This setting is for advanced developers only. If you're unsure, leave it checked.", "ml-slider" )
482
  )
483
  );
484
 
541
 
542
  //update strings
543
  if ( ( isset( $_GET['page'] ) && $_GET['page'] == 'metaslider' ) ) {
544
+ $strings['insertMediaTitle'] = __( "Image", "ml-slider" );
545
+ $strings['insertIntoPost'] = __( "Add to slider", "ml-slider" );
546
  // remove options
547
 
548
  $strings_to_remove = array(
812
 
813
  // insert the post
814
  $id = wp_insert_post( array(
815
+ 'post_title' => __( "New Slider", "ml-slider" ),
816
  'post_status' => 'publish',
817
  'post_type' => 'ml-slider'
818
  )
1103
  if ( $this->get_view() == 'tabs' ) {
1104
 
1105
  echo "<div style='display: none;' id='screen-options-switch-view-wrap'>
1106
+ <a class='switchview dashicons-before dashicons-randomize tipsy-tooltip' title='" . __("Switch to Dropdown view", "ml-slider") . "' href='" . admin_url( "admin-post.php?action=metaslider_switch_view&view=dropdown") . "'>" . __("Dropdown", "ml-slider") . "</a></div>";
1107
 
1108
  echo "<h3 class='nav-tab-wrapper'>";
1109
 
1124
 
1125
  if ( isset( $_GET['add'] ) && $_GET['add'] == 'true' ) {
1126
 
1127
+ echo "<div id='message' class='updated'><p>" . __( "New slideshow created. Click 'Add Slide' to get started!", "ml-slider" ) . "</p></div>";
1128
 
1129
  }
1130
 
1131
+ echo "<div style='display: none;' id='screen-options-switch-view-wrap'><a class='switchview dashicons-before dashicons-randomize tipsy-tooltip' title='" . __("Switch to Tab view", "ml-slider") . "' href='" . admin_url( "admin-post.php?action=metaslider_switch_view&view=tabs") . "'>" . __("Tabs", "ml-slider") . "</a></div>";
1132
 
1133
+ echo "<div class='dropdown_container'><label for='select-slider'>" . __("Select Slider", "ml-slider") . ": </label>";
1134
  echo "<select name='select-slider' onchange='if (this.value) window.location.href=this.value'>";
1135
 
1136
  $tabs = $this->all_meta_sliders( 'title' );
1149
 
1150
  }
1151
 
1152
+ echo "</select> " . __( 'or', "ml-slider" ) . " ";
1153
+ echo "<a href='{$add_url}'>" . __( 'Add New Slideshow', "ml-slider" ) . "</a></div>";
1154
 
1155
  }
1156
  } else {
1157
  echo "<h3 class='nav-tab-wrapper'>";
1158
  echo "<a href='{$add_url}' id='create_new_tab' class='nav-tab'>+</a>";
1159
+ echo "<div class='bubble'>" . __( "Create your first slideshow", "ml-slider" ) . "</div>";
1160
  echo "</h3>";
1161
  }
1162
  }
1232
  <thead>
1233
  <tr>
1234
  <th style="width: 100px;">
1235
+ <h3><?php _e( "Slides", "ml-slider" ) ?></h3>
1236
  <?php do_action( "metaslider_admin_table_header_left", $this->slider->id ); ?>
1237
  </th>
1238
  <th>
1239
+ <a href='#' class='button alignright add-slide' data-editor='content' title='<?php _e( "Add Slide", "ml-slider" ) ?>'>
1240
+ <span class='wp-media-buttons-icon'></span> <?php _e( "Add Slide", "ml-slider" ) ?>
1241
  </a>
1242
  <?php do_action( "metaslider_admin_table_header_right", $this->slider->id ); ?>
1243
  </th>
1260
  <div class='right'>
1261
  <div class="ms-postbox" id="metaslider_configuration">
1262
  <h3 class='configuration'>
1263
+ <?php _e( "Settings", "ml-slider" ) ?>
1264
+ <input class='alignright button button-primary' type='submit' name='save' id='ms-save' value='<?php _e( "Save", "ml-slider" ) ?>' />
1265
+ <input class='alignright button button-primary' type='submit' name='preview' id='ms-preview' value='<?php _e( "Save & Preview", "ml-slider" ) ?>' data-slider_id='<?php echo $this->slider->id ?>' data-slider_width='<?php echo $this->slider->get_setting( 'width' ) ?>' data-slider_height='<?php echo $this->slider->get_setting( 'height' ) ?>' />
1266
  <span class="spinner"></span>
1267
  </h3>
1268
  <div class="inside">
1275
  'type' => 'slider-lib',
1276
  'value' => $this->slider->get_setting( 'type' ),
1277
  'options' => array(
1278
+ 'flex' => array( 'label' => __( "Flex Slider", "ml-slider" ) ),
1279
+ 'responsive' => array( 'label' => __( "R. Slides", "ml-slider" ) ),
1280
+ 'nivo' => array( 'label' => __( "Nivo Slider", "ml-slider" ) ),
1281
+ 'coin' => array( 'label' => __( "Coin Slider", "ml-slider" ) )
1282
  )
1283
  ),
1284
  'width' => array(
1289
  'max' => 9999,
1290
  'step' => 1,
1291
  'value' => $this->slider->get_setting( 'width' ),
1292
+ 'label' => __( "Width", "ml-slider" ),
1293
  'class' => 'coin flex responsive nivo',
1294
+ 'helptext' => __( "Slideshow width", "ml-slider" ),
1295
+ 'after' => __( "px", "ml-slider" )
1296
  ),
1297
  'height' => array(
1298
  'priority' => 20,
1302
  'max' => 9999,
1303
  'step' => 1,
1304
  'value' => $this->slider->get_setting( 'height' ),
1305
+ 'label' => __( "Height", "ml-slider" ),
1306
  'class' => 'coin flex responsive nivo',
1307
+ 'helptext' => __( "Slideshow height", "ml-slider" ),
1308
+ 'after' => __( "px", "ml-slider" )
1309
  ),
1310
  'effect' => array(
1311
  'priority' => 30,
1312
  'type' => 'select',
1313
  'value' => $this->slider->get_setting( 'effect' ),
1314
+ 'label' => __( "Effect", "ml-slider" ),
1315
  'class' => 'effect coin flex responsive nivo',
1316
+ 'helptext' => __( "Slide transition effect", "ml-slider" ),
1317
  'options' => array(
1318
+ 'random' => array( 'class' => 'option coin nivo' , 'label' => __( "Random", "ml-slider" ) ),
1319
+ 'swirl' => array( 'class' => 'option coin', 'label' => __( "Swirl", "ml-slider" ) ),
1320
+ 'rain' => array( 'class' => 'option coin', 'label' => __( "Rain", "ml-slider" ) ),
1321
+ 'straight' => array( 'class' => 'option coin', 'label' => __( "Straight", "ml-slider" ) ),
1322
+ 'sliceDown' => array( 'class' => 'option nivo', 'label' => __( "Slide Down", "ml-slider" ) ),
1323
+ 'sliceUp' => array( 'class' => 'option nivo', 'label' => __( "Slice Up", "ml-slider" ) ),
1324
+ 'sliceUpLeft' => array( 'class' => 'option nivo', 'label' => __( "Slide Up Left", "ml-slider" ) ),
1325
+ 'sliceUpDown' => array( 'class' => 'option nivo', 'label' => __( "Slice Up Down", "ml-slider" ) ),
1326
+ 'slideUpDownLeft' => array( 'class' => 'option nivo', 'label' => __( "Slide Up Down Left", "ml-slider" ) ),
1327
+ 'fold' => array( 'class' => 'option nivo', 'label' => __( "Fold", "ml-slider" ) ),
1328
+ 'fade' => array( 'class' => 'option nivo flex responsive', 'label' => __( "Fade", "ml-slider" ) ),
1329
+ 'slideInRight' => array( 'class' => 'option nivo', 'label' => __( "Slide In Right", "ml-slider" ) ),
1330
+ 'slideInLeft' => array( 'class' => 'option nivo', 'label' => __( "Slide In Left", "ml-slider" ) ),
1331
+ 'boxRandom' => array( 'class' => 'option nivo', 'label' => __( "Box Random", "ml-slider" ) ),
1332
+ 'boxRain' => array( 'class' => 'option nivo', 'label' => __( "Box Rain", "ml-slider" ) ),
1333
+ 'boxRainReverse' => array( 'class' => 'option nivo', 'label' => __( "Box Rain Reverse", "ml-slider" ) ),
1334
+ 'boxRainGrowReverse' => array( 'class' => 'option nivo', 'label' => __( "Box Rain Grow Reverse", "ml-slider" ) ),
1335
+ 'slide' => array( 'class' => 'option flex', 'label' => __( "Slide", "ml-slider" ) )
1336
  ),
1337
  ),
1338
  'theme' => array(
1339
  'priority' => 40,
1340
  'type' => 'theme',
1341
  'value' => $this->slider->get_setting( 'theme' ),
1342
+ 'label' => __( "Theme", "ml-slider" ),
1343
  'class' => 'effect coin flex responsive nivo',
1344
+ 'helptext' => __( "Slideshow theme", "ml-slider" ),
1345
  'options' => array(
1346
+ 'default' => array( 'class' => 'option nivo flex coin responsive' , 'label' => __( "Default", "ml-slider" ) ),
1347
+ 'dark' => array( 'class' => 'option nivo', 'label' => __( "Dark (Nivo)", "ml-slider" ) ),
1348
+ 'light' => array( 'class' => 'option nivo', 'label' => __( "Light (Nivo)", "ml-slider" ) ),
1349
+ 'bar' => array( 'class' => 'option nivo', 'label' => __( "Bar (Nivo)", "ml-slider" ) ),
1350
  ),
1351
  ),
1352
  'links' => array(
1353
  'priority' => 50,
1354
  'type' => 'checkbox',
1355
+ 'label' => __( "Arrows", "ml-slider" ),
1356
  'class' => 'option coin flex nivo responsive',
1357
  'checked' => $this->slider->get_setting( 'links' ) == 'true' ? 'checked' : '',
1358
+ 'helptext' => __( "Show the previous/next arrows", "ml-slider" )
1359
  ),
1360
  'navigation' => array(
1361
  'priority' => 60,
1362
  'type' => 'navigation',
1363
+ 'label' => __( "Navigation", "ml-slider" ),
1364
  'class' => 'option coin flex nivo responsive',
1365
  'value' => $this->slider->get_setting( 'navigation' ),
1366
+ 'helptext' => __( "Show the slide navigation bullets", "ml-slider" ),
1367
  'options' => array(
1368
+ 'false' => array( 'label' => __( "Hidden", "ml-slider" ) ),
1369
+ 'true' => array( 'label' => __( "Dots", "ml-slider" ) ),
1370
  )
1371
  ),
1372
  );
1377
  'priority' => 5,
1378
  'class' => 'option flex nivo responsive coin',
1379
  'value' => get_the_title($this->slider->id),
1380
+ 'label' => __( "Title", "ml-slider" ),
1381
+ 'helptext' => __( "Slideshow title", "ml-slider" )
1382
  );
1383
  }
1384
 
1392
  </div>
1393
 
1394
  <div class="ms-postbox ms-toggle closed" id="metaslider_advanced_settings">
1395
+ <div class="handlediv" title="Click to toggle"><br></div><h3 class="hndle"><span><?php _e( "Advanced Settings", "ml-slider" ) ?></span></h3>
1396
  <div class="inside">
1397
  <table>
1398
  <tbody>
1401
  'fullWidth' => array(
1402
  'priority' => 5,
1403
  'type' => 'checkbox',
1404
+ 'label' => __( "Stretch", "ml-slider" ),
1405
  'class' => 'option flex nivo responsive',
1406
+ 'after' => __( "100% wide output", "ml-slider" ),
1407
  'checked' => $this->slider->get_setting( 'fullWidth' ) == 'true' ? 'checked' : '',
1408
+ 'helptext' => __( "Stretch the slideshow output to fill it's parent container", "ml-slider" )
1409
  ),
1410
  'center' => array(
1411
  'priority' => 10,
1412
  'type' => 'checkbox',
1413
+ 'label' => __( "Center align", "ml-slider" ),
1414
  'class' => 'option coin flex nivo responsive',
1415
  'checked' => $this->slider->get_setting( 'center' ) == 'true' ? 'checked' : '',
1416
+ 'helptext' => __( "Center align the slideshow", "ml-slider" )
1417
  ),
1418
  'autoPlay' => array(
1419
  'priority' => 20,
1420
  'type' => 'checkbox',
1421
+ 'label' => __( "Auto play", "ml-slider" ),
1422
  'class' => 'option flex nivo responsive',
1423
  'checked' => $this->slider->get_setting( 'autoPlay' ) == 'true' ? 'checked' : '',
1424
+ 'helptext' => __( "Transition between slides automatically", "ml-slider" )
1425
  ),
1426
  'smartCrop' => array(
1427
  'priority' => 30,
1428
  'type' => 'select',
1429
+ 'label' => __( "Image Crop", "ml-slider" ),
1430
  'class' => 'option coin flex nivo responsive',
1431
  'value' => $this->slider->get_setting( 'smartCrop' ),
1432
  'options' => array(
1433
+ 'true' => array( 'label' => __( "Smart Crop", "ml-slider" ), 'class' => '' ),
1434
+ 'false' => array( 'label' => __( "Standard", "ml-slider" ), 'class' => '' ),
1435
+ 'disabled' => array( 'label' => __( "Disabled", "ml-slider" ), 'class' => '' ),
1436
+ 'disabled_pad' => array( 'label' => __( "Disabled (Smart Pad)", "ml-slider" ), 'class' => 'option flex' ),
1437
  ),
1438
+ 'helptext' => __( "Smart Crop ensures your responsive slides are cropped to a ratio that results in a consistent slideshow size", "ml-slider" )
1439
  ),
1440
  'carouselMode' => array(
1441
  'priority' => 40,
1442
  'type' => 'checkbox',
1443
+ 'label' => __( "Carousel mode", "ml-slider" ),
1444
  'class' => 'option flex showNextWhenChecked',
1445
  'checked' => $this->slider->get_setting( 'carouselMode' ) == 'true' ? 'checked' : '',
1446
+ 'helptext' => __( "Display multiple slides at once. Slideshow output will be 100% wide.", "ml-slider" )
1447
  ),
1448
  'carouselMargin' => array(
1449
  'priority' => 45,
1451
  'max' => 9999,
1452
  'step' => 1,
1453
  'type' => 'number',
1454
+ 'label' => __( "Carousel margin", "ml-slider" ),
1455
  'class' => 'option flex',
1456
  'value' => $this->slider->get_setting( 'carouselMargin' ),
1457
+ 'helptext' => __( "Pixel margin between slides in carousel.", "ml-slider" ),
1458
+ 'after' => __( "px", "ml-slider" )
1459
  ),
1460
  'random' => array(
1461
  'priority' => 50,
1462
  'type' => 'checkbox',
1463
+ 'label' => __( "Random", "ml-slider" ),
1464
  'class' => 'option coin flex nivo responsive',
1465
  'checked' => $this->slider->get_setting( 'random' ) == 'true' ? 'checked' : '',
1466
+ 'helptext' => __( "Randomise the order of the slides", "ml-slider" )
1467
  ),
1468
  'hoverPause' => array(
1469
  'priority' => 60,
1470
  'type' => 'checkbox',
1471
+ 'label' => __( "Hover pause", "ml-slider" ),
1472
  'class' => 'option coin flex nivo responsive',
1473
  'checked' => $this->slider->get_setting( 'hoverPause' ) == 'true' ? 'checked' : '',
1474
+ 'helptext' => __( "Pause the slideshow when hovering over slider, then resume when no longer hovering.", "ml-slider" )
1475
  ),
1476
  'reverse' => array(
1477
  'priority' => 70,
1478
  'type' => 'checkbox',
1479
+ 'label' => __( "Reverse", "ml-slider" ),
1480
  'class' => 'option flex',
1481
  'checked' => $this->slider->get_setting( 'reverse' ) == 'true' ? 'checked' : '',
1482
+ 'helptext' => __( "Reverse the animation direction", "ml-slider" )
1483
  ),
1484
  'delay' => array(
1485
  'priority' => 80,
1489
  'max' => 10000,
1490
  'step' => 100,
1491
  'value' => $this->slider->get_setting( 'delay' ),
1492
+ 'label' => __( "Slide delay", "ml-slider" ),
1493
  'class' => 'option coin flex responsive nivo',
1494
+ 'helptext' => __( "How long to display each slide, in milliseconds", "ml-slider" ),
1495
+ 'after' => __( "ms", "ml-slider" )
1496
  ),
1497
  'animationSpeed' => array(
1498
  'priority' => 90,
1502
  'max' => 2000,
1503
  'step' => 100,
1504
  'value' => $this->slider->get_setting( 'animationSpeed' ),
1505
+ 'label' => __( "Animation speed", "ml-slider" ),
1506
  'class' => 'option flex responsive nivo',
1507
+ 'helptext' => __( "Set the speed of animations, in milliseconds", "ml-slider" ),
1508
+ 'after' => __( "ms", "ml-slider" )
1509
  ),
1510
  'slices' => array(
1511
  'priority' => 100,
1515
  'max' => 20,
1516
  'step' => 1,
1517
  'value' => $this->slider->get_setting( 'slices' ),
1518
+ 'label' => __( "Number of slices", "ml-slider" ),
1519
  'class' => 'option nivo',
1520
+ 'helptext' => __( "Number of slices", "ml-slider" ),
1521
+ 'after' => __( "ms", "ml-slider" )
1522
  ),
1523
  'spw' => array(
1524
  'priority' => 110,
1528
  'max' => 20,
1529
  'step' => 1,
1530
  'value' => $this->slider->get_setting( 'spw' ),
1531
+ 'label' => __( "Number of squares", "ml-slider" ) . " (" . __( "Width", "ml-slider" ) . ")",
1532
  'class' => 'option nivo',
1533
+ 'helptext' => __( "Number of squares", "ml-slider" ),
1534
  'after' => ''
1535
  ),
1536
  'sph' => array(
1541
  'max' => 20,
1542
  'step' => 1,
1543
  'value' => $this->slider->get_setting( 'sph' ),
1544
+ 'label' => __( "Number of squares", "ml-slider" ) . " (" . __( "Height", "ml-slider" ) . ")",
1545
  'class' => 'option nivo',
1546
+ 'helptext' => __( "Number of squares", "ml-slider" ),
1547
  'after' => ''
1548
  ),
1549
  'direction' => array(
1550
  'priority' => 130,
1551
  'type' => 'select',
1552
+ 'label' => __( "Slide direction", "ml-slider" ),
1553
  'class' => 'option flex',
1554
+ 'helptext' => __( "Select the sliding direction", "ml-slider" ),
1555
  'value' => $this->slider->get_setting( 'direction' ),
1556
  'options' => array(
1557
+ 'horizontal' => array( 'label' => __( "Horizontal", "ml-slider" ), 'class' => '' ),
1558
+ 'vertical' => array( 'label' => __( "Vertical", "ml-slider" ), 'class' => '' ),
1559
  )
1560
  ),
1561
  'easing' => array(
1562
  'priority' => 140,
1563
  'type' => 'select',
1564
+ 'label' => __( "Easing", "ml-slider" ),
1565
  'class' => 'option flex',
1566
+ 'helptext' => __( "Animation easing effect", "ml-slider" ),
1567
  'value' => $this->slider->get_setting( 'easing' ),
1568
  'options' => $this->get_easing_options()
1569
  ),
1570
  'prevText' => array(
1571
  'priority' => 150,
1572
  'type' => 'text',
1573
+ 'label' => __( "Previous text", "ml-slider" ),
1574
  'class' => 'option coin flex responsive nivo',
1575
+ 'helptext' => __( "Set the text for the 'previous' direction item", "ml-slider" ),
1576
  'value' => $this->slider->get_setting( 'prevText' ) == 'false' ? '' : $this->slider->get_setting( 'prevText' )
1577
  ),
1578
  'nextText' => array(
1579
  'priority' => 160,
1580
  'type' => 'text',
1581
+ 'label' => __( "Next text", "ml-slider" ),
1582
  'class' => 'option coin flex responsive nivo',
1583
+ 'helptext' => __( "Set the text for the 'next' direction item", "ml-slider" ),
1584
  'value' => $this->slider->get_setting( 'nextText' ) == 'false' ? '' : $this->slider->get_setting( 'nextText' )
1585
  ),
1586
  'sDelay' => array(
1591
  'max' => 500,
1592
  'step' => 10,
1593
  'value' => $this->slider->get_setting( 'sDelay' ),
1594
+ 'label' => __( "Square delay", "ml-slider" ),
1595
  'class' => 'option coin',
1596
+ 'helptext' => __( "Delay between squares in ms", "ml-slider" ),
1597
+ 'after' => __( "ms", "ml-slider" )
1598
  ),
1599
  'opacity' => array(
1600
  'priority' => 180,
1604
  'max' => 1,
1605
  'step' => 0.1,
1606
  'value' => $this->slider->get_setting( 'opacity' ),
1607
+ 'label' => __( "Opacity", "ml-slider" ),
1608
  'class' => 'option coin',
1609
+ 'helptext' => __( "Opacity of title and navigation", "ml-slider" ),
1610
  'after' => ''
1611
  ),
1612
  'titleSpeed' => array(
1617
  'max' => 10000,
1618
  'step' => 100,
1619
  'value' => $this->slider->get_setting( 'titleSpeed' ),
1620
+ 'label' => __( "Caption speed", "ml-slider" ),
1621
  'class' => 'option coin',
1622
+ 'helptext' => __( "Set the fade in speed of the caption", "ml-slider" ),
1623
+ 'after' => __( "ms", "ml-slider" )
1624
  ),
1625
  'developerOptions' => array(
1626
  'priority' => 195,
1627
  'type' => 'divider',
1628
  'class' => 'option coin flex responsive nivo',
1629
+ 'value' => __( "Developer options", "ml-slider" )
1630
  ),
1631
  'cssClass' => array(
1632
  'priority' => 200,
1633
  'type' => 'text',
1634
+ 'label' => __( "CSS classes", "ml-slider" ),
1635
  'class' => 'option coin flex responsive nivo',
1636
+ 'helptext' => __( "Specify any custom CSS Classes you would like to be added to the slider wrapper", "ml-slider" ),
1637
  'value' => $this->slider->get_setting( 'cssClass' ) == 'false' ? '' : $this->slider->get_setting( 'cssClass' )
1638
  ),
1639
  'printCss' => array(
1640
  'priority' => 210,
1641
  'type' => 'checkbox',
1642
+ 'label' => __( "Print CSS", "ml-slider" ),
1643
  'class' => 'option coin flex responsive nivo useWithCaution',
1644
  'checked' => $this->slider->get_setting( 'printCss' ) == 'true' ? 'checked' : '',
1645
+ 'helptext' => __( "Uncheck this is you would like to include your own CSS", "ml-slider" )
1646
  ),
1647
  'printJs' => array(
1648
  'priority' => 220,
1649
  'type' => 'checkbox',
1650
+ 'label' => __( "Print JS", "ml-slider" ),
1651
  'class' => 'option coin flex responsive nivo useWithCaution',
1652
  'checked' => $this->slider->get_setting( 'printJs' ) == 'true' ? 'checked' : '',
1653
+ 'helptext' => __( "Uncheck this is you would like to include your own Javascript", "ml-slider" )
1654
  ),
1655
  'noConflict' => array(
1656
  'priority' => 230,
1657
  'type' => 'checkbox',
1658
+ 'label' => __( "No conflict mode", "ml-slider" ),
1659
  'class' => 'option flex',
1660
  'checked' => $this->slider->get_setting( 'noConflict' ) == 'true' ? 'checked' : '',
1661
+ 'helptext' => __( "Delay adding the flexslider class to the slideshow", "ml-slider" )
1662
  ),
1663
  );
1664
 
1672
  </div>
1673
 
1674
  <div class="ms-postbox shortcode ms-toggle" id="metaslider_usage">
1675
+ <div class="handlediv" title="Click to toggle"><br></div><h3 class="hndle"><span><?php _e( "Usage", "ml-slider" ) ?></span></h3>
1676
  <div class="inside">
1677
  <ul class='tabs'>
1678
+ <li rel='tab-1' class='selected'><?php _e( "Shortcode", "ml-slider" ) ?></li>
1679
+ <li rel='tab-2'><?php _e( "Template Include", "ml-slider" ) ?></li>
1680
  </ul>
1681
  <div class='tabs-content'>
1682
  <div class='tab tab-1'>
1683
+ <p><?php _e( "Copy & paste the shortcode directly into any WordPress post or page.", "ml-slider" ); ?></p>
1684
  <input readonly='readonly' type='text' value='[metaslider id=<?php echo $this->slider->id ?>]' /></div>
1685
  <div class='tab tab-2' style='display: none'>
1686
+ <p><?php _e( "Copy & paste this code into a template file to include the slideshow within your theme.", "ml-slider" ); ?></p>
1687
  <textarea readonly='readonly'>&lt;?php &#13;&#10; echo do_shortcode("[metaslider id=<?php echo $this->slider->id ?>]"); &#13;&#10;?></textarea></div>
1688
  </div>
1689
  </div>
1719
 
1720
  <?php $url = wp_nonce_url( admin_url( "admin-post.php?action=metaslider_delete_slider&amp;slider_id={$this->slider->id}" ), "metaslider_delete_slider" ); ?>
1721
 
1722
+ <a class='delete-slider alignright button-secondary' href='<?php echo $url ?>'><?php _e( "Delete Slider", "ml-slider" ) ?></a>
1723
  </div>
1724
  </div>
1725
  </div>
1745
 
1746
  if ( in_array( $pagenow, array( 'post.php', 'page.php', 'post-new.php', 'post-edit.php' ) ) ) {
1747
  $context .= '<a href="#TB_inline?&inlineId=choose-meta-slider" class="thickbox button" title="' .
1748
+ __( "Select slideshow to insert into post", "ml-slider" ) .
1749
  '"><span class="wp-media-buttons-icon" style="background: url(' . METASLIDER_ASSETS_URL .
1750
  '/metaslider/matchalabs.png); background-repeat: no-repeat; background-position: left bottom;"></span> ' .
1751
+ __( "Add slider", "ml-slider" ) . '</a>';
1752
  }
1753
 
1754
  return $context;
1782
  <div class="wrap">
1783
  <?php
1784
  if ( count( $sliders ) ) {
1785
+ echo "<h3 style='margin-bottom: 20px;'>" . __( "Insert Meta Slider", "ml-slider" ) . "</h3>";
1786
  echo "<select id='metaslider-select'>";
1787
+ echo "<option disabled=disabled>" . __( "Choose slideshow", "ml-slider" ) . "</option>";
1788
  foreach ( $sliders as $slider ) {
1789
  echo "<option value='{$slider['id']}'>{$slider['title']}</option>";
1790
  }
1791
  echo "</select>";
1792
+ echo "<button class='button primary' id='insertMetaSlider'>" . __( "Insert slideshow", "ml-slider" ) . "</button>";
1793
  } else {
1794
+ _e( "No slideshows found", "ml-slider" );
1795
  }
1796
  ?>
1797
  </div>
1808
  public function upgrade_to_pro_link( $links ) {
1809
 
1810
  if ( function_exists( 'is_plugin_active' ) && ! is_plugin_active( 'ml-slider-pro/ml-slider-pro.php' ) ) {
1811
+ $links[] = '<a href="http://www.metaslider.com/upgrade" target="_blank">' . __( "Go Pro", "ml-slider" ) . '</a>';
1812
  }
1813
 
1814
  return $links;
1832
 
1833
  $link = apply_filters( 'metaslider_hoplink', $upgrade_link );
1834
 
1835
+ $text = "Meta Slider v" . METASLIDER_VERSION . " - " . __( 'Upgrade to Pro $19', "ml-slider" );
1836
 
1837
  echo "<div style='display: none;' id='screen-options-link-wrap'><a target='_blank' class='show-settings dashicons-before dashicons-performance' href='{$link}'>{$text}</a></div>";
1838
 
readme.txt CHANGED
@@ -3,8 +3,8 @@ Contributors: matchalabs
3
  Tags: wordpress slideshow,seo,slideshow,slider,widget,wordpress slider,image slider,flexslider,flex slider,nivoslider,nivo slider,responsive,responsive slides,coinslider,coin slider,slideshow,carousel,responsive slider,vertical slides
4
  Donate link: https://www.paypal.com/cgi-bin/webscr?cmd=_s-xclick&hosted_button_id=CQ84KC4X8YKW8
5
  Requires at least: 3.5
6
- Tested up to: 4.2.2
7
- Stable tag: 3.3.4
8
  License: GPLv2 or later
9
  License URI: http://www.gnu.org/licenses/gpl-2.0.html
10
 
@@ -147,6 +147,11 @@ See www.metaslider.com/documentation/image-cropping/
147
 
148
  == Changelog ==
149
 
 
 
 
 
 
150
  = 3.3.4.1 [29/07/15] =
151
 
152
  * Fix Roots theme CSS conflict
3
  Tags: wordpress slideshow,seo,slideshow,slider,widget,wordpress slider,image slider,flexslider,flex slider,nivoslider,nivo slider,responsive,responsive slides,coinslider,coin slider,slideshow,carousel,responsive slider,vertical slides
4
  Donate link: https://www.paypal.com/cgi-bin/webscr?cmd=_s-xclick&hosted_button_id=CQ84KC4X8YKW8
5
  Requires at least: 3.5
6
+ Tested up to: 4.3.1
7
+ Stable tag: 3.3.4.1
8
  License: GPLv2 or later
9
  License URI: http://www.gnu.org/licenses/gpl-2.0.html
10
 
147
 
148
  == Changelog ==
149
 
150
+ = 3.3.5 [11/09/15] =
151
+
152
+ * Prepare plugin for WordPress.org translation project (rename textdomain from 'metaslider' to 'ml-slider')
153
+ * Small styling fix
154
+
155
  = 3.3.4.1 [29/07/15] =
156
 
157
  * Fix Roots theme CSS conflict