SiteOrigin Widgets Bundle - Version 1.15.9

Version Description

  • 11 November 2019 =
  • Contact Form: Improved default email address handling.
  • Contact Form: Improved subject field labeling.
  • Post Carousel: Loop the carousel when reaching the end.
  • Social Media Buttons: Fixed issue with responsive breakpoint unit of measurement.
  • Google Maps: Ensured settings modal window opens when directed to insert API key.
  • Google Maps: Fixed map center field when used in the Customizer.
  • Fixed compatibility with WordPress 5.3.
  • Minor code style and widget label improvements.
Download this release

Release Info

Developer gpriday
Plugin Icon 128x128 SiteOrigin Widgets Bundle
Version 1.15.9
Comparing to
See all releases

Code changes from version 1.15.8 to 1.15.9

admin/admin.js CHANGED
@@ -165,4 +165,10 @@ jQuery( function( $ ){
165
$( '#widgets-list .so-widget-settings' ).prop('disabled', false);
166
} );
167
168
} );
165
$( '#widgets-list .so-widget-settings' ).prop('disabled', false);
166
} );
167
168
+ // Automatically open settings modal based on hash
169
+ if( window.location.hash && window.location.hash.substring(0, 10) === '#settings-' ) {
170
+ var openSettingsId = window.location.hash.substring(10);
171
+ $('div[data-id="' + openSettingsId + '"] button.so-widget-settings').click();
172
+ }
173
+
174
} );
admin/admin.min.js CHANGED
@@ -1 +1 @@
1
- jQuery(function(a){a(".so-widget-toggle-active button").click(function(){var i=a(this),e=i.data("status"),s=i.closest(".so-widget");e?s.addClass("so-widget-is-active").removeClass("so-widget-is-inactive"):s.removeClass("so-widget-is-active").addClass("so-widget-is-inactive"),a.post(soWidgetsAdmin.toggleUrl,{widget:s.data("id"),active:e},function(i){})}),a(".so-widget-banner").each(function(){var i=a(this),e=i.find("img");if(e.length)128<e.width()&&e.css("margin-left",-(e.width()-128)/2);else{var s=Trianglify({width:128,height:128,variance:1,cell_size:32,seed:i.data("seed")});i.append(s.svg())}});function i(){var e=a(this).val().toLowerCase();""===e?a(".so-widget-wrap").show():a(".so-widget").each(function(){var i=a(this);-1<i.find("h3").html().toLowerCase().indexOf(e)?i.parent().show():i.parent().hide()})}a("#sow-widget-search input").on({keyup:i,search:i}),a(window).resize(function(){var i=a(".so-widget-text").css("height","auto"),e=0;i.each(function(){e=Math.max(e,a(this).height())}),i.each(function(){a(this).css("height",e)})}).resize(),a("#sow-widgets-page .page-nav a").click(function(i){i.preventDefault();var e=a(this),s=e.attr("href"),t=e.closest("li");switch(a("#sow-widgets-page .page-nav li").not(t).removeClass("active"),t.addClass("active"),s){case"#all":a(".so-widget-wrap").show();break;case"#enabled":a(".so-widget-wrap").hide(),a(".so-widget-wrap .so-widget-is-active").each(function(){a(this).closest(".so-widget-wrap").show()}),a(".so-widget-wrap .so-widget-is-inactive").each(function(){a(this).closest(".so-widget-wrap").hide()});break;case"#disabled":a(".so-widget-wrap .so-widget-is-active").each(function(){a(this).closest(".so-widget-wrap").hide()}),a(".so-widget-wrap .so-widget-is-inactive").each(function(){a(this).closest(".so-widget-wrap").show()})}a(window).resize()}),a("#widgets-list").addClass("so-animated");var s=a("#sow-settings-dialog");a("#widgets-list .so-widget-settings").click(function(i){var e=a(this);i.preventDefault(),s.find(".so-content").empty().addClass("so-loading").load(e.data("form-url"),function(){a(this).removeClass("so-loading")}),s.show()}),s.find(".so-close").click(function(i){i.preventDefault(),s.hide()}),s.find(".so-save").click(function(i){i.preventDefault();var e=a(this);e.prop("disabled",!0),a("#widgets-list .so-widget-settings").prop("disabled",!0),s.find("form").submit(function(){e.prop("disabled",!1),s.hide()}).submit()}),a("#so-widget-settings-save").load(function(){a("#widgets-list .so-widget-settings").prop("disabled",!1)})});
1
+ jQuery(function(a){a(".so-widget-toggle-active button").click(function(){var i=a(this),s=i.data("status"),t=i.closest(".so-widget");s?t.addClass("so-widget-is-active").removeClass("so-widget-is-inactive"):t.removeClass("so-widget-is-active").addClass("so-widget-is-inactive"),a.post(soWidgetsAdmin.toggleUrl,{widget:t.data("id"),active:s},function(i){})}),a(".so-widget-banner").each(function(){var i=a(this),s=i.find("img");if(s.length)128<s.width()&&s.css("margin-left",-(s.width()-128)/2);else{var t=Trianglify({width:128,height:128,variance:1,cell_size:32,seed:i.data("seed")});i.append(t.svg())}});function i(){var s=a(this).val().toLowerCase();""===s?a(".so-widget-wrap").show():a(".so-widget").each(function(){var i=a(this);-1<i.find("h3").html().toLowerCase().indexOf(s)?i.parent().show():i.parent().hide()})}a("#sow-widget-search input").on({keyup:i,search:i}),a(window).resize(function(){var i=a(".so-widget-text").css("height","auto"),s=0;i.each(function(){s=Math.max(s,a(this).height())}),i.each(function(){a(this).css("height",s)})}).resize(),a("#sow-widgets-page .page-nav a").click(function(i){i.preventDefault();var s=a(this),t=s.attr("href"),e=s.closest("li");switch(a("#sow-widgets-page .page-nav li").not(e).removeClass("active"),e.addClass("active"),t){case"#all":a(".so-widget-wrap").show();break;case"#enabled":a(".so-widget-wrap").hide(),a(".so-widget-wrap .so-widget-is-active").each(function(){a(this).closest(".so-widget-wrap").show()}),a(".so-widget-wrap .so-widget-is-inactive").each(function(){a(this).closest(".so-widget-wrap").hide()});break;case"#disabled":a(".so-widget-wrap .so-widget-is-active").each(function(){a(this).closest(".so-widget-wrap").hide()}),a(".so-widget-wrap .so-widget-is-inactive").each(function(){a(this).closest(".so-widget-wrap").show()})}a(window).resize()}),a("#widgets-list").addClass("so-animated");var t=a("#sow-settings-dialog");if(a("#widgets-list .so-widget-settings").click(function(i){var s=a(this);i.preventDefault(),t.find(".so-content").empty().addClass("so-loading").load(s.data("form-url"),function(){a(this).removeClass("so-loading")}),t.show()}),t.find(".so-close").click(function(i){i.preventDefault(),t.hide()}),t.find(".so-save").click(function(i){i.preventDefault();var s=a(this);s.prop("disabled",!0),a("#widgets-list .so-widget-settings").prop("disabled",!0),t.find("form").submit(function(){s.prop("disabled",!1),t.hide()}).submit()}),a("#so-widget-settings-save").load(function(){a("#widgets-list .so-widget-settings").prop("disabled",!1)}),window.location.hash&&"#settings-"===window.location.hash.substring(0,10)){var s=window.location.hash.substring(10);a('div[data-id="'+s+'"] button.so-widget-settings').click()}});
base/siteorigin-widget.class.php CHANGED
@@ -1370,21 +1370,23 @@ abstract class SiteOrigin_Widget extends WP_Widget {
1370
$show_preview = apply_filters( 'siteorigin_widgets_form_show_preview_button', $show_preview, $this );
1371
return $show_preview;
1372
}
1373
-
1374
/**
1375
* Get the global settings from the options table.
1376
*
1377
* @return mixed
1378
*/
1379
- function get_global_settings( ){
1380
$values = get_option( 'so_widget_settings[' . $this->widget_class . ']', array() );
1381
1382
// Add in the defaults
1383
if( $this->has_form( 'settings' ) ) {
1384
$values = $this->add_defaults( $this->get_settings_form(), $values );
1385
}
1386
-
1387
- return $values;
1388
}
1389
1390
/**
1370
$show_preview = apply_filters( 'siteorigin_widgets_form_show_preview_button', $show_preview, $this );
1371
return $show_preview;
1372
}
1373
+
1374
/**
1375
* Get the global settings from the options table.
1376
*
1377
+ * @param string|null $key
1378
+ *
1379
* @return mixed
1380
*/
1381
+ function get_global_settings( $key = null ){
1382
$values = get_option( 'so_widget_settings[' . $this->widget_class . ']', array() );
1383
1384
// Add in the defaults
1385
if( $this->has_form( 'settings' ) ) {
1386
$values = $this->add_defaults( $this->get_settings_form(), $values );
1387
}
1388
+
1389
+ return !empty( $key ) ? $values[$key] : $values;
1390
}
1391
1392
/**
compat/block-editor/widget-block.js CHANGED
@@ -82,7 +82,7 @@
82
}
83
84
function setupWidgetForm( formContainer ) {
85
- var $mainForm = $( formContainer ).find( '.siteorigin-widget-form-main' );
86
if ( $mainForm.length > 0 && ! props.formInitialized ) {
87
var $previewContainer = $mainForm.siblings('.siteorigin-widget-preview');
88
$previewContainer.find( '> a' ).on( 'click', function ( event ) {
@@ -112,7 +112,7 @@
112
113
function setupWidgetPreview() {
114
if ( ! props.previewInitialized ) {
115
- $( window.sowb ).trigger( 'setup_widgets', { preview: true } );
116
props.setState( { previewInitialized: true } );
117
}
118
}
@@ -136,7 +136,7 @@
136
137
var loadWidgetForm = props.attributes.widgetClass && ! props.widgetFormHtml;
138
if ( loadWidgetForm ) {
139
- $.post( {
140
url: sowbBlockEditorAdmin.restUrl + 'sowb/v1/widgets/forms',
141
beforeSend: function ( xhr ) {
142
xhr.setRequestHeader( 'X-WP-Nonce', sowbBlockEditorAdmin.nonce );
@@ -220,7 +220,7 @@
220
props.attributes.widgetClass &&
221
props.attributes.widgetData;
222
if ( loadWidgetPreview ) {
223
- $.post( {
224
url: sowbBlockEditorAdmin.restUrl + 'sowb/v1/widgets/previews',
225
beforeSend: function ( xhr ) {
226
xhr.setRequestHeader( 'X-WP-Nonce', sowbBlockEditorAdmin.nonce );
82
}
83
84
function setupWidgetForm( formContainer ) {
85
+ var $mainForm = jQuery( formContainer ).find( '.siteorigin-widget-form-main' );
86
if ( $mainForm.length > 0 && ! props.formInitialized ) {
87
var $previewContainer = $mainForm.siblings('.siteorigin-widget-preview');
88
$previewContainer.find( '> a' ).on( 'click', function ( event ) {
112
113
function setupWidgetPreview() {
114
if ( ! props.previewInitialized ) {
115
+ jQuery( window.sowb ).trigger( 'setup_widgets', { preview: true } );
116
props.setState( { previewInitialized: true } );
117
}
118
}
136
137
var loadWidgetForm = props.attributes.widgetClass && ! props.widgetFormHtml;
138
if ( loadWidgetForm ) {
139
+ jQuery.post( {
140
url: sowbBlockEditorAdmin.restUrl + 'sowb/v1/widgets/forms',
141
beforeSend: function ( xhr ) {
142
xhr.setRequestHeader( 'X-WP-Nonce', sowbBlockEditorAdmin.nonce );
220
props.attributes.widgetClass &&
221
props.attributes.widgetData;
222
if ( loadWidgetPreview ) {
223
+ jQuery.post( {
224
url: sowbBlockEditorAdmin.restUrl + 'sowb/v1/widgets/previews',
225
beforeSend: function ( xhr ) {
226
xhr.setRequestHeader( 'X-WP-Nonce', sowbBlockEditorAdmin.nonce );
compat/block-editor/widget-block.min.js CHANGED
@@ -1 +1 @@
1
- !function(e,t,i,n,o,s){var r=n.createElement,d=t.registerBlockType,a=e.BlockControls,l=o.SelectControl,w=s.withState,g=o.Toolbar,c=o.IconButton,u=o.Placeholder,m=o.Spinner,b=i.__;d("sowb/widget-block",{title:b("SiteOrigin Widget","so-widgets-bundle"),description:b("Select a SiteOrigin widget from the dropdown.","so-widgets-bundle"),icon:function(){return r("span",{className:"widget-icon so-widget-icon so-block-editor-icon"})},category:"widgets",keywords:[sowbBlockEditorAdmin.widgets.reduce(function(e,t){return 0<e.length&&(e+=","),e+t.name},"")],supports:{html:!1},attributes:{widgetClass:{type:"string"},widgetData:{type:"object"}},edit:w({editing:!1,formInitialized:!1,previewInitialized:!1,widgetFormHtml:"",widgetSettingsChanged:!1,widgetPreviewHtml:""})(function(i){function n(){i.setState({editing:!1,previewInitialized:!1})}if(!i.editing&&i.attributes.widgetClass&&i.attributes.widgetData){var e=!i.loadingWidgets&&!i.editing&&!i.widgetPreviewHtml&&i.attributes.widgetClass&&i.attributes.widgetData;e&&$.post({url:sowbBlockEditorAdmin.restUrl+"sowb/v1/widgets/previews",beforeSend:function(e){e.setRequestHeader("X-WP-Nonce",sowbBlockEditorAdmin.nonce)},data:{widgetClass:i.attributes.widgetClass,widgetData:i.attributes.widgetData||{}}}).done(function(e){i.setState({widgetPreviewHtml:e,previewInitialized:!1})}).fail(function(e){var t="";e.hasOwnProperty("responseJSON")?t=e.responseJSON.message:e.hasOwnProperty("responseText")&&(t=e.responseText),i.setState({widgetPreviewHtml:"<div>"+t+"</div>"})});var t=i.widgetPreviewHtml?i.widgetPreviewHtml:"";return[r(a,{key:"controls"},r(g,null,r(c,{className:"components-icon-button components-toolbar__control",label:b("Edit widget.","so-widgets-bundle"),onClick:function(){i.setState({editing:!0,formInitialized:!1})},icon:"edit"}))),r("div",{key:"preview",className:"so-widget-preview-container"},e?r("div",{className:"so-widgets-spinner-container"},r("span",null,r(m))):r("div",{dangerouslySetInnerHTML:{__html:t},ref:function(){i.previewInitialized||($(window.sowb).trigger("setup_widgets",{preview:!0}),i.setState({previewInitialized:!0}))}}))]}var o=[];sowbBlockEditorAdmin.widgets&&(sowbBlockEditorAdmin.widgets.sort(function(e,t){return e.name<t.name?-1:e.name>t.name?1:0}),(o=sowbBlockEditorAdmin.widgets.map(function(e){return{value:e.class,label:e.name}})).unshift({value:"",label:b("Select widget type","so-widgets-bundle")}));var s=i.attributes.widgetClass&&!i.widgetFormHtml;s&&$.post({url:sowbBlockEditorAdmin.restUrl+"sowb/v1/widgets/forms",beforeSend:function(e){e.setRequestHeader("X-WP-Nonce",sowbBlockEditorAdmin.nonce)},data:{widgetClass:i.attributes.widgetClass,widgetData:i.attributes.widgetData}}).done(function(e){i.setState({widgetFormHtml:e})}).fail(function(e){var t="";e.hasOwnProperty("responseJSON")?t=e.responseJSON.message:e.hasOwnProperty("responseText")&&(t=e.responseText),i.setState({widgetFormHtml:"<div>"+t+"</div>"})});var d=i.widgetFormHtml?i.widgetFormHtml:"";return[!!d&&r(a,{key:"controls"},r(g,null,r(c,{className:"components-icon-button components-toolbar__control",label:b("Preview widget.","so-widgets-bundle"),onClick:n,icon:"visibility"}))),r(u,{key:"placeholder",className:"so-widget-placeholder",label:b("SiteOrigin Widget","so-widgets-bundle"),instructions:b("Select the type of widget you want to use:","so-widgets-bundle")},i.loadingWidgets||s?r(m):r("div",{className:"so-widget-block-container"},r(l,{options:o,value:i.attributes.widgetClass,onChange:function(e){if(""!==e){if(i.widgetSettingsChanged&&!confirm(sowbBlockEditorAdmin.confirmChangeWidget))return!1;i.setAttributes({widgetClass:e,widgetData:null}),i.setState({editing:!0,widgetFormHtml:null,formInitialized:!1,widgetSettingsChanged:!1,widgetPreviewHtml:null,previewInitialized:!1})}}}),r("div",{className:"so-widget-block-form-container",dangerouslySetInnerHTML:{__html:d},ref:function(e){var t=$(e).find(".siteorigin-widget-form-main");0<t.length&&!i.formInitialized&&(t.siblings(".siteorigin-widget-preview").find("> a").on("click",function(e){e.stopImmediatePropagation(),n()}),t.data("backupDisabled",!0),t.sowSetupForm(),i.attributes.widgetData?sowbForms.setWidgetFormValues(t,i.attributes.widgetData):i.setAttributes({widgetData:sowbForms.getWidgetFormValues(t)}),t.on("change",function(){i.setAttributes({widgetData:sowbForms.getWidgetFormValues(t)}),i.setState({widgetSettingsChanged:!0,widgetPreviewHtml:null,previewInitialized:!1})}),i.setState({formInitialized:!0}))}})))]}),save:function(){return null}})}(window.wp.editor,window.wp.blocks,window.wp.i18n,window.wp.element,window.wp.components,window.wp.compose);
1
+ !function(e,t,i,n,o,s){var r=n.createElement,d=t.registerBlockType,a=e.BlockControls,l=o.SelectControl,w=s.withState,g=o.Toolbar,c=o.IconButton,u=o.Placeholder,m=o.Spinner,b=i.__;d("sowb/widget-block",{title:b("SiteOrigin Widget","so-widgets-bundle"),description:b("Select a SiteOrigin widget from the dropdown.","so-widgets-bundle"),icon:function(){return r("span",{className:"widget-icon so-widget-icon so-block-editor-icon"})},category:"widgets",keywords:[sowbBlockEditorAdmin.widgets.reduce(function(e,t){return 0<e.length&&(e+=","),e+t.name},"")],supports:{html:!1},attributes:{widgetClass:{type:"string"},widgetData:{type:"object"}},edit:w({editing:!1,formInitialized:!1,previewInitialized:!1,widgetFormHtml:"",widgetSettingsChanged:!1,widgetPreviewHtml:""})(function(i){function n(){i.setState({editing:!1,previewInitialized:!1})}if(!i.editing&&i.attributes.widgetClass&&i.attributes.widgetData){var e=!i.loadingWidgets&&!i.editing&&!i.widgetPreviewHtml&&i.attributes.widgetClass&&i.attributes.widgetData;e&&jQuery.post({url:sowbBlockEditorAdmin.restUrl+"sowb/v1/widgets/previews",beforeSend:function(e){e.setRequestHeader("X-WP-Nonce",sowbBlockEditorAdmin.nonce)},data:{widgetClass:i.attributes.widgetClass,widgetData:i.attributes.widgetData||{}}}).done(function(e){i.setState({widgetPreviewHtml:e,previewInitialized:!1})}).fail(function(e){var t="";e.hasOwnProperty("responseJSON")?t=e.responseJSON.message:e.hasOwnProperty("responseText")&&(t=e.responseText),i.setState({widgetPreviewHtml:"<div>"+t+"</div>"})});var t=i.widgetPreviewHtml?i.widgetPreviewHtml:"";return[r(a,{key:"controls"},r(g,null,r(c,{className:"components-icon-button components-toolbar__control",label:b("Edit widget.","so-widgets-bundle"),onClick:function(){i.setState({editing:!0,formInitialized:!1})},icon:"edit"}))),r("div",{key:"preview",className:"so-widget-preview-container"},e?r("div",{className:"so-widgets-spinner-container"},r("span",null,r(m))):r("div",{dangerouslySetInnerHTML:{__html:t},ref:function(){i.previewInitialized||(jQuery(window.sowb).trigger("setup_widgets",{preview:!0}),i.setState({previewInitialized:!0}))}}))]}var o=[];sowbBlockEditorAdmin.widgets&&(sowbBlockEditorAdmin.widgets.sort(function(e,t){return e.name<t.name?-1:e.name>t.name?1:0}),(o=sowbBlockEditorAdmin.widgets.map(function(e){return{value:e.class,label:e.name}})).unshift({value:"",label:b("Select widget type","so-widgets-bundle")}));var s=i.attributes.widgetClass&&!i.widgetFormHtml;s&&jQuery.post({url:sowbBlockEditorAdmin.restUrl+"sowb/v1/widgets/forms",beforeSend:function(e){e.setRequestHeader("X-WP-Nonce",sowbBlockEditorAdmin.nonce)},data:{widgetClass:i.attributes.widgetClass,widgetData:i.attributes.widgetData}}).done(function(e){i.setState({widgetFormHtml:e})}).fail(function(e){var t="";e.hasOwnProperty("responseJSON")?t=e.responseJSON.message:e.hasOwnProperty("responseText")&&(t=e.responseText),i.setState({widgetFormHtml:"<div>"+t+"</div>"})});var d=i.widgetFormHtml?i.widgetFormHtml:"";return[!!d&&r(a,{key:"controls"},r(g,null,r(c,{className:"components-icon-button components-toolbar__control",label:b("Preview widget.","so-widgets-bundle"),onClick:n,icon:"visibility"}))),r(u,{key:"placeholder",className:"so-widget-placeholder",label:b("SiteOrigin Widget","so-widgets-bundle"),instructions:b("Select the type of widget you want to use:","so-widgets-bundle")},i.loadingWidgets||s?r(m):r("div",{className:"so-widget-block-container"},r(l,{options:o,value:i.attributes.widgetClass,onChange:function(e){if(""!==e){if(i.widgetSettingsChanged&&!confirm(sowbBlockEditorAdmin.confirmChangeWidget))return!1;i.setAttributes({widgetClass:e,widgetData:null}),i.setState({editing:!0,widgetFormHtml:null,formInitialized:!1,widgetSettingsChanged:!1,widgetPreviewHtml:null,previewInitialized:!1})}}}),r("div",{className:"so-widget-block-form-container",dangerouslySetInnerHTML:{__html:d},ref:function(e){var t=jQuery(e).find(".siteorigin-widget-form-main");0<t.length&&!i.formInitialized&&(t.siblings(".siteorigin-widget-preview").find("> a").on("click",function(e){e.stopImmediatePropagation(),n()}),t.data("backupDisabled",!0),t.sowSetupForm(),i.attributes.widgetData?sowbForms.setWidgetFormValues(t,i.attributes.widgetData):i.setAttributes({widgetData:sowbForms.getWidgetFormValues(t)}),t.on("change",function(){i.setAttributes({widgetData:sowbForms.getWidgetFormValues(t)}),i.setState({widgetSettingsChanged:!0,widgetPreviewHtml:null,previewInitialized:!1})}),i.setState({formInitialized:!0}))}})))]}),save:function(){return null}})}(window.wp.editor,window.wp.blocks,window.wp.i18n,window.wp.element,window.wp.components,window.wp.compose);
lang/so-widgets-bundle.pot CHANGED
@@ -284,7 +284,7 @@ msgstr ""
284
msgid "An accordion widget."
285
msgstr ""
286
287
- #: widgets/accordion/accordion.php:47, widgets/accordion/accordion.php:60, widgets/contact/contact.php:48, widgets/cta/cta.php:64, widgets/editor/editor.php:33, widgets/features/features.php:133, widgets/post-carousel/post-carousel.php:98, widgets/price-table/price-table.php:42, widgets/price-table/price-table.php:61, widgets/simple-masonry/simple-masonry.php:44, widgets/simple-masonry/simple-masonry.php:75, widgets/social-media-buttons/social-media-buttons.php:54, widgets/tabs/tabs.php:47, widgets/tabs/tabs.php:60, widgets/taxonomy/taxonomy.php:34, widgets/testimonial/testimonial.php:41, widgets/video/video.php:33, base/inc/fields/posts.class.php:97
288
msgid "Title"
289
msgstr ""
290
@@ -384,11 +384,11 @@ msgstr ""
384
msgid "Open in a new window"
385
msgstr ""
386
387
- #: widgets/button/button.php:62, widgets/button/button.php:66, widgets/features/features.php:76, widgets/icon/icon.php:31, widgets/price-table/price-table.php:119
388
msgid "Icon"
389
msgstr ""
390
391
- #: widgets/button/button.php:71, widgets/features/features.php:86, widgets/price-table/price-table.php:123, widgets/social-media-buttons/social-media-buttons.php:82
392
msgid "Icon color"
393
msgstr ""
394
@@ -404,19 +404,19 @@ msgstr ""
404
msgid "Icon Placement"
405
msgstr ""
406
407
- #: widgets/button/button.php:85, widgets/features/features.php:64
408
msgid "Top"
409
msgstr ""
410
411
- #: widgets/button/button.php:86, widgets/button/button.php:112, widgets/contact/contact.php:401, widgets/contact/contact.php:416, widgets/contact/contact.php:640, widgets/cta/cta.php:103, widgets/features/features.php:65, widgets/headline/headline.php:92, widgets/headline/headline.php:163, widgets/headline/headline.php:218, widgets/icon/icon.php:50, widgets/image/image.php:49, widgets/image/image.php:61, widgets/social-media-buttons/social-media-buttons.php:153, widgets/social-media-buttons/social-media-buttons.php:164, widgets/testimonial/testimonial.php:255
412
msgid "Right"
413
msgstr ""
414
415
- #: widgets/button/button.php:87, widgets/features/features.php:66
416
msgid "Bottom"
417
msgstr ""
418
419
- #: widgets/button/button.php:88, widgets/button/button.php:111, widgets/contact/contact.php:400, widgets/contact/contact.php:415, widgets/contact/contact.php:639, widgets/cta/cta.php:102, widgets/features/features.php:67, widgets/headline/headline.php:91, widgets/headline/headline.php:162, widgets/headline/headline.php:217, widgets/icon/icon.php:49, widgets/image/image.php:48, widgets/image/image.php:60, widgets/social-media-buttons/social-media-buttons.php:152, widgets/social-media-buttons/social-media-buttons.php:163, widgets/testimonial/testimonial.php:254
420
msgid "Left"
421
msgstr ""
422
@@ -472,7 +472,7 @@ msgstr ""
472
msgid "Use hover effects"
473
msgstr ""
474
475
- #: widgets/button/button.php:148, widgets/contact/contact.php:380, widgets/contact/contact.php:430, widgets/features/features.php:138, widgets/features/features.php:159, widgets/features/features.php:180, widgets/headline/headline.php:78, widgets/headline/headline.php:149
476
msgid "Font"
477
msgstr ""
478
@@ -617,7 +617,7 @@ msgid "Default subject"
617
msgstr ""
618
619
#: widgets/contact/contact.php:77
620
- msgid "Subject to use when there isn't one available."
621
msgstr ""
622
623
#: widgets/contact/contact.php:81
@@ -700,11 +700,11 @@ msgstr ""
700
msgid "Phone Number"
701
msgstr ""
702
703
- #: widgets/contact/contact.php:152, widgets/contact/contact.php:747
704
msgid "Subject"
705
msgstr ""
706
707
- #: widgets/contact/contact.php:153, widgets/features/features.php:111, widgets/features/features.php:154, widgets/headline/headline.php:43, widgets/headline/headline.php:114, widgets/price-table/price-table.php:111, widgets/taxonomy/taxonomy.php:51, widgets/testimonial/testimonial.php:82
708
msgid "Text"
709
msgstr ""
710
@@ -740,7 +740,7 @@ msgstr ""
740
msgid "Required Field"
741
msgstr ""
742
743
- #: widgets/contact/contact.php:182, widgets/contact/contact.php:1046
744
msgid "Required field"
745
msgstr ""
746
@@ -816,7 +816,7 @@ msgstr ""
816
msgid "Audio"
817
msgstr ""
818
819
- #: widgets/contact/contact.php:286, widgets/contact/contact.php:504, widgets/features/features.php:143, widgets/features/features.php:164, widgets/features/features.php:185, widgets/icon/icon.php:41
820
msgid "Size"
821
msgstr ""
822
@@ -892,7 +892,7 @@ msgstr ""
892
msgid "Field labels"
893
msgstr ""
894
895
- #: widgets/contact/contact.php:390, widgets/contact/contact.php:509, widgets/contact/contact.php:678, widgets/features/features.php:147, widgets/features/features.php:168, widgets/features/features.php:189, widgets/google-map/google-map.php:368, widgets/headline/headline.php:70, widgets/headline/headline.php:141, widgets/headline/headline.php:201, widgets/icon/icon.php:36, widgets/taxonomy/taxonomy.php:56
896
msgid "Color"
897
msgstr ""
898
@@ -1028,63 +1028,63 @@ msgstr ""
1028
msgid "SiteOrigin Premium"
1029
msgstr ""
1030
1031
- #: widgets/contact/contact.php:731
1032
msgid "Your Name"
1033
msgstr ""
1034
1035
- #: widgets/contact/contact.php:734
1036
msgid "Please enter your name"
1037
msgstr ""
1038
1039
- #: widgets/contact/contact.php:739
1040
msgid "Your Email"
1041
msgstr ""
1042
1043
- #: widgets/contact/contact.php:742
1044
msgid "Please enter a valid email address"
1045
msgstr ""
1046
1047
- #: widgets/contact/contact.php:750
1048
msgid "Please enter a subject"
1049
msgstr ""
1050
1051
- #: widgets/contact/contact.php:755
1052
msgid "Message"
1053
msgstr ""
1054
1055
- #: widgets/contact/contact.php:758
1056
msgid "Please write something"
1057
msgstr ""
1058
1059
- #: widgets/contact/contact.php:1058
1060
msgid "Invalid email address."
1061
msgstr ""
1062
1063
- #: widgets/contact/contact.php:1137
1064
msgid "Error sending email, please try again later."
1065
msgstr ""
1066
1067
- #: widgets/contact/contact.php:1163
1068
msgid "A valid email is required"
1069
msgstr ""
1070
1071
- #: widgets/contact/contact.php:1165
1072
msgid "The email address is invalid"
1073
msgstr ""
1074
1075
- #: widgets/contact/contact.php:1169
1076
msgid "Missing subject"
1077
msgstr ""
1078
1079
- #: widgets/contact/contact.php:1203
1080
msgid "Error validating your Captcha response."
1081
msgstr ""
1082
1083
- #: widgets/contact/contact.php:1235
1084
msgid "Unfortunately our system identified your message as spam."
1085
msgstr ""
1086
1087
- #: widgets/contact/contact.php:1243
1088
msgctxt "The name of who sent this email"
1089
msgid "From"
1090
msgstr ""
@@ -1173,87 +1173,87 @@ msgstr ""
1173
msgid "Icon container color"
1174
msgstr ""
1175
1176
- #: widgets/features/features.php:62
1177
msgid "Icon container position"
1178
msgstr ""
1179
1180
- #: widgets/features/features.php:81, widgets/social-media-buttons/social-media-buttons.php:78
1181
msgid "Icon title"
1182
msgstr ""
1183
1184
- #: widgets/features/features.php:93
1185
msgid "Icon image"
1186
msgstr ""
1187
1188
- #: widgets/features/features.php:94
1189
msgid "Use your own icon image."
1190
msgstr ""
1191
1192
- #: widgets/features/features.php:99
1193
msgid "Icon image size"
1194
msgstr ""
1195
1196
- #: widgets/features/features.php:106, widgets/image/image.php:68
1197
msgid "Title text"
1198
msgstr ""
1199
1200
- #: widgets/features/features.php:116
1201
msgid "More link text"
1202
msgstr ""
1203
1204
- #: widgets/features/features.php:121
1205
msgid "More link URL"
1206
msgstr ""
1207
1208
- #: widgets/features/features.php:128
1209
msgid "Font Design"
1210
msgstr ""
1211
1212
- #: widgets/features/features.php:175
1213
msgid "More Link"
1214
msgstr ""
1215
1216
- #: widgets/features/features.php:198
1217
msgid "Icon container shape"
1218
msgstr ""
1219
1220
- #: widgets/features/features.php:205
1221
msgid "Icon container size"
1222
msgstr ""
1223
1224
- #: widgets/features/features.php:211, widgets/social-media-buttons/social-media-buttons.php:117
1225
msgid "Icon size"
1226
msgstr ""
1227
1228
- #: widgets/features/features.php:217
1229
msgid "Use icon size for custom icon"
1230
msgstr ""
1231
1232
- #: widgets/features/features.php:223
1233
msgid "Features per row"
1234
msgstr ""
1235
1236
- #: widgets/features/features.php:229
1237
msgid "Responsive layout"
1238
msgstr ""
1239
1240
- #: widgets/features/features.php:235
1241
msgid "Link feature title to more URL"
1242
msgstr ""
1243
1244
- #: widgets/features/features.php:241
1245
msgid "Link icon to more URL"
1246
msgstr ""
1247
1248
- #: widgets/features/features.php:247
1249
msgid "Open more URL in a new window"
1250
msgstr ""
1251
1252
- #: widgets/features/features.php:302, widgets/social-media-buttons/social-media-buttons.php:33, base/inc/widgets/base-slider.class.php:153
1253
msgid "Responsive Breakpoint"
1254
msgstr ""
1255
1256
- #: widgets/features/features.php:304
1257
msgid "This setting controls when the features widget will collapse for mobile devices. The default value is 520px"
1258
msgstr ""
1259
@@ -1761,7 +1761,7 @@ msgstr ""
1761
msgid "Dynamically adjust your heading font size based on screen size."
1762
msgstr ""
1763
1764
- #: widgets/headline/headline.php:261, widgets/hero/hero.php:235
1765
msgid "FitText Compressor Strength"
1766
msgstr ""
1767
@@ -1873,6 +1873,10 @@ msgstr ""
1873
msgid "Enter the h1 font size. h2 - h6 will be proportionally sized based on this value."
1874
msgstr ""
1875
1876
#: widgets/hero/hero.php:246, widgets/layout-slider/layout-slider.php:175
1877
msgid "Heading shadow intensity"
1878
msgstr ""
@@ -1894,7 +1898,7 @@ msgid "Link color"
1894
msgstr ""
1895
1896
#: widgets/hero/hero.php:283
1897
- msgid "Link Hover Color"
1898
msgstr ""
1899
1900
#: widgets/icon/icon.php:4
@@ -2273,7 +2277,7 @@ msgstr ""
2273
msgid "Mobile Align"
2274
msgstr ""
2275
2276
- #: widgets/social-media-buttons/social-media-buttons.php:314
2277
msgid "Add custom social networks with %sSiteOrigin Premium%s"
2278
msgstr ""
2279
@@ -2983,186 +2987,190 @@ msgid "Snapchat"
2983
msgstr ""
2984
2985
#: widgets/social-media-buttons/data/networks.php:47
2986
- msgid "LinkedIn"
2987
msgstr ""
2988
2989
#: widgets/social-media-buttons/data/networks.php:53
2990
- msgid "Pinterest"
2991
msgstr ""
2992
2993
#: widgets/social-media-buttons/data/networks.php:59
2994
- msgid "Tumblr"
2995
msgstr ""
2996
2997
#: widgets/social-media-buttons/data/networks.php:65
2998
- msgid "Instagram"
2999
msgstr ""
3000
3001
#: widgets/social-media-buttons/data/networks.php:71
3002
- msgid "VK"
3003
msgstr ""
3004
3005
#: widgets/social-media-buttons/data/networks.php:77
3006
- msgid "Flickr"
3007
msgstr ""
3008
3009
#: widgets/social-media-buttons/data/networks.php:83
3010
msgid "Vine"
3011
msgstr ""
3012
3013
- #: widgets/social-media-buttons/data/networks.php:92
3014
msgid "500px"
3015
msgstr ""
3016
3017
- #: widgets/social-media-buttons/data/networks.php:98
3018
msgid "AngelList"
3019
msgstr ""
3020
3021
- #: widgets/social-media-buttons/data/networks.php:104
3022
msgid "Bandcamp"
3023
msgstr ""
3024
3025
- #: widgets/social-media-buttons/data/networks.php:110
3026
msgid "Behance"
3027
msgstr ""
3028
3029
- #: widgets/social-media-buttons/data/networks.php:116
3030
msgid "Bitbucket"
3031
msgstr ""
3032
3033
- #: widgets/social-media-buttons/data/networks.php:122
3034
msgid "Blogger"
3035
msgstr ""
3036
3037
- #: widgets/social-media-buttons/data/networks.php:128
3038
msgid "Codepen"
3039
msgstr ""
3040
3041
- #: widgets/social-media-buttons/data/networks.php:134
3042
msgid "Delicious"
3043
msgstr ""
3044
3045
- #: widgets/social-media-buttons/data/networks.php:140
3046
msgid "deviantArt"
3047
msgstr ""
3048
3049
- #: widgets/social-media-buttons/data/networks.php:146
3050
msgid "Dribbble"
3051
msgstr ""
3052
3053
- #: widgets/social-media-buttons/data/networks.php:152
3054
msgid "Dropbox"
3055
msgstr ""
3056
3057
- #: widgets/social-media-buttons/data/networks.php:158
3058
msgid "Foursquare"
3059
msgstr ""
3060
3061
- #: widgets/social-media-buttons/data/networks.php:164
3062
msgid "Github"
3063
msgstr ""
3064
3065
- #: widgets/social-media-buttons/data/networks.php:170
3066
msgid "Gratipay"
3067
msgstr ""
3068
3069
- #: widgets/social-media-buttons/data/networks.php:176
3070
msgid "Goodreads"
3071
msgstr ""
3072
3073
- #: widgets/social-media-buttons/data/networks.php:182
3074
msgid "Hacker News"
3075
msgstr ""
3076
3077
- #: widgets/social-media-buttons/data/networks.php:188
3078
msgid "JSFiddle"
3079
msgstr ""
3080
3081
- #: widgets/social-media-buttons/data/networks.php:194
3082
msgid "Last.fm"
3083
msgstr ""
3084
3085
- #: widgets/social-media-buttons/data/networks.php:200
3086
msgid "Reddit"
3087
msgstr ""
3088
3089
- #: widgets/social-media-buttons/data/networks.php:206
3090
msgid "Slack"
3091
msgstr ""
3092
3093
- #: widgets/social-media-buttons/data/networks.php:212
3094
msgid "Slideshare"
3095
msgstr ""
3096
3097
- #: widgets/social-media-buttons/data/networks.php:218
3098
msgid "Soundcloud"
3099
msgstr ""
3100
3101
- #: widgets/social-media-buttons/data/networks.php:224
3102
msgid "Spotify"
3103
msgstr ""
3104
3105
- #: widgets/social-media-buttons/data/networks.php:230
3106
msgid "Stack Exchange"
3107
msgstr ""
3108
3109
- #: widgets/social-media-buttons/data/networks.php:236
3110
msgid "Stack Overflow"
3111
msgstr ""
3112
3113
- #: widgets/social-media-buttons/data/networks.php:242
3114
msgid "Steam"
3115
msgstr ""
3116
3117
- #: widgets/social-media-buttons/data/networks.php:248
3118
msgid "Strava"
3119
msgstr ""
3120
3121
- #: widgets/social-media-buttons/data/networks.php:254
3122
msgid "StumbleUpon"
3123
msgstr ""
3124
3125
- #: widgets/social-media-buttons/data/networks.php:260
3126
msgid "Telegram"
3127
msgstr ""
3128
3129
- #: widgets/social-media-buttons/data/networks.php:266
3130
msgid "Trello"
3131
msgstr ""
3132
3133
- #: widgets/social-media-buttons/data/networks.php:272
3134
msgid "TripAdvisor"
3135
msgstr ""
3136
3137
- #: widgets/social-media-buttons/data/networks.php:278
3138
msgid "Twitch"
3139
msgstr ""
3140
3141
- #: widgets/social-media-buttons/data/networks.php:284
3142
msgid "Vimeo"
3143
msgstr ""
3144
3145
- #: widgets/social-media-buttons/data/networks.php:290
3146
msgid "WhatsApp"
3147
msgstr ""
3148
3149
- #: widgets/social-media-buttons/data/networks.php:296
3150
msgid "WordPress"
3151
msgstr ""
3152
3153
- #: widgets/social-media-buttons/data/networks.php:302
3154
msgid "Xing"
3155
msgstr ""
3156
3157
- #: widgets/social-media-buttons/data/networks.php:308
3158
msgid "Yahoo"
3159
msgstr ""
3160
3161
- #: widgets/social-media-buttons/data/networks.php:314
3162
msgid "Yelp"
3163
msgstr ""
3164
3165
- #: widgets/social-media-buttons/data/networks.php:320
3166
msgid "YouTube"
3167
msgstr ""
3168
284
msgid "An accordion widget."
285
msgstr ""
286
287
+ #: widgets/accordion/accordion.php:47, widgets/accordion/accordion.php:60, widgets/contact/contact.php:48, widgets/cta/cta.php:64, widgets/editor/editor.php:33, widgets/features/features.php:135, widgets/post-carousel/post-carousel.php:98, widgets/price-table/price-table.php:42, widgets/price-table/price-table.php:61, widgets/simple-masonry/simple-masonry.php:44, widgets/simple-masonry/simple-masonry.php:75, widgets/social-media-buttons/social-media-buttons.php:54, widgets/tabs/tabs.php:47, widgets/tabs/tabs.php:60, widgets/taxonomy/taxonomy.php:34, widgets/testimonial/testimonial.php:41, widgets/video/video.php:33, base/inc/fields/posts.class.php:97
288
msgid "Title"
289
msgstr ""
290
384
msgid "Open in a new window"
385
msgstr ""
386
387
+ #: widgets/button/button.php:62, widgets/button/button.php:66, widgets/features/features.php:78, widgets/icon/icon.php:31, widgets/price-table/price-table.php:119
388
msgid "Icon"
389
msgstr ""
390
391
+ #: widgets/button/button.php:71, widgets/features/features.php:88, widgets/price-table/price-table.php:123, widgets/social-media-buttons/social-media-buttons.php:82
392
msgid "Icon color"
393
msgstr ""
394
404
msgid "Icon Placement"
405
msgstr ""
406
407
+ #: widgets/button/button.php:85, widgets/features/features.php:66
408
msgid "Top"
409
msgstr ""
410
411
+ #: widgets/button/button.php:86, widgets/button/button.php:112, widgets/contact/contact.php:401, widgets/contact/contact.php:416, widgets/contact/contact.php:640, widgets/cta/cta.php:103, widgets/features/features.php:67, widgets/headline/headline.php:92, widgets/headline/headline.php:163, widgets/headline/headline.php:218, widgets/icon/icon.php:50, widgets/image/image.php:49, widgets/image/image.php:61, widgets/social-media-buttons/social-media-buttons.php:153, widgets/social-media-buttons/social-media-buttons.php:164, widgets/testimonial/testimonial.php:255
412
msgid "Right"
413
msgstr ""
414
415
+ #: widgets/button/button.php:87, widgets/features/features.php:68
416
msgid "Bottom"
417
msgstr ""
418
419
+ #: widgets/button/button.php:88, widgets/button/button.php:111, widgets/contact/contact.php:400, widgets/contact/contact.php:415, widgets/contact/contact.php:639, widgets/cta/cta.php:102, widgets/features/features.php:69, widgets/headline/headline.php:91, widgets/headline/headline.php:162, widgets/headline/headline.php:217, widgets/icon/icon.php:49, widgets/image/image.php:48, widgets/image/image.php:60, widgets/social-media-buttons/social-media-buttons.php:152, widgets/social-media-buttons/social-media-buttons.php:163, widgets/testimonial/testimonial.php:254
420
msgid "Left"
421
msgstr ""
422
472
msgid "Use hover effects"
473
msgstr ""
474
475
+ #: widgets/button/button.php:148, widgets/contact/contact.php:380, widgets/contact/contact.php:430, widgets/features/features.php:140, widgets/features/features.php:161, widgets/features/features.php:182, widgets/headline/headline.php:78, widgets/headline/headline.php:149
476
msgid "Font"
477
msgstr ""
478
617
msgstr ""
618
619
#: widgets/contact/contact.php:77
620
+ msgid "Subject to use when there isn't one supplied by the user. If you make use of this option it won't be possible to set the Subject field as required because the default subject will be used as a fallback."
621
msgstr ""
622
623
#: widgets/contact/contact.php:81
700
msgid "Phone Number"
701
msgstr ""
702
703
+ #: widgets/contact/contact.php:152, widgets/contact/contact.php:748
704
msgid "Subject"
705
msgstr ""
706
707
+ #: widgets/contact/contact.php:153, widgets/features/features.php:113, widgets/features/features.php:156, widgets/headline/headline.php:43, widgets/headline/headline.php:114, widgets/price-table/price-table.php:111, widgets/taxonomy/taxonomy.php:51, widgets/testimonial/testimonial.php:82
708
msgid "Text"
709
msgstr ""
710
740
msgid "Required Field"
741
msgstr ""
742
743
+ #: widgets/contact/contact.php:182, widgets/contact/contact.php:1047
744
msgid "Required field"
745
msgstr ""
746
816
msgid "Audio"
817
msgstr ""
818
819
+ #: widgets/contact/contact.php:286, widgets/contact/contact.php:504, widgets/features/features.php:145, widgets/features/features.php:166, widgets/features/features.php:187, widgets/icon/icon.php:41
820
msgid "Size"
821
msgstr ""
822
892
msgid "Field labels"
893
msgstr ""
894
895
+ #: widgets/contact/contact.php:390, widgets/contact/contact.php:509, widgets/contact/contact.php:678, widgets/features/features.php:149, widgets/features/features.php:170, widgets/features/features.php:191, widgets/google-map/google-map.php:368, widgets/headline/headline.php:70, widgets/headline/headline.php:141, widgets/headline/headline.php:201, widgets/icon/icon.php:36, widgets/taxonomy/taxonomy.php:56
896
msgid "Color"
897
msgstr ""
898
1028
msgid "SiteOrigin Premium"
1029
msgstr ""
1030
1031
+ #: widgets/contact/contact.php:732
1032
msgid "Your Name"
1033
msgstr ""
1034
1035
+ #: widgets/contact/contact.php:735
1036
msgid "Please enter your name"
1037
msgstr ""
1038
1039
+ #: widgets/contact/contact.php:740
1040
msgid "Your Email"
1041
msgstr ""
1042
1043
+ #: widgets/contact/contact.php:743
1044
msgid "Please enter a valid email address"
1045
msgstr ""
1046
1047
+ #: widgets/contact/contact.php:751
1048
msgid "Please enter a subject"
1049
msgstr ""
1050
1051
+ #: widgets/contact/contact.php:756
1052
msgid "Message"
1053
msgstr ""
1054
1055
+ #: widgets/contact/contact.php:759
1056
msgid "Please write something"
1057
msgstr ""
1058
1059
+ #: widgets/contact/contact.php:1059
1060
msgid "Invalid email address."
1061
msgstr ""
1062
1063
+ #: widgets/contact/contact.php:1138
1064
msgid "Error sending email, please try again later."
1065
msgstr ""
1066
1067
+ #: widgets/contact/contact.php:1164
1068
msgid "A valid email is required"
1069
msgstr ""
1070
1071
+ #: widgets/contact/contact.php:1166
1072
msgid "The email address is invalid"
1073
msgstr ""
1074
1075
+ #: widgets/contact/contact.php:1170
1076
msgid "Missing subject"
1077
msgstr ""
1078
1079
+ #: widgets/contact/contact.php:1204
1080
msgid "Error validating your Captcha response."
1081
msgstr ""
1082
1083
+ #: widgets/contact/contact.php:1236
1084
msgid "Unfortunately our system identified your message as spam."
1085
msgstr ""
1086
1087
+ #: widgets/contact/contact.php:1244
1088
msgctxt "The name of who sent this email"
1089
msgid "From"
1090
msgstr ""
1173
msgid "Icon container color"
1174
msgstr ""
1175
1176
+ #: widgets/features/features.php:64
1177
msgid "Icon container position"
1178
msgstr ""
1179
1180
+ #: widgets/features/features.php:83, widgets/social-media-buttons/social-media-buttons.php:78
1181
msgid "Icon title"
1182
msgstr ""
1183
1184
+ #: widgets/features/features.php:95
1185
msgid "Icon image"
1186
msgstr ""
1187
1188
+ #: widgets/features/features.php:96
1189
msgid "Use your own icon image."
1190
msgstr ""
1191
1192
+ #: widgets/features/features.php:101
1193
msgid "Icon image size"
1194
msgstr ""
1195
1196
+ #: widgets/features/features.php:108, widgets/image/image.php:68
1197
msgid "Title text"
1198
msgstr ""
1199
1200
+ #: widgets/features/features.php:118
1201
msgid "More link text"
1202
msgstr ""
1203
1204
+ #: widgets/features/features.php:123
1205
msgid "More link URL"
1206
msgstr ""
1207
1208
+ #: widgets/features/features.php:130
1209
msgid "Font Design"
1210
msgstr ""
1211
1212
+ #: widgets/features/features.php:177
1213
msgid "More Link"
1214
msgstr ""
1215
1216
+ #: widgets/features/features.php:200
1217
msgid "Icon container shape"
1218
msgstr ""
1219
1220
+ #: widgets/features/features.php:207
1221
msgid "Icon container size"
1222
msgstr ""
1223
1224
+ #: widgets/features/features.php:213, widgets/social-media-buttons/social-media-buttons.php:117
1225
msgid "Icon size"
1226
msgstr ""
1227
1228
+ #: widgets/features/features.php:219
1229
msgid "Use icon size for custom icon"
1230
msgstr ""
1231
1232
+ #: widgets/features/features.php:225
1233
msgid "Features per row"
1234
msgstr ""
1235
1236
+ #: widgets/features/features.php:231
1237
msgid "Responsive layout"
1238
msgstr ""
1239
1240
+ #: widgets/features/features.php:237
1241
msgid "Link feature title to more URL"
1242
msgstr ""
1243
1244
+ #: widgets/features/features.php:243
1245
msgid "Link icon to more URL"
1246
msgstr ""
1247
1248
+ #: widgets/features/features.php:249
1249
msgid "Open more URL in a new window"
1250
msgstr ""
1251
1252
+ #: widgets/features/features.php:304, widgets/social-media-buttons/social-media-buttons.php:33, base/inc/widgets/base-slider.class.php:153
1253
msgid "Responsive Breakpoint"
1254
msgstr ""
1255
1256
+ #: widgets/features/features.php:306
1257
msgid "This setting controls when the features widget will collapse for mobile devices. The default value is 520px"
1258
msgstr ""
1259
1761
msgid "Dynamically adjust your heading font size based on screen size."
1762
msgstr ""
1763
1764
+ #: widgets/headline/headline.php:261
1765
msgid "FitText Compressor Strength"
1766
msgstr ""
1767
1873
msgid "Enter the h1 font size. h2 - h6 will be proportionally sized based on this value."
1874
msgstr ""
1875
1876
+ #: widgets/hero/hero.php:235
1877
+ msgid "FitText compressor strength"
1878
+ msgstr ""
1879
+
1880
#: widgets/hero/hero.php:246, widgets/layout-slider/layout-slider.php:175
1881
msgid "Heading shadow intensity"
1882
msgstr ""
1898
msgstr ""
1899
1900
#: widgets/hero/hero.php:283
1901
+ msgid "Link hover color"
1902
msgstr ""
1903
1904
#: widgets/icon/icon.php:4
2277
msgid "Mobile Align"
2278
msgstr ""
2279
2280
+ #: widgets/social-media-buttons/social-media-buttons.php:315
2281
msgid "Add custom social networks with %sSiteOrigin Premium%s"
2282
msgstr ""
2283
2987
msgstr ""
2988
2989
#: widgets/social-media-buttons/data/networks.php:47
2990
+ msgid "Skype"
2991
msgstr ""
2992
2993
#: widgets/social-media-buttons/data/networks.php:53
2994
+ msgid "LinkedIn"
2995
msgstr ""
2996
2997
#: widgets/social-media-buttons/data/networks.php:59
2998
+ msgid "Pinterest"
2999
msgstr ""
3000
3001
#: widgets/social-media-buttons/data/networks.php:65
3002
+ msgid "Tumblr"
3003
msgstr ""
3004
3005
#: widgets/social-media-buttons/data/networks.php:71
3006
+ msgid "Instagram"
3007
msgstr ""
3008
3009
#: widgets/social-media-buttons/data/networks.php:77
3010
+ msgid "VK"
3011
msgstr ""
3012
3013
#: widgets/social-media-buttons/data/networks.php:83
3014
+ msgid "Flickr"
3015
+ msgstr ""
3016
+
3017
+ #: widgets/social-media-buttons/data/networks.php:89
3018
msgid "Vine"
3019
msgstr ""
3020
3021
+ #: widgets/social-media-buttons/data/networks.php:98
3022
msgid "500px"
3023
msgstr ""
3024
3025
+ #: widgets/social-media-buttons/data/networks.php:104
3026
msgid "AngelList"
3027
msgstr ""
3028
3029
+ #: widgets/social-media-buttons/data/networks.php:110
3030
msgid "Bandcamp"
3031
msgstr ""
3032
3033
+ #: widgets/social-media-buttons/data/networks.php:116
3034
msgid "Behance"
3035
msgstr ""
3036
3037
+ #: widgets/social-media-buttons/data/networks.php:122
3038
msgid "Bitbucket"
3039
msgstr ""
3040
3041
+ #: widgets/social-media-buttons/data/networks.php:128
3042
msgid "Blogger"
3043
msgstr ""
3044
3045
+ #: widgets/social-media-buttons/data/networks.php:134
3046
msgid "Codepen"
3047
msgstr ""
3048
3049
+ #: widgets/social-media-buttons/data/networks.php:140
3050
msgid "Delicious"
3051
msgstr ""
3052
3053
+ #: widgets/social-media-buttons/data/networks.php:146
3054
msgid "deviantArt"
3055
msgstr ""
3056
3057
+ #: widgets/social-media-buttons/data/networks.php:152
3058
msgid "Dribbble"
3059
msgstr ""
3060
3061
+ #: widgets/social-media-buttons/data/networks.php:158
3062
msgid "Dropbox"
3063
msgstr ""
3064
3065
+ #: widgets/social-media-buttons/data/networks.php:164
3066
msgid "Foursquare"
3067
msgstr ""
3068
3069
+ #: widgets/social-media-buttons/data/networks.php:170
3070
msgid "Github"
3071
msgstr ""
3072
3073
+ #: widgets/social-media-buttons/data/networks.php:176
3074
msgid "Gratipay"
3075
msgstr ""
3076
3077
+ #: widgets/social-media-buttons/data/networks.php:182
3078
msgid "Goodreads"
3079
msgstr ""
3080
3081
+ #: widgets/social-media-buttons/data/networks.php:188
3082
msgid "Hacker News"
3083
msgstr ""
3084
3085
+ #: widgets/social-media-buttons/data/networks.php:194
3086
msgid "JSFiddle"
3087
msgstr ""
3088
3089
+ #: widgets/social-media-buttons/data/networks.php:200
3090
msgid "Last.fm"
3091
msgstr ""
3092
3093
+ #: widgets/social-media-buttons/data/networks.php:206
3094
msgid "Reddit"
3095
msgstr ""
3096
3097
+ #: widgets/social-media-buttons/data/networks.php:212
3098
msgid "Slack"
3099
msgstr ""
3100
3101
+ #: widgets/social-media-buttons/data/networks.php:218
3102
msgid "Slideshare"
3103
msgstr ""
3104
3105
+ #: widgets/social-media-buttons/data/networks.php:224
3106
msgid "Soundcloud"
3107
msgstr ""
3108
3109
+ #: widgets/social-media-buttons/data/networks.php:230
3110
msgid "Spotify"
3111
msgstr ""
3112
3113
+ #: widgets/social-media-buttons/data/networks.php:236
3114
msgid "Stack Exchange"
3115
msgstr ""
3116
3117
+ #: widgets/social-media-buttons/data/networks.php:242
3118
msgid "Stack Overflow"
3119
msgstr ""
3120
3121
+ #: widgets/social-media-buttons/data/networks.php:248
3122
msgid "Steam"
3123
msgstr ""
3124
3125
+ #: widgets/social-media-buttons/data/networks.php:254
3126
msgid "Strava"
3127
msgstr ""
3128
3129
+ #: widgets/social-media-buttons/data/networks.php:260
3130
msgid "StumbleUpon"
3131
msgstr ""
3132
3133
+ #: widgets/social-media-buttons/data/networks.php:266
3134
msgid "Telegram"
3135
msgstr ""
3136
3137
+ #: widgets/social-media-buttons/data/networks.php:272
3138
msgid "Trello"
3139
msgstr ""
3140
3141
+ #: widgets/social-media-buttons/data/networks.php:278
3142
msgid "TripAdvisor"
3143
msgstr ""
3144
3145
+ #: widgets/social-media-buttons/data/networks.php:284
3146
msgid "Twitch"
3147
msgstr ""
3148
3149
+ #: widgets/social-media-buttons/data/networks.php:290
3150
msgid "Vimeo"
3151
msgstr ""
3152
3153
+ #: widgets/social-media-buttons/data/networks.php:296
3154
msgid "WhatsApp"
3155
msgstr ""
3156
3157
+ #: widgets/social-media-buttons/data/networks.php:302
3158
msgid "WordPress"
3159
msgstr ""
3160
3161
+ #: widgets/social-media-buttons/data/networks.php:308
3162
msgid "Xing"
3163
msgstr ""
3164
3165
+ #: widgets/social-media-buttons/data/networks.php:314
3166
msgid "Yahoo"
3167
msgstr ""
3168
3169
+ #: widgets/social-media-buttons/data/networks.php:320
3170
msgid "Yelp"
3171
msgstr ""
3172
3173
+ #: widgets/social-media-buttons/data/networks.php:326
3174
msgid "YouTube"
3175
msgstr ""
3176
readme.txt CHANGED
@@ -1,9 +1,9 @@
1
=== SiteOrigin Widgets Bundle ===
2
Tags: bundle, widget, button, slider, image, carousel, price table, google maps, tinymce, social links
3
Requires at least: 4.2
4
- Tested up to: 5.2.2
5
- Stable tag: 1.15.8
6
- Build time: 2019-08-19T15:01:23+02:00
7
License: GPLv3 or later
8
Contributors: gpriday, braam-genis
9
Donate link: https://siteorigin.com/downloads/premium/
@@ -30,7 +30,7 @@ The collection is growing, but here’s what we have so far.
30
* Features Widget that lets you display a set of site or service features.
31
* Video Widget to get your videos out there.
32
* Headline Widget to get you noticed.
33
- * Social Links Widget to show you're active.
34
* Accordion Widget to compress your content.
35
* Contact Form Widget to let people know you care.
36
* Editor Widget let's you richly edit text anywhere.
@@ -40,7 +40,7 @@ The collection is growing, but here’s what we have so far.
40
* Layout Slider Widget lets you build layouts on slides using SiteOrigin Page Builder.
41
* Masonry Widget to add images in a masonry layout.
42
* Tabs Widget that'll let you group content into tabbed sections.
43
- * Taxonomy Widget to display a post's taxonomies.
44
* Testimonials Widget to show people what your users/customers think of you.
45
46
Once you enable a widget, you'll be able to use it anywhere standard widgets are used. You can manage your widgets by going to Plugins > SiteOrigin Widgets in your WordPress admin.
@@ -65,6 +65,16 @@ The SiteOrigin Widgets Bundle is the perfect platform to build widgets for your
65
66
== Changelog ==
67
68
= 1.15.8 - 20 August 2019 =
69
* Run FitText setup on window resize events.
70
* TinyMCE field: Copy any missing content CSS urls from main editor.
1
=== SiteOrigin Widgets Bundle ===
2
Tags: bundle, widget, button, slider, image, carousel, price table, google maps, tinymce, social links
3
Requires at least: 4.2
4
+ Tested up to: 5.3
5
+ Stable tag: 1.15.9
6
+ Build time: 2019-11-11T11:07:46+02:00
7
License: GPLv3 or later
8
Contributors: gpriday, braam-genis
9
Donate link: https://siteorigin.com/downloads/premium/
30
* Features Widget that lets you display a set of site or service features.
31
* Video Widget to get your videos out there.
32
* Headline Widget to get you noticed.
33
+ * Social Media Buttons which link to all your social media profiles.
34
* Accordion Widget to compress your content.
35
* Contact Form Widget to let people know you care.
36
* Editor Widget let's you richly edit text anywhere.
40
* Layout Slider Widget lets you build layouts on slides using SiteOrigin Page Builder.
41
* Masonry Widget to add images in a masonry layout.
42
* Tabs Widget that'll let you group content into tabbed sections.
43
+ * Taxonomy Widget to display the selected taxonomy for the current post.
44
* Testimonials Widget to show people what your users/customers think of you.
45
46
Once you enable a widget, you'll be able to use it anywhere standard widgets are used. You can manage your widgets by going to Plugins > SiteOrigin Widgets in your WordPress admin.
65
66
== Changelog ==
67
68
+ = 1.15.9 - 11 November 2019 =
69
+ * Contact Form: Improved default email address handling.
70
+ * Contact Form: Improved subject field labeling.
71
+ * Post Carousel: Loop the carousel when reaching the end.
72
+ * Social Media Buttons: Fixed issue with responsive breakpoint unit of measurement.
73
+ * Google Maps: Ensured settings modal window opens when directed to insert API key.
74
+ * Google Maps: Fixed map center field when used in the Customizer.
75
+ * Fixed compatibility with WordPress 5.3.
76
+ * Minor code style and widget label improvements.
77
+
78
= 1.15.8 - 20 August 2019 =
79
* Run FitText setup on window resize events.
80
* TinyMCE field: Copy any missing content CSS urls from main editor.
so-widgets-bundle.php CHANGED
@@ -2,7 +2,7 @@
2
/*
3
Plugin Name: SiteOrigin Widgets Bundle
4
Description: A collection of all widgets, neatly bundled into a single plugin. It's also a framework to code your own widgets on top of.
5
- Version: 1.15.8
6
Text Domain: so-widgets-bundle
7
Domain Path: /lang
8
Author: SiteOrigin
@@ -12,7 +12,7 @@ License: GPL3
12
License URI: https://www.gnu.org/licenses/gpl-3.0.txt
13
*/
14
15
- define('SOW_BUNDLE_VERSION', '1.15.8');
16
define('SOW_BUNDLE_BASE_FILE', __FILE__);
17
18
// Allow JS suffix to be pre-set
2
/*
3
Plugin Name: SiteOrigin Widgets Bundle
4
Description: A collection of all widgets, neatly bundled into a single plugin. It's also a framework to code your own widgets on top of.
5
+ Version: 1.15.9
6
Text Domain: so-widgets-bundle
7
Domain Path: /lang
8
Author: SiteOrigin
12
License URI: https://www.gnu.org/licenses/gpl-3.0.txt
13
*/
14
15
+ define('SOW_BUNDLE_VERSION', '1.15.9');
16
define('SOW_BUNDLE_BASE_FILE', __FILE__);
17
18
// Allow JS suffix to be pre-set
widgets/contact/contact.php CHANGED
@@ -74,7 +74,7 @@ class SiteOrigin_Widgets_ContactForm_Widget extends SiteOrigin_Widget {
74
'default_subject' => array(
75
'type' => 'text',
76
'label' => __( 'Default subject', 'so-widgets-bundle' ),
77
- 'description' => __( "Subject to use when there isn't one available.", 'so-widgets-bundle' ),
78
),
79
'subject_prefix' => array(
80
'type' => 'text',
@@ -717,13 +717,14 @@ class SiteOrigin_Widgets_ContactForm_Widget extends SiteOrigin_Widget {
717
718
function modify_instance( $instance ) {
719
// Use this to set up an initial version of the
720
- if ( empty( $instance['settings']['to'] ) ) {
721
$current_user = wp_get_current_user();
722
$instance['settings']['to'] = $current_user->user_email;
723
}
724
if ( empty( $instance['settings']['from'] ) ) {
725
- $instance['settings']['from'] = get_option( 'admin_email' );
726
}
727
if ( empty( $instance['fields'] ) ) {
728
$instance['fields'] = array(
729
array(
@@ -1253,14 +1254,18 @@ class SiteOrigin_Widgets_ContactForm_Widget extends SiteOrigin_Widget {
1253
}
1254
$body = wpautop( trim( $body ) );
1255
1256
- if ( $instance['settings']['to'] == 'ibrossiter@gmail.com' || $instance['settings']['to'] == 'test@example.com' || $instance['settings']['to'] == 'support@siteorigin.com' || empty( $instance['settings']['to'] ) ) {
1257
// Replace default and empty email address.
1258
// Also replaces the email address that comes from the prebuilt layout directory and SiteOrigin Support Email
1259
$instance['settings']['to'] = get_option( 'admin_email' );
1260
}
1261
1262
- if ( $instance['settings']['from'] == 'test@example.com' || empty( $instance['settings']['from'] ) ) {
1263
- $instance['settings']['from'] = get_option( 'admin_email' );
1264
}
1265
1266
$headers = array(
@@ -1313,6 +1318,22 @@ class SiteOrigin_Widgets_ContactForm_Widget extends SiteOrigin_Widget {
1313
static function sanitize_header( $value ) {
1314
return preg_replace( '=((<CR>|<LF>|0x0A/%0A|0x0D/%0D|\\n|\\r)\S).*=i', null, $value );
1315
}
1316
1317
}
1318
74
'default_subject' => array(
75
'type' => 'text',
76
'label' => __( 'Default subject', 'so-widgets-bundle' ),
77
+ 'description' => __( "Subject to use when there isn't one supplied by the user. If you make use of this option it won't be possible to set the Subject field as required because the default subject will be used as a fallback.", 'so-widgets-bundle' ),
78
),
79
'subject_prefix' => array(
80
'type' => 'text',
717
718
function modify_instance( $instance ) {
719
// Use this to set up an initial version of the
720
+ if ( empty( $instance['settings']['to'] ) || $this->is_dev_email( $instance['settings']['to'] ) ) {
721
$current_user = wp_get_current_user();
722
$instance['settings']['to'] = $current_user->user_email;
723
}
724
if ( empty( $instance['settings']['from'] ) ) {
725
+ $instance['settings']['from'] = $this->default_from_address();
726
}
727
+
728
if ( empty( $instance['fields'] ) ) {
729
$instance['fields'] = array(
730
array(
1254
}
1255
$body = wpautop( trim( $body ) );
1256
1257
+ if ( $this->is_dev_email($instance['settings']['to']) || empty( $instance['settings']['to'] ) ) {
1258
// Replace default and empty email address.
1259
// Also replaces the email address that comes from the prebuilt layout directory and SiteOrigin Support Email
1260
$instance['settings']['to'] = get_option( 'admin_email' );
1261
}
1262
1263
+ if (
1264
+ $this->is_dev_email($instance['settings']['from']) ||
1265
+ empty( $instance['settings']['from'] ) ||
1266
+ $instance['settings']['from'] == $instance['settings']['to']
1267
+ ) {
1268
+ $instance['settings']['from'] = $this->default_from_address();
1269
}
1270
1271
$headers = array(
1318
static function sanitize_header( $value ) {
1319
return preg_replace( '=((<CR>|<LF>|0x0A/%0A|0x0D/%0D|\\n|\\r)\S).*=i', null, $value );
1320
}
1321
+
1322
+ private function is_dev_email($email) {
1323
+ return $email == 'ibrossiter@gmail.com' ||
1324
+ $email == 'test@example.com' ||
1325
+ $email == 'support@siteorigin.com';
1326
+ }
1327
+
1328
+ private function default_from_address(){
1329
+ // Get the site domain and get rid of www.
1330
+ $sitename = strtolower( $_SERVER['SERVER_NAME'] );
1331
+ if ( substr( $sitename, 0, 4 ) == 'www.' ) {
1332
+ $sitename = substr( $sitename, 4 );
1333
+ }
1334
+
1335
+ return apply_filters( 'siteorigin_widgets_contact_default_email', 'wordpress@' . $sitename );
1336
+ }
1337
1338
}
1339
widgets/features/features.php CHANGED
@@ -57,14 +57,16 @@ class SiteOrigin_Widget_Features_Widget extends SiteOrigin_Widget {
57
'default' => '#404040',
58
),
59
60
'container_position' => array(
61
'type' => 'select',
62
'label' => __( 'Icon container position', 'so-widgets-bundle' ),
63
'options' => array(
64
'top' => __( 'Top', 'so-widgets-bundle' ),
65
- 'right' => __( 'Right', 'so-widgets-bundle' ),
66
'bottom' => __( 'Bottom', 'so-widgets-bundle' ),
67
- 'left' => __( 'Left', 'so-widgets-bundle' ),
68
),
69
'default' => 'top',
70
),
57
'default' => '#404040',
58
),
59
60
+ // Left and right array keys are swapped due to a mistake that couldn't be corrected without disturbing existing users.
61
+
62
'container_position' => array(
63
'type' => 'select',
64
'label' => __( 'Icon container position', 'so-widgets-bundle' ),
65
'options' => array(
66
'top' => __( 'Top', 'so-widgets-bundle' ),
67
+ 'left' => __( 'Right', 'so-widgets-bundle' ),
68
'bottom' => __( 'Bottom', 'so-widgets-bundle' ),
69
+ 'right' => __( 'Left', 'so-widgets-bundle' ),
70
),
71
'default' => 'top',
72
),
widgets/google-map/fields/css/location-field.css CHANGED
@@ -1 +1 @@
1
- .pac-container{z-index:100010}
1
+ .pac-container{z-index:1000010}
widgets/google-map/fields/js/location-field.js CHANGED
@@ -185,9 +185,6 @@ window.addEventListener('DOMContentLoaded', function () {
185
sowbForms._geocodeQueue = sowbForms._geocodeQueue || [];
186
187
var $locationField = $( this );
188
- if ( $locationField.is( ':not(:visible)' ) ) {
189
- return;
190
- }
191
192
if ( sowbForms.mapsInitializing ) {
193
return;
185
sowbForms._geocodeQueue = sowbForms._geocodeQueue || [];
186
187
var $locationField = $( this );
188
189
if ( sowbForms.mapsInitializing ) {
190
return;
widgets/google-map/fields/js/location-field.min.js CHANGED
@@ -1 +1 @@
1
- function sowbAdminGoogleMapInit(){sowbForms.mapsInitializing=!1,sowbForms.mapsInitialized=!0,sowbForms.setupLocationFields()}window.sowbForms=window.sowbForms||{},sowbForms.LocationField=function(){return{init:function(e){if(void 0!==google.maps.places){function o(){var e=JSON.parse(n.value),o="";e.hasOwnProperty("address")&&(o=e.address),e.hasOwnProperty("name")&&0!==o.indexOf(e.name)&&(o=e.name+", "+o),i.removeEventListener("change",r),i.value=o,i.dispatchEvent(new Event("change",{bubbles:!0,cancelable:!0})),i.addEventListener("change",r)}var i=e.querySelector(".siteorigin-widget-location-input"),n=e.querySelector(".siteorigin-widget-input"),t=new google.maps.places.Autocomplete(i),s=function(o){return new Promise(function(i,t){var n={name:o.name};if(n.address=o.hasOwnProperty("formatted_address")?o.formatted_address:"",o.hasOwnProperty("geometry"))n.location=o.geometry.location.toString(),i(n);else{var e={address:o.hasOwnProperty("formatted_address")?o.formatted_address:o.name};(new google.maps.Geocoder).geocode(e,function(e,o){o===google.maps.GeocoderStatus.OK?(n.location=e[0].geometry.location.toString(),i(n)):t(o)})}})};n.addEventListener("change",o);function a(e){n.value=JSON.stringify(e),n.removeEventListener("change",o),n.dispatchEvent(new Event("change",{bubbles:!0,cancelable:!0})),n.addEventListener("change",o)}t.addListener("place_changed",function(){var o=t.getPlace();s(o).then(function(e){a(e)}).catch(function(e){console.warn('SiteOrigin Google Maps Widget: Geocoding failed for "'+o.name+'" with status: '+e)})});var r=function(){a({name:i.value})};if(i.addEventListener("change",r),n.value){var l={};try{var d=JSON.parse(n.value);d.hasOwnProperty("location")||d.hasOwnProperty("address")&&(l.name=d.address)}catch(e){l.name=n.value}if(l.hasOwnProperty("name")&&"null"!==l.name){sowbForms.mapsMigrationLogged||(console.info("SiteOrigin Google Maps Widget: Starting automatic migration of location. Please wait a moment..."),sowbForms.mapsMigrationLogged=!0);var c=100;sowbForms._geocodeQueue.push({place:l,field:n}),1===sowbForms._geocodeQueue.length&&setTimeout(function(){!function i(e,t){s(e).then(function(e){if(t.value=JSON.stringify(e),n.dispatchEvent(new Event("change",{bubbles:!0,cancelable:!0})),sowbForms._geocodeQueue.shift(),0<sowbForms._geocodeQueue.length){var o=sowbForms._geocodeQueue[0];setTimeout(function(){i(o.place,o.field)},c)}else console.info("SiteOrigin Google Maps Widget: Location fields updated. Please save the post to complete the migration.")}).catch(function(e){if(e===google.maps.GeocoderStatus.OVER_QUERY_LIMIT)if(sowbForms.hasOwnProperty("overQueryLimitCount")?sowbForms.overQueryLimitCount++:sowbForms.overQueryLimitCount=1,sowbForms.overQueryLimitCount<3){var o=sowbForms._geocodeQueue[0];c*=10,setTimeout(function(){i(o.place,o.field)},c)}else console.warn("SiteOrigin Google Maps Widget: Automatic migration of old address failed with status: "+e),console.info("SiteOrigin Google Maps Widget: Please save this post and open the form to try again.")})}(l,n)},c)}else o()}}else console.error("SiteOrigin Google Maps Widget: Failed to load the places library.")}}},sowbForms.setupLocationFields=function(){google&&google.maps&&google.maps.places&&document.querySelectorAll(".siteorigin-widget-field-type-location").forEach(function(e){0===e.offsetWidth||0===e.offsetHeight||"true"===e.getAttribute("data-initialized")||((new sowbForms.LocationField).init(e),e.setAttribute("data-initialized","true"))})},window.addEventListener("DOMContentLoaded",function(){var n=n||jQuery;n&&n(document).on("sowsetupformfield",".siteorigin-widget-field-type-location",function(){sowbForms._geocodeQueue=sowbForms._geocodeQueue||[];var i=n(this);if(!i.is(":not(:visible)")&&!sowbForms.mapsInitializing)if(sowbForms.mapsInitialized)sowbForms.setupLocationFields();else{sowbForms.mapsInitializing=!0;var e=i.find(".location-field-data").data("apiKey");if(e||(sowbForms.displayNotice(n(this).closest(".siteorigin-widget-form"),soLocationField.missingApiKey,"",[{label:soLocationField.globalSettingsButtonLabel,url:soLocationField.globalSettingsButtonUrl}],i),console.warn("SiteOrigin Google Maps Widget: Could not find API key. Google Maps API key is required."),e=""),window.console&&window.console.error){var t=window.console.error;sowbForms.checkMapsApiInvalidKeyError=function(e){var o;if("string"==typeof e&&(null===(o=e.match(/^Google Maps.*API (error|warning): (.*)/))&&(o=e.match(/^This API project is not authorized to use this API/)),o&&(3===o.length?o=o[2]:1===o.length&&(o="ApiNotActivatedMapError"))),o)switch(o){case"InvalidKeyMapError":sowbForms.displayNotice(n(this).closest(".siteorigin-widget-form"),soLocationField.invalidApiKey,"",[{label:soLocationField.globalSettingsButtonLabel,url:soLocationField.globalSettingsButtonUrl}],i);break;case"ApiNotActivatedMapError":sowbForms.displayNotice(n(this).closest(".siteorigin-widget-form"),soLocationField.apiNotEnabled,"",[],i)}t.apply(window.console,arguments)}.bind(this),window.console.error=sowbForms.checkMapsApiInvalidKeyError}var o="https://maps.googleapis.com/maps/api/js?key="+e+"&libraries=places&callback=sowbAdminGoogleMapInit";n("body").append('<script async type="text/javascript" src="'+o+'">')}})});
1
+ function sowbAdminGoogleMapInit(){sowbForms.mapsInitializing=!1,sowbForms.mapsInitialized=!0,sowbForms.setupLocationFields()}window.sowbForms=window.sowbForms||{},sowbForms.LocationField=function(){return{init:function(e){if(void 0!==google.maps.places){function o(){var e=JSON.parse(n.value),o="";e.hasOwnProperty("address")&&(o=e.address),e.hasOwnProperty("name")&&0!==o.indexOf(e.name)&&(o=e.name+", "+o),i.removeEventListener("change",r),i.value=o,i.dispatchEvent(new Event("change",{bubbles:!0,cancelable:!0})),i.addEventListener("change",r)}var i=e.querySelector(".siteorigin-widget-location-input"),n=e.querySelector(".siteorigin-widget-input"),t=new google.maps.places.Autocomplete(i),s=function(o){return new Promise(function(i,t){var n={name:o.name};if(n.address=o.hasOwnProperty("formatted_address")?o.formatted_address:"",o.hasOwnProperty("geometry"))n.location=o.geometry.location.toString(),i(n);else{var e={address:o.hasOwnProperty("formatted_address")?o.formatted_address:o.name};(new google.maps.Geocoder).geocode(e,function(e,o){o===google.maps.GeocoderStatus.OK?(n.location=e[0].geometry.location.toString(),i(n)):t(o)})}})};n.addEventListener("change",o);function a(e){n.value=JSON.stringify(e),n.removeEventListener("change",o),n.dispatchEvent(new Event("change",{bubbles:!0,cancelable:!0})),n.addEventListener("change",o)}t.addListener("place_changed",function(){var o=t.getPlace();s(o).then(function(e){a(e)}).catch(function(e){console.warn('SiteOrigin Google Maps Widget: Geocoding failed for "'+o.name+'" with status: '+e)})});var r=function(){a({name:i.value})};if(i.addEventListener("change",r),n.value){var l={};try{var d=JSON.parse(n.value);d.hasOwnProperty("location")||d.hasOwnProperty("address")&&(l.name=d.address)}catch(e){l.name=n.value}if(l.hasOwnProperty("name")&&"null"!==l.name){sowbForms.mapsMigrationLogged||(console.info("SiteOrigin Google Maps Widget: Starting automatic migration of location. Please wait a moment..."),sowbForms.mapsMigrationLogged=!0);var c=100;sowbForms._geocodeQueue.push({place:l,field:n}),1===sowbForms._geocodeQueue.length&&setTimeout(function(){!function i(e,t){s(e).then(function(e){if(t.value=JSON.stringify(e),n.dispatchEvent(new Event("change",{bubbles:!0,cancelable:!0})),sowbForms._geocodeQueue.shift(),0<sowbForms._geocodeQueue.length){var o=sowbForms._geocodeQueue[0];setTimeout(function(){i(o.place,o.field)},c)}else console.info("SiteOrigin Google Maps Widget: Location fields updated. Please save the post to complete the migration.")}).catch(function(e){if(e===google.maps.GeocoderStatus.OVER_QUERY_LIMIT)if(sowbForms.hasOwnProperty("overQueryLimitCount")?sowbForms.overQueryLimitCount++:sowbForms.overQueryLimitCount=1,sowbForms.overQueryLimitCount<3){var o=sowbForms._geocodeQueue[0];c*=10,setTimeout(function(){i(o.place,o.field)},c)}else console.warn("SiteOrigin Google Maps Widget: Automatic migration of old address failed with status: "+e),console.info("SiteOrigin Google Maps Widget: Please save this post and open the form to try again.")})}(l,n)},c)}else o()}}else console.error("SiteOrigin Google Maps Widget: Failed to load the places library.")}}},sowbForms.setupLocationFields=function(){google&&google.maps&&google.maps.places&&document.querySelectorAll(".siteorigin-widget-field-type-location").forEach(function(e){0===e.offsetWidth||0===e.offsetHeight||"true"===e.getAttribute("data-initialized")||((new sowbForms.LocationField).init(e),e.setAttribute("data-initialized","true"))})},window.addEventListener("DOMContentLoaded",function(){var n=n||jQuery;n&&n(document).on("sowsetupformfield",".siteorigin-widget-field-type-location",function(){sowbForms._geocodeQueue=sowbForms._geocodeQueue||[];var i=n(this);if(!sowbForms.mapsInitializing)if(sowbForms.mapsInitialized)sowbForms.setupLocationFields();else{sowbForms.mapsInitializing=!0;var e=i.find(".location-field-data").data("apiKey");if(e||(sowbForms.displayNotice(n(this).closest(".siteorigin-widget-form"),soLocationField.missingApiKey,"",[{label:soLocationField.globalSettingsButtonLabel,url:soLocationField.globalSettingsButtonUrl}],i),console.warn("SiteOrigin Google Maps Widget: Could not find API key. Google Maps API key is required."),e=""),window.console&&window.console.error){var t=window.console.error;sowbForms.checkMapsApiInvalidKeyError=function(e){var o;if("string"==typeof e&&(null===(o=e.match(/^Google Maps.*API (error|warning): (.*)/))&&(o=e.match(/^This API project is not authorized to use this API/)),o&&(3===o.length?o=o[2]:1===o.length&&(o="ApiNotActivatedMapError"))),o)switch(o){case"InvalidKeyMapError":sowbForms.displayNotice(n(this).closest(".siteorigin-widget-form"),soLocationField.invalidApiKey,"",[{label:soLocationField.globalSettingsButtonLabel,url:soLocationField.globalSettingsButtonUrl}],i);break;case"ApiNotActivatedMapError":sowbForms.displayNotice(n(this).closest(".siteorigin-widget-form"),soLocationField.apiNotEnabled,"",[],i)}t.apply(window.console,arguments)}.bind(this),window.console.error=sowbForms.checkMapsApiInvalidKeyError}var o="https://maps.googleapis.com/maps/api/js?key="+e+"&libraries=places&callback=sowbAdminGoogleMapInit";n("body").append('<script async type="text/javascript" src="'+o+'">')}})});
widgets/google-map/fields/location.class.php CHANGED
@@ -63,7 +63,7 @@ class SiteOrigin_Widget_Field_Location extends SiteOrigin_Widget_Field_Base {
63
'</a>'
64
),
65
'globalSettingsButtonLabel' => __( 'Go to Google Maps Widget settings', 'so-widgets-bundle' ),
66
- 'globalSettingsButtonUrl' => admin_url( 'plugins.php?page=so-widgets-plugins' ),
67
)
68
);
69
}
63
'</a>'
64
),
65
'globalSettingsButtonLabel' => __( 'Go to Google Maps Widget settings', 'so-widgets-bundle' ),
66
+ 'globalSettingsButtonUrl' => admin_url( 'plugins.php?page=so-widgets-plugins#settings-google-map' ),
67
)
68
);
69
}
widgets/hero/hero.php CHANGED
@@ -232,7 +232,7 @@ class SiteOrigin_Widget_Hero_Widget extends SiteOrigin_Widget_Base_Slider {
232
233
'fittext_compressor' => array(
234
'type' => 'number',
235
- 'label' => __( 'FitText Compressor Strength', 'so-widgets-bundle' ),
236
'description' => __( 'The higher the value, the more your headings will be scaled down. Values above 1 are allowed.', 'so-widgets-bundle' ),
237
'default' => 0.85,
238
'state_handler' => array(
@@ -280,7 +280,7 @@ class SiteOrigin_Widget_Hero_Widget extends SiteOrigin_Widget_Base_Slider {
280
281
'link_color_hover' => array(
282
'type' => 'color',
283
- 'label' => __( 'Link Hover Color', 'so-widgets-bundle' )
284
),
285
286
)
232
233
'fittext_compressor' => array(
234
'type' => 'number',
235
+ 'label' => __( 'FitText compressor strength', 'so-widgets-bundle' ),
236
'description' => __( 'The higher the value, the more your headings will be scaled down. Values above 1 are allowed.', 'so-widgets-bundle' ),
237
'default' => 0.85,
238
'state_handler' => array(
280
281
'link_color_hover' => array(
282
'type' => 'color',
283
+ 'label' => __( 'Link hover color', 'so-widgets-bundle' )
284
),
285
286
)
widgets/post-carousel/js/carousel.js CHANGED
@@ -27,13 +27,12 @@ jQuery( function ( $ ) {
27
28
var updatePosition = function () {
29
if (position < 0) {
30
- position = 0;
31
- return;
32
}
33
if (position === numItems) {
34
- position--;
35
- return;
36
}
37
var numVisibleItems = Math.ceil( $.outerWidth() / itemWidth );
38
// Offset position by numVisibleItems to trigger the next fetch before the view is empty.
39
if ( position + numVisibleItems >= $.find( '.sow-carousel-item' ).length - 1 ) {
@@ -50,7 +49,7 @@ jQuery( function ( $ ) {
50
query: $.data( 'query' ),
51
action: 'sow_carousel_load',
52
paged: page,
53
- instance_hash: instanceHash,
54
},
55
function ( data, status ) {
56
var $items = $( data.html );
@@ -60,7 +59,7 @@ jQuery( function ( $ ) {
60
complete = numItems === totalPosts;
61
fetching = false;
62
}
63
- )
64
}
65
}
66
$itemsContainer.css( 'transition-duration', "0.45s" );
@@ -132,7 +131,9 @@ jQuery( function ( $ ) {
132
clearInterval( posInterval );
133
}
134
else if ( phase === "move" ) {
135
- if ( direction === negativeDirection ) distance *= -1;
136
setNewPosition( startPosition + distance );
137
var newTime = new Date().getTime();
138
var timeDelta = (newTime - prevTime) / 1000;
@@ -142,7 +143,9 @@ jQuery( function ( $ ) {
142
}
143
else if ( phase === "end" ) {
144
validSwipe = true;
145
- if ( direction === negativeDirection ) distance *= -1;
146
if ( Math.abs( velocity ) > 400 ) {
147
velocity *= 0.1;
148
var startTime = new Date().getTime();
27
28
var updatePosition = function () {
29
if (position < 0) {
30
+ position = numItems ? numItems - 1 : 0;
31
}
32
if (position === numItems) {
33
+ position = 0;
34
}
35
+
36
var numVisibleItems = Math.ceil( $.outerWidth() / itemWidth );
37
// Offset position by numVisibleItems to trigger the next fetch before the view is empty.
38
if ( position + numVisibleItems >= $.find( '.sow-carousel-item' ).length - 1 ) {
49
query: $.data( 'query' ),
50
action: 'sow_carousel_load',
51
paged: page,
52
+ instance_hash: instanceHash
53
},
54
function ( data, status ) {
55
var $items = $( data.html );
59
complete = numItems === totalPosts;
60
fetching = false;
61
}
62
+ );
63
}
64
}
65
$itemsContainer.css( 'transition-duration', "0.45s" );
131
clearInterval( posInterval );
132
}
133
else if ( phase === "move" ) {
134
+ if ( direction === negativeDirection ) {
135
+ distance *= -1;
136
+ }
137
setNewPosition( startPosition + distance );
138
var newTime = new Date().getTime();
139
var timeDelta = (newTime - prevTime) / 1000;
143
}
144
else if ( phase === "end" ) {
145
validSwipe = true;
146
+ if ( direction === negativeDirection ) {
147
+ distance *= -1;
148
+ }
149
if ( Math.abs( velocity ) > 400 ) {
150
velocity *= 0.1;
151
var startTime = new Date().getTime();
widgets/post-carousel/js/carousel.min.js CHANGED
@@ -1 +1 @@
1
- var sowb=window.sowb||{};jQuery(function(_){sowb.setupCarousel=function(){_(".sow-carousel-wrapper").each(function(){function u(){if(w<0)w=0;else if(w!==l){var e=Math.ceil(t.outerWidth()/d);if(w+e>=t.find(".sow-carousel-item").length-1&&!r&&!f){r=!0,i++,n.append('<li class="sow-carousel-item sow-carousel-loading"></li>');var s=a.find('input[name="instance_hash"]').val();_.get(t.data("ajax-url"),{query:t.data("query"),action:"sow_carousel_load",paged:i,instance_hash:s},function(e,s){_(e.html).appendTo(n).hide().fadeIn(),t.find(".sow-carousel-loading").remove(),l=t.find(".sow-carousel-item").length,f=l===c,r=!1})}n.css("transition-duration","0.45s"),n.css(h,-d*w+"px")}else w--}var t=_(this),e=t.closest(".sow-carousel-container"),a=t.closest(".sow-carousel-container").parent(),n=t.find(".sow-carousel-items"),s=t.find(".sow-carousel-item"),o=s.eq(0),w=0,i=1,r=!1,l=s.length,c=t.data("found-posts"),f=l===c,d=o.width()+parseInt(o.css("margin-right")),p=e.hasClass("js-rtl"),h=p?"margin-right":"margin-left";if(a.on("click","a.sow-carousel-previous",function(e){e.preventDefault(),w-=p?-1:1,u()}),a.on("click","a.sow-carousel-next",function(e){e.preventDefault(),w+=p?-1:1,u()}),"function"==typeof t.swipe){function g(e){return e<50&&-d*l<e&&(n.css("transition-duration","0s"),n.css(h,e+"px"),!0)}function v(){var e=parseInt(n.css(h));w=Math.abs(Math.round(e/d)),u()}var m,b=!1,D=0,I=0,T=0,x=0,M=p?"right":"left";t.on("click",".sow-carousel-item a",function(e){b&&(e.preventDefault(),b=!1)}),t.swipe({excludedElements:"",triggerOnTouchEnd:!0,threshold:75,swipeStatus:function(e,s,a,n,t,o,i){if("up"===a||"down"===a)return!1;if("start"===s)I=-d*w,x=(new Date).getTime(),clearInterval(m);else if("move"===s){a===M&&(n*=-1),g(I+n);var r=(new Date).getTime();T=(n-D)/((r-x)/1e3),x=r,D=n}else if("end"===s)if(b=!0,a===M&&(n*=-1),400<Math.abs(T)){T*=.1;var l=(new Date).getTime(),c=0;m=setInterval(function(){var e=((new Date).getTime()-l)/1e3,s=I+n+(c+=T*e),t=Math.abs(T)-30<0;a===M?T+=30:T-=30,!t&&g(s)||(clearInterval(m),v())},20)}else v();else"cancel"===s&&u()}})}})},sowb.setupCarousel(),_(sowb).on("setup_widgets",sowb.setupCarousel)}),window.sowb=sowb;
1
+ var sowb=window.sowb||{};jQuery(function(_){sowb.setupCarousel=function(){_(".sow-carousel-wrapper").each(function(){function u(){w<0&&(w=c?c-1:0),w===c&&(w=0);var e=Math.ceil(t.outerWidth()/d);if(w+e>=t.find(".sow-carousel-item").length-1&&!r&&!f){r=!0,i++,n.append('<li class="sow-carousel-item sow-carousel-loading"></li>');var s=a.find('input[name="instance_hash"]').val();_.get(t.data("ajax-url"),{query:t.data("query"),action:"sow_carousel_load",paged:i,instance_hash:s},function(e,s){_(e.html).appendTo(n).hide().fadeIn(),t.find(".sow-carousel-loading").remove(),c=t.find(".sow-carousel-item").length,f=c===l,r=!1})}n.css("transition-duration","0.45s"),n.css(h,-d*w+"px")}var t=_(this),e=t.closest(".sow-carousel-container"),a=t.closest(".sow-carousel-container").parent(),n=t.find(".sow-carousel-items"),s=t.find(".sow-carousel-item"),o=s.eq(0),w=0,i=1,r=!1,c=s.length,l=t.data("found-posts"),f=c===l,d=o.width()+parseInt(o.css("margin-right")),p=e.hasClass("js-rtl"),h=p?"margin-right":"margin-left";if(a.on("click","a.sow-carousel-previous",function(e){e.preventDefault(),w-=p?-1:1,u()}),a.on("click","a.sow-carousel-next",function(e){e.preventDefault(),w+=p?-1:1,u()}),"function"==typeof t.swipe){function g(e){return e<50&&-d*c<e&&(n.css("transition-duration","0s"),n.css(h,e+"px"),!0)}function v(){var e=parseInt(n.css(h));w=Math.abs(Math.round(e/d)),u()}var m,b=!1,D=0,I=0,T=0,x=0,M=p?"right":"left";t.on("click",".sow-carousel-item a",function(e){b&&(e.preventDefault(),b=!1)}),t.swipe({excludedElements:"",triggerOnTouchEnd:!0,threshold:75,swipeStatus:function(e,s,a,n,t,o,i){if("up"===a||"down"===a)return!1;if("start"===s)I=-d*w,x=(new Date).getTime(),clearInterval(m);else if("move"===s){a===M&&(n*=-1),g(I+n);var r=(new Date).getTime();T=(n-D)/((r-x)/1e3),x=r,D=n}else if("end"===s)if(b=!0,a===M&&(n*=-1),400<Math.abs(T)){T*=.1;var c=(new Date).getTime(),l=0;m=setInterval(function(){var e=((new Date).getTime()-c)/1e3,s=I+n+(l+=T*e),t=Math.abs(T)-30<0;a===M?T+=30:T-=30,!t&&g(s)||(clearInterval(m),v())},20)}else v();else"cancel"===s&&u()}})}})},sowb.setupCarousel(),_(sowb).on("setup_widgets",sowb.setupCarousel)}),window.sowb=sowb;
widgets/social-media-buttons/data/networks.php CHANGED
@@ -43,6 +43,12 @@ return array(
43
'icon_color' => '#FFFFFF',
44
'button_color' => '#FFFC00'
45
),
46
'linkedin' => array(
47
'label' => __( 'LinkedIn', 'so-widgets-bundle' ),
48
'base_url' => 'https://www.linkedin.com/',
43
'icon_color' => '#FFFFFF',
44
'button_color' => '#FFFC00'
45
),
46
+ 'skype' => array(
47
+ 'label' => __( 'Skype', 'so-widgets-bundle' ),
48
+ 'base_url' => 'https://skype.com/',
49
+ 'icon_color' => '#0078d7',
50
+ 'button_color' => '#FFFFFF'
51
+ ),
52
'linkedin' => array(
53
'label' => __( 'LinkedIn', 'so-widgets-bundle' ),
54
'base_url' => 'https://www.linkedin.com/',
widgets/social-media-buttons/social-media-buttons.php CHANGED
@@ -31,7 +31,7 @@ class SiteOrigin_Widget_SocialMediaButtons_Widget extends SiteOrigin_Widget {
31
'responsive_breakpoint' => array(
32
'type' => 'measurement',
33
'label' => __( 'Responsive Breakpoint', 'so-widgets-bundle' ),
34
- 'default' => 780,
35
'description' => __( 'This setting controls when the Mobile Align setting will be used. The default value is 780px', 'so-widgets-bundle' ),
36
)
37
);
@@ -242,15 +242,16 @@ class SiteOrigin_Widget_SocialMediaButtons_Widget extends SiteOrigin_Widget {
242
break;
243
}
244
$margin = $top . ' ' . $right . ' ' . $bottom . ' ' . $left;
245
-
246
- $global_settings = $this->get_global_settings();
247
return array(
248
'icon_size' => $design['icon_size'] . 'em',
249
'rounding' => $design['rounding'] . 'em',
250
'padding' => $design['padding'] . 'em',
251
'align' => $design['align'],
252
'mobile_align' => ! empty( $design['mobile_align'] ) ? $design['mobile_align'] : '',
253
- 'responsive_breakpoint' => ! empty( $global_settings['responsive_breakpoint'] ) ? $global_settings['responsive_breakpoint'] : '',
254
'margin' => $margin
255
);
256
}
31
'responsive_breakpoint' => array(
32
'type' => 'measurement',
33
'label' => __( 'Responsive Breakpoint', 'so-widgets-bundle' ),
34
+ 'default' => '780px',
35
'description' => __( 'This setting controls when the Mobile Align setting will be used. The default value is 780px', 'so-widgets-bundle' ),
36
)
37
);
242
break;
243
}
244
$margin = $top . ' ' . $right . ' ' . $bottom . ' ' . $left;
245
+
246
+ // Get responsive breakpoint and make sure it's properly formatted
247
+ $breakpoint = $this->get_global_settings( 'responsive_breakpoint' );
248
return array(
249
'icon_size' => $design['icon_size'] . 'em',
250
'rounding' => $design['rounding'] . 'em',
251
'padding' => $design['padding'] . 'em',
252
'align' => $design['align'],
253
'mobile_align' => ! empty( $design['mobile_align'] ) ? $design['mobile_align'] : '',
254
+ 'responsive_breakpoint' => ! empty( $breakpoint ) ? $breakpoint : '',
255
'margin' => $margin
256
);
257
}