Version Description
- June 16, 2018 =
- Fix "wait" spinner in unstyled form template.
- On forms, only show required symbol if field label is shown.
- Refactor inline style method.
- Improve exception handling.
Download this release
Release Info
| Developer | cdillon27 |
| Plugin | |
| Version | 2.31.8 |
| Comparing to | |
| See all releases | |
Code changes from version 2.31.7 to 2.31.8
- admin/class-strong-testimonials-defaults.php +1 -0
- admin/class-strong-testimonials-updater.php +7 -1
- admin/settings/partials/form.php +4 -1
- includes/class-strong-testimonials-render.php +2 -1
- includes/class-strong-view-display.php +1 -5
- includes/class-strong-view-form.php +1 -5
- includes/class-strong-view-slideshow.php +1 -5
- includes/class-strong-view.php +23 -4
- includes/functions-template-form.php +26 -20
- includes/scripts.php +0 -5
- readme.txt +10 -5
- strong-testimonials.php +2 -2
- templates-scss/_partials/_form-wait.scss +19 -0
- templates-scss/_partials/_structure-form.scss +0 -20
- templates-scss/default-form/form.scss +1 -0
- templates-scss/simple-form/form.scss +1 -0
- templates-scss/unstyled-form/form.scss +4 -0
- templates/unstyled-form/form.css +21 -0
admin/class-strong-testimonials-defaults.php
CHANGED
|
@@ -398,6 +398,7 @@ class Strong_Testimonials_Defaults {
|
|
| 398 |
/* translators: Settings > Form > Messages tab */
|
| 399 |
'description' => _x( 'Captcha Label', 'description', 'strong-testimonials' ),
|
| 400 |
'text' => _x( 'Captcha', 'Default label for Captcha field on submission form.', 'strong-testimonials' ),
|
|
|
|
| 401 |
),
|
| 402 |
'form-submit-button' => array(
|
| 403 |
'order' => 3,
|
| 398 |
/* translators: Settings > Form > Messages tab */
|
| 399 |
'description' => _x( 'Captcha Label', 'description', 'strong-testimonials' ),
|
| 400 |
'text' => _x( 'Captcha', 'Default label for Captcha field on submission form.', 'strong-testimonials' ),
|
| 401 |
+
'required' => false,
|
| 402 |
),
|
| 403 |
'form-submit-button' => array(
|
| 404 |
'order' => 3,
|
admin/class-strong-testimonials-updater.php
CHANGED
|
@@ -550,10 +550,16 @@ class Strong_Testimonials_Updater {
|
|
| 550 |
* Merge in new options.
|
| 551 |
*/
|
| 552 |
$defaults = Strong_Testimonials_Defaults::get_form_options();
|
|
|
|
| 553 |
$form_options = array_merge( $defaults, $form_options );
|
|
|
|
| 554 |
// Merge nested arrays individually. Don't use array_merge_recursive.
|
|
|
|
| 555 |
$form_options['default_recipient'] = array_merge( $defaults['default_recipient'], $form_options['default_recipient'] );
|
| 556 |
-
|
|
|
|
|
|
|
|
|
|
| 557 |
|
| 558 |
/**
|
| 559 |
* Convert Captcha plugin name.
|
| 550 |
* Merge in new options.
|
| 551 |
*/
|
| 552 |
$defaults = Strong_Testimonials_Defaults::get_form_options();
|
| 553 |
+
|
| 554 |
$form_options = array_merge( $defaults, $form_options );
|
| 555 |
+
|
| 556 |
// Merge nested arrays individually. Don't use array_merge_recursive.
|
| 557 |
+
|
| 558 |
$form_options['default_recipient'] = array_merge( $defaults['default_recipient'], $form_options['default_recipient'] );
|
| 559 |
+
|
| 560 |
+
foreach ( $defaults['messages'] as $key => $message ) {
|
| 561 |
+
$form_options['messages'][ $key ] = array_merge( $message, $form_options['messages'][ $key ] );
|
| 562 |
+
}
|
| 563 |
|
| 564 |
/**
|
| 565 |
* Convert Captcha plugin name.
|
admin/settings/partials/form.php
CHANGED
|
@@ -55,6 +55,8 @@ foreach ( $plugins as $key => $plugin ) {
|
|
| 55 |
<?php
|
| 56 |
$messages = $form_options['messages'];
|
| 57 |
foreach ( $messages as $key => $message ):
|
|
|
|
|
|
|
| 58 |
$elid = str_replace( '-', '_', $key );
|
| 59 |
// $string, $context, $name
|
| 60 |
$content = apply_filters( 'wpmtst_l10n', $message['text'], 'strong-testimonials-form-messages', $message['description'] );
|
|
@@ -90,7 +92,8 @@ foreach ( $plugins as $key => $plugin ) {
|
|
| 90 |
<?php endif; ?>
|
| 91 |
<input type="text" id="<?php echo $elid; ?>"
|
| 92 |
name="wpmtst_form_options[messages][<?php echo $key; ?>][text]"
|
| 93 |
-
value="<?php esc_attr_e( $content ); ?>"
|
|
|
|
| 94 |
<?php endif; ?>
|
| 95 |
</td>
|
| 96 |
<td class="actions">
|
| 55 |
<?php
|
| 56 |
$messages = $form_options['messages'];
|
| 57 |
foreach ( $messages as $key => $message ):
|
| 58 |
+
$required = isset( $message['required'] ) ? $message['required'] : true;
|
| 59 |
+
|
| 60 |
$elid = str_replace( '-', '_', $key );
|
| 61 |
// $string, $context, $name
|
| 62 |
$content = apply_filters( 'wpmtst_l10n', $message['text'], 'strong-testimonials-form-messages', $message['description'] );
|
| 92 |
<?php endif; ?>
|
| 93 |
<input type="text" id="<?php echo $elid; ?>"
|
| 94 |
name="wpmtst_form_options[messages][<?php echo $key; ?>][text]"
|
| 95 |
+
value="<?php esc_attr_e( $content ); ?>"
|
| 96 |
+
<?php echo $required ? 'required' : '' ?>/>
|
| 97 |
<?php endif; ?>
|
| 98 |
</td>
|
| 99 |
<td class="actions">
|
includes/class-strong-testimonials-render.php
CHANGED
|
@@ -247,7 +247,6 @@ class Strong_Testimonials_Render {
|
|
| 247 |
}
|
| 248 |
}
|
| 249 |
}
|
| 250 |
-
wp_enqueue_style( 'wpmtst-custom-style' );
|
| 251 |
}
|
| 252 |
|
| 253 |
/**
|
|
@@ -633,6 +632,8 @@ class Strong_Testimonials_Render {
|
|
| 633 |
if ( isset( $atts['id'] ) && $atts['id'] ) {
|
| 634 |
$atts['view'] = $atts['id'];
|
| 635 |
unset( $atts['id'] );
|
|
|
|
|
|
|
| 636 |
}
|
| 637 |
|
| 638 |
// Fetch the view
|
| 247 |
}
|
| 248 |
}
|
| 249 |
}
|
|
|
|
| 250 |
}
|
| 251 |
|
| 252 |
/**
|
| 632 |
if ( isset( $atts['id'] ) && $atts['id'] ) {
|
| 633 |
$atts['view'] = $atts['id'];
|
| 634 |
unset( $atts['id'] );
|
| 635 |
+
} else {
|
| 636 |
+
return array_merge( array( 'view_not_found' => 1 ), $atts );
|
| 637 |
}
|
| 638 |
|
| 639 |
// Fetch the view
|
includes/class-strong-view-display.php
CHANGED
|
@@ -107,11 +107,7 @@ class Strong_View_Display extends Strong_View {
|
|
| 107 |
$this->load_dependent_scripts();
|
| 108 |
$this->load_extra_stylesheets();
|
| 109 |
|
| 110 |
-
|
| 111 |
-
* If we cannot preprocess, add the inline style to the footer.
|
| 112 |
-
* If we were able to preprocess, this will not duplicate the code
|
| 113 |
-
* since `wpmtst-custom-style` was already enqueued (I think).
|
| 114 |
-
*/
|
| 115 |
add_action( 'wp_footer', array( $this, 'add_custom_style' ) );
|
| 116 |
|
| 117 |
/**
|
| 107 |
$this->load_dependent_scripts();
|
| 108 |
$this->load_extra_stylesheets();
|
| 109 |
|
| 110 |
+
// If we cannot preprocess, add the inline style to the footer.
|
|
|
|
|
|
|
|
|
|
|
|
|
| 111 |
add_action( 'wp_footer', array( $this, 'add_custom_style' ) );
|
| 112 |
|
| 113 |
/**
|
includes/class-strong-view-form.php
CHANGED
|
@@ -79,11 +79,7 @@ class Strong_View_Form extends Strong_View {
|
|
| 79 |
$this->custom_background();
|
| 80 |
$this->load_validator();
|
| 81 |
|
| 82 |
-
|
| 83 |
-
* If we cannot preprocess, add the inline style to the footer.
|
| 84 |
-
* If we were able to preprocess, this will not duplicate the code
|
| 85 |
-
* since `wpmtst-custom-style` was already enqueued (I think).
|
| 86 |
-
*/
|
| 87 |
add_action( 'wp_footer', array( $this, 'add_custom_style' ) );
|
| 88 |
add_action( 'wp_footer', array( $this, 'load_honeypots' ) );
|
| 89 |
|
| 79 |
$this->custom_background();
|
| 80 |
$this->load_validator();
|
| 81 |
|
| 82 |
+
// If we cannot preprocess, add the inline style to the footer.
|
|
|
|
|
|
|
|
|
|
|
|
|
| 83 |
add_action( 'wp_footer', array( $this, 'add_custom_style' ) );
|
| 84 |
add_action( 'wp_footer', array( $this, 'load_honeypots' ) );
|
| 85 |
|
includes/class-strong-view-slideshow.php
CHANGED
|
@@ -60,11 +60,7 @@ class Strong_View_Slideshow extends Strong_View_Display {
|
|
| 60 |
$this->load_dependent_scripts();
|
| 61 |
$this->load_extra_stylesheets();
|
| 62 |
|
| 63 |
-
|
| 64 |
-
* If we cannot preprocess, add the inline style to the footer.
|
| 65 |
-
* If we were able to preprocess, this will not duplicate the code
|
| 66 |
-
* since `wpmtst-custom-style` was already enqueued (I think).
|
| 67 |
-
*/
|
| 68 |
add_action( 'wp_footer', array( $this, 'add_custom_style' ) );
|
| 69 |
|
| 70 |
/**
|
| 60 |
$this->load_dependent_scripts();
|
| 61 |
$this->load_extra_stylesheets();
|
| 62 |
|
| 63 |
+
// If we cannot preprocess, add the inline style to the footer.
|
|
|
|
|
|
|
|
|
|
|
|
|
| 64 |
add_action( 'wp_footer', array( $this, 'add_custom_style' ) );
|
| 65 |
|
| 66 |
/**
|
includes/class-strong-view.php
CHANGED
|
@@ -43,6 +43,14 @@ class Strong_View {
|
|
| 43 |
*/
|
| 44 |
public $plugin_version;
|
| 45 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| 46 |
/**
|
| 47 |
* Strong_View constructor.
|
| 48 |
*
|
|
@@ -193,6 +201,7 @@ class Strong_View {
|
|
| 193 |
$stylesheet = WPMST()->templates->get_template_attr( $this->atts, 'stylesheet', false );
|
| 194 |
if ( $stylesheet ) {
|
| 195 |
$handle = 'testimonials-' . str_replace( ':', '-', $this->atts['template'] );
|
|
|
|
| 196 |
wp_register_style( $handle, $stylesheet, array(), $this->plugin_version );
|
| 197 |
if ( $enqueue ) {
|
| 198 |
WPMST()->render->add_style( $handle );
|
|
@@ -256,7 +265,8 @@ class Strong_View {
|
|
| 256 |
$this->custom_font_color();
|
| 257 |
|
| 258 |
/**
|
| 259 |
-
* Hook to add more inline style
|
|
|
|
| 260 |
* @since 2.22.0
|
| 261 |
*/
|
| 262 |
do_action( 'wpmtst_view_custom_style', $this );
|
|
@@ -288,13 +298,14 @@ class Strong_View {
|
|
| 288 |
|
| 289 |
if ( $c1 ) {
|
| 290 |
$view_el = ".strong-view-id-{$this->atts['view']}";
|
|
|
|
| 291 |
|
| 292 |
if ( $this->is_form() ) {
|
| 293 |
-
wp_add_inline_style(
|
| 294 |
"$view_el .strong-form-inner { color: $c1; }" );
|
| 295 |
}
|
| 296 |
else {
|
| 297 |
-
wp_add_inline_style(
|
| 298 |
"$view_el .testimonial-heading, " .
|
| 299 |
"$view_el .testimonial-content p, " .
|
| 300 |
"$view_el .testimonial-content a.readmore, " .
|
|
@@ -313,7 +324,7 @@ class Strong_View {
|
|
| 313 |
return;
|
| 314 |
}
|
| 315 |
|
| 316 |
-
$handle =
|
| 317 |
$c1 = '';
|
| 318 |
$c2 = '';
|
| 319 |
|
|
@@ -416,6 +427,14 @@ class Strong_View {
|
|
| 416 |
}
|
| 417 |
}
|
| 418 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| 419 |
}
|
| 420 |
|
| 421 |
endif;
|
| 43 |
*/
|
| 44 |
public $plugin_version;
|
| 45 |
|
| 46 |
+
/**
|
| 47 |
+
* The stylesheet handle. For adding inline style.
|
| 48 |
+
*
|
| 49 |
+
* @since 2.31.8
|
| 50 |
+
* @var string
|
| 51 |
+
*/
|
| 52 |
+
public $stylesheet;
|
| 53 |
+
|
| 54 |
/**
|
| 55 |
* Strong_View constructor.
|
| 56 |
*
|
| 201 |
$stylesheet = WPMST()->templates->get_template_attr( $this->atts, 'stylesheet', false );
|
| 202 |
if ( $stylesheet ) {
|
| 203 |
$handle = 'testimonials-' . str_replace( ':', '-', $this->atts['template'] );
|
| 204 |
+
$this->set_stylesheet( $handle );
|
| 205 |
wp_register_style( $handle, $stylesheet, array(), $this->plugin_version );
|
| 206 |
if ( $enqueue ) {
|
| 207 |
WPMST()->render->add_style( $handle );
|
| 265 |
$this->custom_font_color();
|
| 266 |
|
| 267 |
/**
|
| 268 |
+
* Hook to add more inline style.
|
| 269 |
+
*
|
| 270 |
* @since 2.22.0
|
| 271 |
*/
|
| 272 |
do_action( 'wpmtst_view_custom_style', $this );
|
| 298 |
|
| 299 |
if ( $c1 ) {
|
| 300 |
$view_el = ".strong-view-id-{$this->atts['view']}";
|
| 301 |
+
$handle = $this->get_stylesheet();
|
| 302 |
|
| 303 |
if ( $this->is_form() ) {
|
| 304 |
+
wp_add_inline_style( $handle,
|
| 305 |
"$view_el .strong-form-inner { color: $c1; }" );
|
| 306 |
}
|
| 307 |
else {
|
| 308 |
+
wp_add_inline_style( $handle,
|
| 309 |
"$view_el .testimonial-heading, " .
|
| 310 |
"$view_el .testimonial-content p, " .
|
| 311 |
"$view_el .testimonial-content a.readmore, " .
|
| 324 |
return;
|
| 325 |
}
|
| 326 |
|
| 327 |
+
$handle = $this->get_stylesheet();
|
| 328 |
$c1 = '';
|
| 329 |
$c2 = '';
|
| 330 |
|
| 427 |
}
|
| 428 |
}
|
| 429 |
|
| 430 |
+
public function set_stylesheet( $handle = '' ) {
|
| 431 |
+
$this->stylesheet = $handle;
|
| 432 |
+
}
|
| 433 |
+
|
| 434 |
+
public function get_stylesheet() {
|
| 435 |
+
return $this->stylesheet;
|
| 436 |
+
}
|
| 437 |
+
|
| 438 |
}
|
| 439 |
|
| 440 |
endif;
|
includes/functions-template-form.php
CHANGED
|
@@ -69,22 +69,24 @@ function wpmtst_single_form_field( $field ) {
|
|
| 69 |
|
| 70 |
if ( 'checkbox' != $field['input_type'] ) {
|
| 71 |
if ( ! isset( $field['show_label'] ) || $field['show_label'] ) {
|
| 72 |
-
|
| 73 |
-
|
| 74 |
-
|
| 75 |
-
|
| 76 |
-
|
| 77 |
}
|
| 78 |
wpmtst_field_before( $field );
|
| 79 |
}
|
| 80 |
|
| 81 |
// Check for callback first.
|
| 82 |
if ( isset( $field['action_input'] ) && $field['action_input'] ) {
|
|
|
|
| 83 |
$value = ( isset( $form_values[ $field['name'] ] ) && $form_values[ $field['name'] ] ) ? $form_values[ $field['name'] ] : '';
|
| 84 |
do_action( $field['action_input'], $field, $value );
|
| 85 |
-
|
| 86 |
-
|
| 87 |
-
|
|
|
|
| 88 |
switch ( $field['input_type'] ) {
|
| 89 |
|
| 90 |
case 'category-selector' :
|
|
@@ -138,8 +140,7 @@ function wpmtst_single_form_field( $field ) {
|
|
| 138 |
|
| 139 |
case 'checkbox' :
|
| 140 |
if ( ! isset( $field['show_label'] ) || $field['show_label'] ) {
|
| 141 |
-
|
| 142 |
-
echo $label;
|
| 143 |
}
|
| 144 |
|
| 145 |
wpmtst_field_before( $field );
|
|
@@ -155,13 +156,11 @@ function wpmtst_single_form_field( $field ) {
|
|
| 155 |
checked( $field['default_form_value'], 1, false ) );
|
| 156 |
|
| 157 |
if ( isset( $field['text'] ) ) {
|
| 158 |
-
echo '<label for="wpmtst_' . $field['name'] . '" class="checkbox-label">';
|
| 159 |
-
echo wpmtst_form_field_meta_l10n( $field['text'], $field, 'text' );
|
| 160 |
-
echo '</label>';
|
| 161 |
-
}
|
| 162 |
|
| 163 |
-
|
| 164 |
-
|
|
|
|
| 165 |
}
|
| 166 |
|
| 167 |
echo '</div><!-- .field-wrap -->';
|
|
@@ -179,6 +178,7 @@ function wpmtst_single_form_field( $field ) {
|
|
| 179 |
wpmtst_field_required_tag( $field ) );
|
| 180 |
|
| 181 |
}
|
|
|
|
| 182 |
}
|
| 183 |
|
| 184 |
wpmtst_field_after( $field );
|
|
@@ -407,17 +407,22 @@ function wpmtst_form_captcha() {
|
|
| 407 |
* To display or not to display.
|
| 408 |
*/
|
| 409 |
if ( $invisible && 'captcha-pro' == $form_options['captcha']) {
|
|
|
|
| 410 |
echo '<div class="form-field wpmtst-captcha">';
|
| 411 |
echo $captcha_html;
|
| 412 |
echo '</div>';
|
| 413 |
-
|
| 414 |
-
elseif ( $invisible ) {
|
|
|
|
| 415 |
echo $captcha_html;
|
| 416 |
-
|
| 417 |
-
else {
|
|
|
|
| 418 |
?>
|
| 419 |
<div class="form-field wpmtst-captcha">
|
|
|
|
| 420 |
<label for="wpmtst_captcha"><?php wpmtst_form_message( 'captcha' ); ?></label><span class="required symbol"></span>
|
|
|
|
| 421 |
<div>
|
| 422 |
<?php echo $captcha_html; ?>
|
| 423 |
<?php if ( isset( $errors['captcha'] ) ) : ?>
|
|
@@ -426,6 +431,7 @@ function wpmtst_form_captcha() {
|
|
| 426 |
</div>
|
| 427 |
</div>
|
| 428 |
<?php
|
|
|
|
| 429 |
}
|
| 430 |
}
|
| 431 |
add_action( 'wpmtst_form_after_fields', 'wpmtst_form_captcha' );
|
| 69 |
|
| 70 |
if ( 'checkbox' != $field['input_type'] ) {
|
| 71 |
if ( ! isset( $field['show_label'] ) || $field['show_label'] ) {
|
| 72 |
+
echo '<label for="wpmtst_' . $field['name'] . '">' . wpmtst_form_field_meta_l10n( $field['label'], $field, 'label' ) . '</label>';
|
| 73 |
+
|
| 74 |
+
if ( isset( $field['required'] ) && $field['required'] ) {
|
| 75 |
+
wpmtst_field_required_symbol();
|
| 76 |
+
}
|
| 77 |
}
|
| 78 |
wpmtst_field_before( $field );
|
| 79 |
}
|
| 80 |
|
| 81 |
// Check for callback first.
|
| 82 |
if ( isset( $field['action_input'] ) && $field['action_input'] ) {
|
| 83 |
+
|
| 84 |
$value = ( isset( $form_values[ $field['name'] ] ) && $form_values[ $field['name'] ] ) ? $form_values[ $field['name'] ] : '';
|
| 85 |
do_action( $field['action_input'], $field, $value );
|
| 86 |
+
|
| 87 |
+
} else {
|
| 88 |
+
|
| 89 |
+
// Check field type.
|
| 90 |
switch ( $field['input_type'] ) {
|
| 91 |
|
| 92 |
case 'category-selector' :
|
| 140 |
|
| 141 |
case 'checkbox' :
|
| 142 |
if ( ! isset( $field['show_label'] ) || $field['show_label'] ) {
|
| 143 |
+
echo '<label for="wpmtst_' . $field['name'] . '">' . wpmtst_form_field_meta_l10n( $field['label'], $field, 'label' ) . '</label>';
|
|
|
|
| 144 |
}
|
| 145 |
|
| 146 |
wpmtst_field_before( $field );
|
| 156 |
checked( $field['default_form_value'], 1, false ) );
|
| 157 |
|
| 158 |
if ( isset( $field['text'] ) ) {
|
| 159 |
+
echo '<label for="wpmtst_' . $field['name'] . '" class="checkbox-label">' . wpmtst_form_field_meta_l10n( $field['text'], $field, 'text' ) . '</label>';
|
|
|
|
|
|
|
|
|
|
| 160 |
|
| 161 |
+
if ( isset( $field['required'] ) && $field['required'] ) {
|
| 162 |
+
wpmtst_field_required_symbol();
|
| 163 |
+
}
|
| 164 |
}
|
| 165 |
|
| 166 |
echo '</div><!-- .field-wrap -->';
|
| 178 |
wpmtst_field_required_tag( $field ) );
|
| 179 |
|
| 180 |
}
|
| 181 |
+
|
| 182 |
}
|
| 183 |
|
| 184 |
wpmtst_field_after( $field );
|
| 407 |
* To display or not to display.
|
| 408 |
*/
|
| 409 |
if ( $invisible && 'captcha-pro' == $form_options['captcha']) {
|
| 410 |
+
|
| 411 |
echo '<div class="form-field wpmtst-captcha">';
|
| 412 |
echo $captcha_html;
|
| 413 |
echo '</div>';
|
| 414 |
+
|
| 415 |
+
} elseif ( $invisible ) {
|
| 416 |
+
|
| 417 |
echo $captcha_html;
|
| 418 |
+
|
| 419 |
+
} else {
|
| 420 |
+
|
| 421 |
?>
|
| 422 |
<div class="form-field wpmtst-captcha">
|
| 423 |
+
<?php if ( wpmtst_get_form_message( 'captcha' ) ) : ?>
|
| 424 |
<label for="wpmtst_captcha"><?php wpmtst_form_message( 'captcha' ); ?></label><span class="required symbol"></span>
|
| 425 |
+
<?php endif; ?>
|
| 426 |
<div>
|
| 427 |
<?php echo $captcha_html; ?>
|
| 428 |
<?php if ( isset( $errors['captcha'] ) ) : ?>
|
| 431 |
</div>
|
| 432 |
</div>
|
| 433 |
<?php
|
| 434 |
+
|
| 435 |
}
|
| 436 |
}
|
| 437 |
add_action( 'wpmtst_form_after_fields', 'wpmtst_form_captcha' );
|
includes/scripts.php
CHANGED
|
@@ -69,11 +69,6 @@ function wpmtst_scripts() {
|
|
| 69 |
false,
|
| 70 |
true );
|
| 71 |
|
| 72 |
-
/**
|
| 73 |
-
* View custom style
|
| 74 |
-
*/
|
| 75 |
-
wp_register_style( 'wpmtst-custom-style', WPMTST_PUBLIC_URL . 'css/custom.css' );
|
| 76 |
-
|
| 77 |
/**
|
| 78 |
* imagesLoaded, if less than WordPress 4.6
|
| 79 |
*/
|
| 69 |
false,
|
| 70 |
true );
|
| 71 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| 72 |
/**
|
| 73 |
* imagesLoaded, if less than WordPress 4.6
|
| 74 |
*/
|
readme.txt
CHANGED
|
@@ -4,7 +4,7 @@ Tags: testimonials, testimonial slider, testimonial form, reviews, star ratings
|
|
| 4 |
Requires at least: 3.7
|
| 5 |
Requires PHP: 5.2.4
|
| 6 |
Tested up to: 4.9.6
|
| 7 |
-
Stable tag: 2.31.
|
| 8 |
License: GPLv2 or later
|
| 9 |
License URI: http://www.gnu.org/licenses/gpl-2.0.html
|
| 10 |
|
|
@@ -188,10 +188,6 @@ Yes. This requires a lightbox so if your theme does not include one, you will ne
|
|
| 188 |
|
| 189 |
No. If you already have testimonials in another plugin or theme, you will have to re-enter them. Why? Because every theme and plugin stores data differently.
|
| 190 |
|
| 191 |
-
= Can I import my existing testimonials? =
|
| 192 |
-
|
| 193 |
-
It depends. The plugin does not provide an import tool because every situation is different. With some technical skills, you may be able to successfully export your existing testimonials to a CSV file and import them into Strong Testimonials. Contact me if you want help with that. Otherwise, it may be simpler and easier to migrate them manually.
|
| 194 |
-
|
| 195 |
= Is it true that including a link to my site in my support requests really helps you troubleshoot problems? =
|
| 196 |
|
| 197 |
Undeniably, yes.
|
|
@@ -215,6 +211,12 @@ If you prefer, start a private support ticket at [support.strongplugins.com](htt
|
|
| 215 |
|
| 216 |
== Changelog ==
|
| 217 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| 218 |
= 2.31.7 - June 7, 2018 =
|
| 219 |
* Fix JavaScript incompatibility in IE and Edge.
|
| 220 |
|
|
@@ -322,3 +324,6 @@ Privacy exporter and eraser integration.
|
|
| 322 |
|
| 323 |
= 2.31.5 =
|
| 324 |
Fix XSS security vulnerabilities.
|
|
|
|
|
|
|
|
|
| 4 |
Requires at least: 3.7
|
| 5 |
Requires PHP: 5.2.4
|
| 6 |
Tested up to: 4.9.6
|
| 7 |
+
Stable tag: 2.31.8
|
| 8 |
License: GPLv2 or later
|
| 9 |
License URI: http://www.gnu.org/licenses/gpl-2.0.html
|
| 10 |
|
| 188 |
|
| 189 |
No. If you already have testimonials in another plugin or theme, you will have to re-enter them. Why? Because every theme and plugin stores data differently.
|
| 190 |
|
|
|
|
|
|
|
|
|
|
|
|
|
| 191 |
= Is it true that including a link to my site in my support requests really helps you troubleshoot problems? =
|
| 192 |
|
| 193 |
Undeniably, yes.
|
| 211 |
|
| 212 |
== Changelog ==
|
| 213 |
|
| 214 |
+
= 2.31.8 - June 16, 2018 =
|
| 215 |
+
* Fix "wait" spinner in unstyled form template.
|
| 216 |
+
* On forms, only show required symbol if field label is shown.
|
| 217 |
+
* Refactor inline style method.
|
| 218 |
+
* Improve exception handling.
|
| 219 |
+
|
| 220 |
= 2.31.7 - June 7, 2018 =
|
| 221 |
* Fix JavaScript incompatibility in IE and Edge.
|
| 222 |
|
| 324 |
|
| 325 |
= 2.31.5 =
|
| 326 |
Fix XSS security vulnerabilities.
|
| 327 |
+
|
| 328 |
+
= 2.31.8 =
|
| 329 |
+
Minor improvements to forms and inline style.
|
strong-testimonials.php
CHANGED
|
@@ -4,7 +4,7 @@
|
|
| 4 |
* Plugin URI: https://strongplugins.com/plugins/strong-testimonials/
|
| 5 |
* Description: Collect and display your testimonials or reviews.
|
| 6 |
* Author: Chris Dillon
|
| 7 |
-
* Version: 2.31.
|
| 8 |
*
|
| 9 |
* Author URI: https://strongplugins.com/
|
| 10 |
* Text Domain: strong-testimonials
|
|
@@ -34,7 +34,7 @@ if ( ! defined( 'ABSPATH' ) ) {
|
|
| 34 |
exit;
|
| 35 |
}
|
| 36 |
|
| 37 |
-
define( 'WPMTST_VERSION', '2.31.
|
| 38 |
define( 'WPMTST_PLUGIN', plugin_basename( __FILE__ ) ); // strong-testimonials/strong-testimonials.php
|
| 39 |
define( 'WPMTST', dirname( WPMTST_PLUGIN ) ); // strong-testimonials
|
| 40 |
define( 'STRONGPLUGINS_STORE_URL', 'https://strongplugins.com' );
|
| 4 |
* Plugin URI: https://strongplugins.com/plugins/strong-testimonials/
|
| 5 |
* Description: Collect and display your testimonials or reviews.
|
| 6 |
* Author: Chris Dillon
|
| 7 |
+
* Version: 2.31.8
|
| 8 |
*
|
| 9 |
* Author URI: https://strongplugins.com/
|
| 10 |
* Text Domain: strong-testimonials
|
| 34 |
exit;
|
| 35 |
}
|
| 36 |
|
| 37 |
+
define( 'WPMTST_VERSION', '2.31.8' );
|
| 38 |
define( 'WPMTST_PLUGIN', plugin_basename( __FILE__ ) ); // strong-testimonials/strong-testimonials.php
|
| 39 |
define( 'WPMTST', dirname( WPMTST_PLUGIN ) ); // strong-testimonials
|
| 40 |
define( 'STRONGPLUGINS_STORE_URL', 'https://strongplugins.com' );
|
templates-scss/_partials/_form-wait.scss
ADDED
|
@@ -0,0 +1,19 @@
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| 1 |
+
.strong-form-wait {
|
| 2 |
+
display: none;
|
| 3 |
+
position: absolute;
|
| 4 |
+
top: 0;
|
| 5 |
+
bottom: 0;
|
| 6 |
+
left: 0;
|
| 7 |
+
right: 0;
|
| 8 |
+
background: rgba(255,255,255,0.7);
|
| 9 |
+
|
| 10 |
+
.message {
|
| 11 |
+
position: absolute;
|
| 12 |
+
top: calc( 50% - 25px );
|
| 13 |
+
text-align: center;
|
| 14 |
+
width: 100%;
|
| 15 |
+
height: 50px;
|
| 16 |
+
line-height: 50px;
|
| 17 |
+
color: #111;
|
| 18 |
+
}
|
| 19 |
+
}
|
templates-scss/_partials/_structure-form.scss
CHANGED
|
@@ -120,23 +120,3 @@ img.captcha {
|
|
| 120 |
}
|
| 121 |
|
| 122 |
}
|
| 123 |
-
|
| 124 |
-
.strong-form-wait {
|
| 125 |
-
display: none;
|
| 126 |
-
position: absolute;
|
| 127 |
-
top: 0;
|
| 128 |
-
bottom: 0;
|
| 129 |
-
left: 0;
|
| 130 |
-
right: 0;
|
| 131 |
-
background: rgba(255,255,255,0.7);
|
| 132 |
-
|
| 133 |
-
.message {
|
| 134 |
-
position: absolute;
|
| 135 |
-
top: calc( 50% - 25px );
|
| 136 |
-
text-align: center;
|
| 137 |
-
width: 100%;
|
| 138 |
-
height: 50px;
|
| 139 |
-
line-height: 50px;
|
| 140 |
-
color: #111;
|
| 141 |
-
}
|
| 142 |
-
}
|
| 120 |
}
|
| 121 |
|
| 122 |
}
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
templates-scss/default-form/form.scss
CHANGED
|
@@ -2,6 +2,7 @@
|
|
| 2 |
* Strong Testimonials Default Form template
|
| 3 |
*/
|
| 4 |
@import "../_partials/structure-form";
|
|
|
|
| 5 |
|
| 6 |
.strong-form {
|
| 7 |
label {
|
| 2 |
* Strong Testimonials Default Form template
|
| 3 |
*/
|
| 4 |
@import "../_partials/structure-form";
|
| 5 |
+
@import "../_partials/form-wait";
|
| 6 |
|
| 7 |
.strong-form {
|
| 8 |
label {
|
templates-scss/simple-form/form.scss
CHANGED
|
@@ -2,6 +2,7 @@
|
|
| 2 |
* Strong Testimonials Simple Form template
|
| 3 |
*/
|
| 4 |
@import "../_partials/structure-form";
|
|
|
|
| 5 |
|
| 6 |
.strong-form {
|
| 7 |
/* error indicators */
|
| 2 |
* Strong Testimonials Simple Form template
|
| 3 |
*/
|
| 4 |
@import "../_partials/structure-form";
|
| 5 |
+
@import "../_partials/form-wait";
|
| 6 |
|
| 7 |
.strong-form {
|
| 8 |
/* error indicators */
|
templates-scss/unstyled-form/form.scss
ADDED
|
@@ -0,0 +1,4 @@
|
|
|
|
|
|
|
|
|
|
|
|
|
| 1 |
+
/**
|
| 2 |
+
* Strong Testimonials Unstyled Form template
|
| 3 |
+
*/
|
| 4 |
+
@import "../_partials/form-wait";
|
templates/unstyled-form/form.css
ADDED
|
@@ -0,0 +1,21 @@
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| 1 |
+
/**
|
| 2 |
+
* Strong Testimonials Unstyled Form template
|
| 3 |
+
*/
|
| 4 |
+
.strong-form-wait {
|
| 5 |
+
display: none;
|
| 6 |
+
position: absolute;
|
| 7 |
+
top: 0;
|
| 8 |
+
bottom: 0;
|
| 9 |
+
left: 0;
|
| 10 |
+
right: 0;
|
| 11 |
+
background: rgba(255, 255, 255, 0.7);
|
| 12 |
+
}
|
| 13 |
+
.strong-form-wait .message {
|
| 14 |
+
position: absolute;
|
| 15 |
+
top: calc( 50% - 25px );
|
| 16 |
+
text-align: center;
|
| 17 |
+
width: 100%;
|
| 18 |
+
height: 50px;
|
| 19 |
+
line-height: 50px;
|
| 20 |
+
color: #111;
|
| 21 |
+
}
|
