Plugin Directory

Changeset 2988251


Ignore:
Timestamp:
11/02/2023 09:42:23 PM (2 years ago)
Author:
CloudSponge
Message:

releasing v2.3.0

Location:
better-sharing/trunk
Files:
4 added
2 deleted
9 edited

Legend:

Unmodified
Added
Removed
  • better-sharing/trunk/BetterSharingWP.php

    r2978389 r2988251  
    66 * Plugin Name:       Better Sharing
    77 * Description:       Add essential viral sharing functionality to any WordPress site.
    8  * Version:           2.2.1
     8 * Version:           2.3.0
    99 * Author:            CloudSponge
    1010 * Author URI:        https://www.cloudsponge.com
     
    5454define( 'BETTER_SHARING_PATH', plugin_dir_path( __FILE__ ) );
    5555define( 'BETTER_SHARING_URI', plugin_dir_url( __FILE__ ) );
    56 define( 'BETTER_SHARING_VERSION', '2.2.1' );
     56define( 'BETTER_SHARING_VERSION', '2.3.0' );
    5757
    5858define( 'BETTER_SHARING_ADMIN_TEMPLATE_PATH', BETTER_SHARING_PATH . 'includes/AdminScreens/admin-templates/' );
  • better-sharing/trunk/admin-assets/admin.js

    r2978389 r2988251  
    1 import './bs-wp-admin.scss';
     1import "./bs-wp-admin.scss";
    22
    33const $ = jQuery;
     
    2727    $("body").on("click", ".copyText", this.copyText);
    2828    $("body").on("click", "#bswp-limit-emails", this.toggleEmailsLimit);
     29    $("body").on("click", "#bswp-spam-detection", this.toogleSpamDetection);
    2930
    3031    //toggle view style
     
    308309  toggleEmailsLimit = (e) => {
    309310    if (e.target.checked) {
    310       $("#bswp-limit-emails-num").removeClass("bswp__email-input-hidden");
     311      $("#bswp-limit-emails-num").prop("readonly", false);
    311312    } else {
    312       $("#bswp-limit-emails-num").addClass("bswp__email-input-hidden");
    313       $("#bswp-limit-emails-num").val("");
     313      $("#bswp-limit-emails-num").prop("readonly", true);
     314    }
     315  };
     316
     317  toogleSpamDetection = (e) => {
     318    if (e.target.checked) {
     319      $("#bswp_spam_regex").prop("readonly", false);
     320      $("#bswp-spam-err-msg").prop("disabled", false);
     321      $("#bswp-spam-err-msg").prop("checked", true);
     322    } else {
     323      $("#bswp_spam_regex").prop("readonly", true);
     324      $("#bswp-spam-err-msg").prop("disabled", true);
    314325    }
    315326  };
  • better-sharing/trunk/admin-assets/bs-wp-admin.scss

    r2978389 r2988251  
    1111$bswp-status-indicator-size: 1.5rem;
    1212$bswp-addon-padding: 1.2rem;
     13$bswp-column-width: 120px;
    1314
    1415.bswp {
     
    3536
    3637  &__container {
     38    .card {
     39      margin-top:0;
     40    }
    3741    @media (min-width: 600px) {
    3842      padding-right: 1rem;
     
    122126    }
    123127  }
    124   &__email-sending-group {
     128  &__email-sending-group,
     129  &__contact-picker-group {
     130    margin-top: 4rem;
     131    .checkbox-group {
     132      input {
     133        margin: 0; 
     134      }
     135    }
     136    .checkbox-label {
     137      margin-left: 0.5rem;
     138    }
    125139    h4 {
    126       font-weight: bold;
    127       margin-top: 2rem;
    128       margin-left: 1rem;
    129       display: inline-block;
    130       vertical-align: top;
    131     }
    132     div.email-sending-input {
    133       margin-left: 4rem;
    134       margin-top: 2rem;
    135       display: inline-block;
    136     }
    137 
    138     input {
     140      font-weight: bold;
     141      margin-left: 0rem;
     142      flex: 0 0 150px;
     143      margin-top:0;
     144
     145      @media (min-width: 600px) {
     146        margin-left: 1rem;
     147      }
     148    }
     149    div.email-sending-input {
     150      margin-left: 0rem;
     151      display: flex;
     152      flex-direction: column;
     153
     154      @media (min-width: 600px) {
     155        margin-left: 2rem;
     156      }
     157
     158      .limit-emails {
     159        display: flex;
     160        margin-top: 0.6rem;
     161        input {
     162          width: 6rem;
     163        }
     164        label {
     165          margin-left: 1rem;
     166          display: flex;
     167          align-items: center;
     168        }
     169      }
     170    }
     171   
     172  }
     173
     174  &__website-name,
     175  &__spam-detection,
     176  &__cs-settings {
     177    display: flex;
     178    flex-grow: 1;
     179    width: 100%;
     180    flex-direction: column;
     181    margin-left: 0rem;
     182
     183    @media (min-width: 600px) {
    139184      margin-left: 2rem;
    140185    }
    141     input:nth-of-type(2) {
    142       display: block;
    143       width: 8rem;
    144       margin-top: 2rem;
    145     }
    146   }
    147 
     186
     187    input[type="text"],
     188    textarea {
     189      margin-top: 0.6rem;
     190      max-width: $bswp-settings-max-width;
     191    }
     192    textarea {
     193      padding: 8px 8px 0 8px;
     194      line-height: 1;
     195      height: 30px;
     196    }
     197    p {
     198      font-style: italic;
     199      margin: 0;
     200      margin-top:0.6rem;
     201    }
     202    .bswp_cloudsponge_title {
     203      display: flex;
     204
     205      span {
     206        margin-left: 1rem!important;
     207      }
     208    }
     209    .api-key,
     210    .proxy-url {
     211      margin-top: 1.2rem;
     212      display: flex;
     213      flex-direction: column;
     214    }
     215  }
    148216  &__website-name {
    149     margin-top: 2rem;
    150 
    151     input {
    152       width: 50% !important;
    153     }
    154 
    155     label,
    156217    p {
    157       margin-left: 2rem;
    158     }
    159 
    160     div {
    161       margin-top: 0.5rem;
    162     }
     218      max-width: $bswp-settings-max-width;
     219    }
     220  }
     221
     222  &__spam-detection {
    163223    p {
    164       margin-top: 0.5rem;
    165       font-style: italic;
     224      margin-top: 1.2rem;
     225      font-style: normal;
     226    }
     227    .inner-checkbox-group {
     228      margin-top: 1.2rem;
     229    }
     230  }
     231  &__cs-settings {
     232    p {
     233      font-style: normal;
    166234    }
    167235  }
     
    177245    }
    178246  }
    179 
    180247  &__copy-input {
    181248    position: relative;
    182249    flex: 1;
     250    max-width: $bswp-settings-max-width;
     251    margin-top: 0.6rem;
    183252
    184253    & > a {
     
    198267      margin: 0;
    199268      padding-right: 4.5rem;
     269    }
     270  }
     271  &__plugin-settings-form {
     272    input[type="submit"] {
     273      margin-left: 1rem;
    200274    }
    201275  }
     
    9571031    }
    9581032}
     1033.flex-start {
     1034  align-items: flex-start!important;
     1035}
  • better-sharing/trunk/dist/admin/admin.bundle.js

    r2978389 r2988251  
    1 (()=>{var e={736:(e,t,a)=>{(t=a(645)(!1)).push([e.id,'.bswp *{-webkit-box-sizing:border-box;-moz-box-sizing:border-box;box-sizing:border-box}.bswp a:active,.bswp a:focus,.bswp li:focus,.bswp li:active{outline:none !important;border:none !important;text-decoration:none !important;box-shadow:none !important;-webkit-tap-highlight-color:transparent !important;-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none;user-select:none}@media (min-width: 600px){.bswp__container{padding-right:1rem}}.bswp__content{max-width:100%}.bswp__content h2{margin-bottom:1.8rem}.bswp__content h4{font-size:1rem}.bswp__content ul{padding-left:1rem}.bswp__content ul li{list-style-type:square;margin-left:1rem;font-size:0.9rem;padding-bottom:0.5rem}.bswp__content ol li{list-style-type:decimal;margin-left:1rem;font-size:0.9rem;padding-bottom:0.5rem}.bswp__content code{font-family:Consolas, "courier new";color:crimson;background-color:#f1f1f1;padding:2px;font-size:105%}.bswp__title{margin-bottom:2rem}.bswp__settings{max-width:54rem}.bswp__form-group{margin-bottom:1rem}@media (min-width: 600px){.bswp__form-group{display:flex;align-items:center}}.bswp__form-group__label{width:8rem;flex:0 1 8rem;margin-bottom:0.5rem;display:block}@media (min-width: 600px){.bswp__form-group__label{margin-bottom:0}}.bswp__form-group input[type="text"]{margin-bottom:0.5rem;width:100%}@media (min-width: 600px){.bswp__form-group input[type="text"]{flex:1 1 auto;width:auto;margin-bottom:0;margin-right:0}}.bswp__form-group .button{margin-bottom:0;margin-top:2rem;padding:0 1.5rem}.bswp__email-sending-group h4{font-weight:bold;margin-top:2rem;margin-left:1rem;display:inline-block;vertical-align:top}.bswp__email-sending-group div.email-sending-input{margin-left:4rem;margin-top:2rem;display:inline-block}.bswp__email-sending-group input{margin-left:2rem}.bswp__email-sending-group input:nth-of-type(2){display:block;width:8rem;margin-top:2rem}.bswp__website-name{margin-top:2rem}.bswp__website-name input{width:50% !important}.bswp__website-name label,.bswp__website-name p{margin-left:2rem}.bswp__website-name div{margin-top:0.5rem}.bswp__website-name p{margin-top:0.5rem;font-style:italic}.bswp__input-group{flex:1 1 auto;display:flex;flex-direction:column}@media (min-width: 600px){.bswp__input-group{flex-direction:row;align-items:center;margin-left:1rem}}.bswp__copy-input{position:relative;flex:1}.bswp__copy-input>a{position:absolute;padding:0 0.5rem;height:100%;display:flex;align-items:center;justify-content:center;right:0;top:0;text-decoration:none}.bswp__copy-input>input[type="text"]{width:100%;margin:0;padding-right:4.5rem}.bswp__addons{position:relative}@media (min-width: 600px){.bswp__addons{display:flex;flex-wrap:wrap;justify-content:flex-start;margin:0 -0.5rem}}.bswp__addon{min-width:21rem;padding:1.2rem;padding-bottom:45px;position:relative;margin-bottom:1rem}@media (min-width: 600px){.bswp__addon{flex:0 1 calc(20% - 2rem);margin-left:0.5rem;margin-right:0.5rem}}.bswp__addon__header{text-align:center;margin-bottom:1rem}.bswp__addon__title{margin:0}.bswp__addon__description{margin-bottom:3rem}.bswp__addon__description a{display:inline-block}.bswp__addon__btns{display:flex;flex-direction:row;justify-content:center;margin:10px auto 20px auto}.bswp__addon__btns .button{display:inline-block;flex:1;flex-grow:1;max-width:50%;margin:0 5px;padding:5px 20px;text-align:center}.bswp__addon__link>strong{margin-bottom:0.315rem}@media (min-width: 600px){.bswp__addon__link>strong{margin-right:0.315rem;margin-bottom:0}}.bswp__addon__link>a{display:block}.bswp__addon__link>a>span{white-space:nowrap;overflow:hidden;text-overflow:ellipsis;text-decoration:none;font-size:100%}.bswp__addon__toggle{bottom:0px;padding:1.2rem;display:flex;flex-direction:row;justify-content:center;left:0;position:absolute;width:100%;background-color:#fafafa;border-top:1px solid #ddd}.bswp__addon__toggle .disclaimer{text-align:center}.bswp__addon__status{display:flex;align-items:center}.bswp__addon__status-label{margin-left:0.5rem}.bswp__addon__status-indicator{cursor:pointer;position:relative;display:inline-flex;width:3rem;height:1.5rem;border-radius:3rem;background:#999}.bswp__addon__status-indicator::before{content:"";width:calc(1.5rem - 4px);height:calc(1.5rem - 4px);background:#fff;border-radius:50%;position:absolute;left:2px;top:2px;box-shadow:0 3px 8px rgba(0,0,0,0.2)}.bswp__addon__status-indicator.active{background:#5ab750;cursor:pointer}.bswp__addon__status-indicator.active::before{left:auto;right:2px;box-shadow:0 3px 8px rgba(95,204,98,0.8)}.bswp__addon.plugin-unavailable .bswp__addon__status-indicator{cursor:not-allowed}.bswp__addon__config{margin-left:auto}.bswp__addon__settings{display:none}.bswp__addon__settings h4{margin-bottom:0;font-size:1rem}.bswp__addon__settings.active{display:block}.bswp__addon__settings-group{margin-bottom:1.5rem}.bswp__checkbox label{margin-right:1rem}.bswp__text input{display:block;width:100%}.bswp__textarea textarea{display:block;width:100%}.bswp__email-subject{position:relative;flex:1}.bswp__email-subject>input[type="text"]{width:100%;margin:0}.bswp__copy-variable{text-decoration:none;position:relative}.bswp__copy-variable>span{display:inline-block;width:20px}.bswp__copy-variable span:nth-of-type(2){position:absolute;top:-22px;left:5px;color:#000;font-size:10px;display:none}.bswp__variable-info{text-decoration:none;color:#1f2120;position:relative;display:inline-block}.bswp__variable-info .tooltiptext{visibility:hidden;min-width:100px;background-color:#555;color:#fff;text-align:center;border-radius:6px;padding:5px;position:absolute;z-index:1;bottom:120%;left:-40px;opacity:0;transition:opacity 0.3s;font-size:10px;font-weight:normal}.bswp__variable-info .tooltiptext::after{content:"";position:absolute;top:100%;left:50%;margin-left:-5px;border-width:5px;border-style:solid;border-color:#555 transparent transparent transparent}.bswp__variable-info:hover .tooltiptext{visibility:visible;opacity:1}.bswp__spacer{margin:1rem 0}.bswp__email-input-hidden{display:none !important}.bswp__short-code-container{display:flex;flex-wrap:wrap;font-size:0.9rem;border:1px solid #9b9999;line-height:2.3rem;padding-left:1rem;border-radius:0.2rem;font-weight:bold}.bswp__short-code-container a{position:absolute;right:1.4rem;text-decoration:none;display:flex}.bswp__ui-template-tabs{display:flex;flex-wrap:wrap;margin-top:2.5rem}.bswp__ui-template-tabs .tab .compact-view-container{display:none}.bswp__ui-template-tabs .tab.compact-view .compact-view-container{display:flex;flex-direction:column}.bswp__ui-template-tabs .tab.compact-view .compact-view-container span{font-size:1rem;margin-top:2rem}.bswp__ui-template-tabs .tab.compact-view ul li a{border-radius:50%}.bswp__ui-template-tabs .tab.compact-view ul li a svg{margin-right:0}.bswp__ui-template-tabs .tab.compact-view .referral-link{border:none;padding-right:.5rem;padding-left:.5rem;padding-bottom:0}.bswp__ui-template-tabs .tab.compact-view .referral-link .flex{flex-direction:column}.bswp__ui-template-tabs .tab.compact-view .referral-link a{border-radius:50%}.bswp__ui-template-tabs .tab.compact-view .referral-link a svg{margin:3px}.bswp__ui-template-tabs .tab.compact-view .referral-link span{width:100%;text-align:center}.bswp__ui-template-tabs .tab.compact-view .referral-link span input{background:none;border:none;text-align:center;width:100%;box-shadow:none}.bswp__ui-template-tabs .tab.compact-view .bswp-ui-template-module.social-links{border:none;padding:0}.bswp__ui-template-tabs .tab.compact-view .bswp-ui-template-module.social-links .bswp-sub-title,.bswp__ui-template-tabs .tab.compact-view .bswp-ui-template-module.social-links .bswp-title{display:none}.bswp__ui-template-tabs .tab.compact-view .bswp-ui-template-module.full-view-container.referral-link{display:none}.bswp__ui-template-tabs .tab.compact-view .bswp__form-group.bswp-title,.bswp__ui-template-tabs .tab.compact-view .bswp__form-group.bswp-subtitle{display:none}.bswp__ui-template-tabs .tab.compact-view .social-net-name{display:none}.bswp__ui-template-tabs .tab.compact-view .bswp-main-preview-container .email{display:none}.bswp__ui-template-tabs .tab.compact-view .bswp-main-preview-container .email-trigger-container{padding-left:.5rem}.bswp__ui-template-tabs .tab.compact-view .bswp-main-preview-container .items-center{align-items:flex-start}.bswp__ui-template-tabs .tab.compact-view .email-trigger-container a{border-radius:50%}.bswp__ui-template-tabs .tab.compact-view .email-trigger-container a svg{margin:5px 1px}.bswp__ui-template-tabs .tab.compact-view .link-copy-container a{border-radius:50%}.bswp__ui-template-tabs .tab.compact-view .link-copy-container a svg{margin:2px}.bswp__ui-template-tabs label.bswp-tab-label{border-bottom:1px solid #9b9999}.bswp__ui-template-tabs label.bswp-tab-label span:first-of-type{order:1;display:inline-block;padding:0.4rem 1rem;cursor:pointer;background:#d7d8da;font-weight:bold;font-size:0.9rem;transition:background ease 0.2s;border-radius:0.2rem 0.2rem 0 0;position:relative;top:0.8px;border:1px solid #9b9999}.bswp__ui-template-tabs label.bswp-tab-label span:nth-of-type(2){display:inline-block;width:8px;height:10px;position:relative;top:12px}.bswp__ui-template-tabs label.bswp-tab-label:last-of-type{width:100%;flex:1}.bswp__ui-template-tabs .tab{order:99;flex-grow:1;width:100%;display:none;padding:1rem 2.5rem 4rem 2.5rem;border:1px solid #9b9999;border-top:1px solid transparent}.bswp__ui-template-tabs .tab .bswp-module-settings{margin-top:2.5rem}.bswp__ui-template-tabs .tab .bswp-module-settings .switch{position:relative;display:inline-block;width:36px;height:18px}.bswp__ui-template-tabs .tab .bswp-module-settings .switch input{opacity:0;width:0;height:0}.bswp__ui-template-tabs .tab .bswp-module-settings .slider{position:absolute;cursor:pointer;top:0;left:0;right:0;bottom:0;background-color:#ccc;-webkit-transition:0.4s;transition:0.4s}.bswp__ui-template-tabs .tab .bswp-module-settings .slider:before{position:absolute;content:"";height:12px;width:12px;left:2px;bottom:3px;background-color:white;-webkit-transition:0.4s;transition:0.4s}.bswp__ui-template-tabs .tab .bswp-module-settings input:checked+.slider{background-color:#2196f3}.bswp__ui-template-tabs .tab .bswp-module-settings input:focus+.slider{box-shadow:0 0 1px #2196f3}.bswp__ui-template-tabs .tab .bswp-module-settings input:checked+.slider:before{-webkit-transform:translateX(18px);-ms-transform:translateX(18px);transform:translateX(18px)}.bswp__ui-template-tabs .tab .bswp-module-settings .slider.round{border-radius:34px}.bswp__ui-template-tabs .tab .bswp-module-settings .slider.round:before{border-radius:50%}.bswp__ui-template-tabs .tab .bswp-module-settings .bswp-toggle-label{margin-left:0.8rem;font-weight:500}.bswp__ui-template-tabs .tab .bswp-module-settings .bswp__form-group:nth-of-type(2){margin-top:2.5rem}.bswp__ui-template-tabs .tab .bswp-module-settings .bswp__form-group{flex-wrap:wrap}.bswp__ui-template-tabs .tab .bswp-module-settings .bswp__form-group .break{flex-basis:100%;height:0}.bswp__ui-template-tabs .tab .bswp-module-settings .bswp__form-group label{font-weight:bold}.bswp__ui-template-tabs .tab .bswp-module-settings .bswp__form-group .bswp__input-group{margin-left:0;margin-top:0.5rem}.bswp__ui-template-tabs .tab .bswp-module-settings .bswp__form-group .bswp-page-url,.bswp__ui-template-tabs .tab .bswp-module-settings .bswp__form-group .bswp-compact-view{margin-right:1rem}.bswp__ui-template-tabs .tab .bswp-module-settings .bswp__form-group h4{margin:0.5rem 1.4rem 0 0}.bswp__ui-template-tabs .tab .bswp-module-settings .bswp__form-group .custom-message-toggle,.bswp__ui-template-tabs .tab .bswp-module-settings .bswp__form-group .email-preview-toggle{margin:0.5rem 1rem 0 0;font-weight:normal}.bswp__ui-template-tabs .tab .bswp-module-settings .bswp__form-group .custom-message-toggle span,.bswp__ui-template-tabs .tab .bswp-module-settings .bswp__form-group .email-preview-toggle span{margin-left:-0.2rem}.bswp__ui-template-tabs .tab .bswp-module-settings .bswp__form-group select{flex:1 1 auto;width:auto}.bswp__ui-template-tabs .tab .bswp-module-settings .bswp__form-group textarea{flex:1 1 auto;width:auto;height:12rem}.bswp__ui-template-tabs .tab .bswp-module-settings .bswp__form-group .cloud-sponge-config{margin-top:3rem}.bswp__ui-template-tabs .tab .bswp-module-settings .bswp__form-group .cloud-sponge-config a{margin-left:1rem}.bswp__ui-template-tabs .tab .bswp-module-settings .bswp-social-networks-toggle{margin-top:2.5rem}.bswp__ui-template-tabs .tab .wp-block-cgb-block-ea-better-sharing{width:60%;margin:2.5rem auto 0}.bswp__ui-template-tabs .tab .wp-block-cgb-block-ea-better-sharing h3{margin-right:-20%}.bswp__ui-template-tabs .tab .wp-block-cgb-block-ea-better-sharing .bswp-email-custom-message textarea{border:1px solid #646970}.bswp__ui-template-tabs .tab .bswp-main-preview-container{margin-top:2rem}.bswp__ui-template-tabs .tab .bswp-main-preview-container .wp-block-cgb-block-ea-better-sharing{margin-top:0;padding-top:0}.bswp__ui-template-tabs .tab .bswp-ui-template-module-hidden,.bswp__ui-template-tabs .tab .bswp-hidden-reorder-control,.bswp__ui-template-tabs .tab .bswp-hidden-social-share-control,.bswp__ui-template-tabs .tab .bswp-hidden-referral-link-control,.bswp__ui-template-tabs .tab .bswp-hidden-custom-message-container,.bswp__ui-template-tabs .tab .bswp-hidden-email-preview-container,.bswp__ui-template-tabs .tab .view-style-hidden{display:none}.bswp__ui-template-tabs .tab .bswp-block-module-container{padding-bottom:2rem}.bswp__ui-template-tabs .tab .bswp-handle-module{padding:0 0.1rem 0.5rem 0.1rem}.bswp__ui-template-tabs .tab .bswp-handle-module a{margin-right:0.4rem}.bswp__ui-template-tabs .tab .bswp-handle-module .bswp-reorder{float:right}.bswp__ui-template-tabs .tab .bswp-ui-template-module{border:1px solid #000;padding:0 1.5rem 1rem 1.5rem}.bswp__ui-template-tabs .tab .bswp-ui-template-module h4{font-size:1.2rem;margin-top:0.6rem;margin-bottom:0}.bswp__ui-template-tabs .tab .bswp-ui-template-module .bswp-sub-title{font-size:1rem;line-height:1rem;margin:0.4rem 0 1.3rem 0;padding:0}.bswp__ui-template-tabs input[type="radio"].tab-label{display:none}.bswp__ui-template-tabs input[type="radio"].tab-label:checked+label span:first-of-type{background:#fff;border-bottom:1px solid transparent}.bswp__ui-template-tabs input[type="radio"].tab-label:checked+label+.tab{display:block}.bswp__email-preview-toggle{margin-top:10px;margin-bottom:-10px}.bswp__hidden-email-template{z-index:-1 !important}.bswp__email-preview-wrapper{margin-top:20px;background-color:#ffffff;z-index:100;position:absolute;padding:4px 12px 12px;height:20px}.bswp__email-preview-area{min-height:380px;width:100%}.column-bswp_email_template_id{width:10%}#bswp_iu_template_settings{border:none;background-color:#f0f0f1}#bswp_iu_template_settings .inside{padding:0}.text-center{text-align:center}.items-center{display:flex;align-items:center;justify-content:center}.bswp-email-modal{position:fixed;top:2px;left:2px;z-index:1000;width:100%;height:100%;background:rgba(0,0,0,0.188);text-align:center}.bswp-email-modal.bswp-email-modal-hidden{display:none}.bswp-email-modal .bswp-block-module{display:inline-block;margin:30vh auto;background:#fff;border:1px solid #ccc;border-radius:2px;padding:40px 20px 0 20px;position:relative}.bswp-email-modal .bswp-block-module p{margin:4px 0 0;height:20px;line-height:13px}.bswp-email-modal .bswp-block-module p.error-msg{color:#f9040d}.bswp-email-modal .bswp-block-module p.success-msg{color:#02691e}.bswp-email-modal .bswp-block-module span{position:absolute;top:0;right:0}.bswp-email-modal .bswp-block-module span svg{margin:0;padding:0}.bswp-email-modal .bswp-block-module button{align-self:flex-start}.bswp-email-modal .bswp-block-module .bswp-sending-mail{background-color:#1976d2 !important;color:#fff !important}.bswp-email-modal .bswp-block-module ::-webkit-input-placeholder{color:#a3a3a3}.bswp-email-modal .bswp-block-module :-moz-placeholder{color:#a3a3a3;opacity:1}.bswp-email-modal .bswp-block-module ::-moz-placeholder{color:#a3a3a3;opacity:1}.bswp-email-modal .bswp-block-module :-ms-input-placeholder{color:#a3a3a3}.bswp-email-modal .bswp-block-module ::-ms-input-placeholder{color:#a3a3a3}.bswp-email-modal .bswp-block-module ::placeholder{color:#a3a3a3}\n',""]),e.exports=t},645:e=>{"use strict";e.exports=function(e){var t=[];return t.toString=function(){return this.map((function(t){var a=function(e,t){var a,i,o,n=e[1]||"",s=e[3];if(!s)return n;if(t&&"function"==typeof btoa){var r=(a=s,i=btoa(unescape(encodeURIComponent(JSON.stringify(a)))),o="sourceMappingURL=data:application/json;charset=utf-8;base64,".concat(i),"/*# ".concat(o," */")),l=s.sources.map((function(e){return"/*# sourceURL=".concat(s.sourceRoot||"").concat(e," */")}));return[n].concat(l).concat([r]).join("\n")}return[n].join("\n")}(t,e);return t[2]?"@media ".concat(t[2]," {").concat(a,"}"):a})).join("")},t.i=function(e,a,i){"string"==typeof e&&(e=[[null,e,""]]);var o={};if(i)for(var n=0;n<this.length;n++){var s=this[n][0];null!=s&&(o[s]=!0)}for(var r=0;r<e.length;r++){var l=[].concat(e[r]);i&&o[l[0]]||(a&&(l[2]?l[2]="".concat(a," and ").concat(l[2]):l[2]=a),t.push(l))}},t}},806:(e,t,a)=>{var i=a(379),o=a(736);"string"==typeof(o=o.__esModule?o.default:o)&&(o=[[e.id,o,""]]);i(o,{insert:"head",singleton:!1}),e.exports=o.locals||{}},379:(e,t,a)=>{"use strict";var i,o=function(){var e={};return function(t){if(void 0===e[t]){var a=document.querySelector(t);if(window.HTMLIFrameElement&&a instanceof window.HTMLIFrameElement)try{a=a.contentDocument.head}catch(e){a=null}e[t]=a}return e[t]}}(),n=[];function s(e){for(var t=-1,a=0;a<n.length;a++)if(n[a].identifier===e){t=a;break}return t}function r(e,t){for(var a={},i=[],o=0;o<e.length;o++){var r=e[o],l=t.base?r[0]+t.base:r[0],p=a[l]||0,d="".concat(l," ").concat(p);a[l]=p+1;var m=s(d),b={css:r[1],media:r[2],sourceMap:r[3]};-1!==m?(n[m].references++,n[m].updater(b)):n.push({identifier:d,updater:w(b,t),references:1}),i.push(d)}return i}function l(e){var t=document.createElement("style"),i=e.attributes||{};if(void 0===i.nonce){var n=a.nc;n&&(i.nonce=n)}if(Object.keys(i).forEach((function(e){t.setAttribute(e,i[e])})),"function"==typeof e.insert)e.insert(t);else{var s=o(e.insert||"head");if(!s)throw new Error("Couldn't find a style target. This probably means that the value for the 'insert' parameter is invalid.");s.appendChild(t)}return t}var p,d=(p=[],function(e,t){return p[e]=t,p.filter(Boolean).join("\n")});function m(e,t,a,i){var o=a?"":i.media?"@media ".concat(i.media," {").concat(i.css,"}"):i.css;if(e.styleSheet)e.styleSheet.cssText=d(t,o);else{var n=document.createTextNode(o),s=e.childNodes;s[t]&&e.removeChild(s[t]),s.length?e.insertBefore(n,s[t]):e.appendChild(n)}}function b(e,t,a){var i=a.css,o=a.media,n=a.sourceMap;if(o?e.setAttribute("media",o):e.removeAttribute("media"),n&&"undefined"!=typeof btoa&&(i+="\n/*# sourceMappingURL=data:application/json;base64,".concat(btoa(unescape(encodeURIComponent(JSON.stringify(n))))," */")),e.styleSheet)e.styleSheet.cssText=i;else{for(;e.firstChild;)e.removeChild(e.firstChild);e.appendChild(document.createTextNode(i))}}var c=null,u=0;function w(e,t){var a,i,o;if(t.singleton){var n=u++;a=c||(c=l(t)),i=m.bind(null,a,n,!1),o=m.bind(null,a,n,!0)}else a=l(t),i=b.bind(null,a,t),o=function(){!function(e){if(null===e.parentNode)return!1;e.parentNode.removeChild(e)}(a)};return i(e),function(t){if(t){if(t.css===e.css&&t.media===e.media&&t.sourceMap===e.sourceMap)return;i(e=t)}else o()}}e.exports=function(e,t){(t=t||{}).singleton||"boolean"==typeof t.singleton||(t.singleton=(void 0===i&&(i=Boolean(window&&document&&document.all&&!window.atob)),i));var a=r(e=e||[],t);return function(e){if(e=e||[],"[object Array]"===Object.prototype.toString.call(e)){for(var i=0;i<a.length;i++){var o=s(a[i]);n[o].references--}for(var l=r(e,t),p=0;p<a.length;p++){var d=s(a[p]);0===n[d].references&&(n[d].updater(),n.splice(d,1))}a=l}}}}},t={};function a(i){var o=t[i];if(void 0!==o)return o.exports;var n=t[i]={id:i,exports:{}};return e[i](n,n.exports,a),n.exports}a.n=e=>{var t=e&&e.__esModule?()=>e.default:()=>e;return a.d(t,{a:t}),t},a.d=(e,t)=>{for(var i in t)a.o(t,i)&&!a.o(e,i)&&Object.defineProperty(e,i,{enumerable:!0,get:t[i]})},a.o=(e,t)=>Object.prototype.hasOwnProperty.call(e,t),a.nc=void 0,(()=>{"use strict";function e(t){return e="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(e){return typeof e}:function(e){return e&&"function"==typeof Symbol&&e.constructor===Symbol&&e!==Symbol.prototype?"symbol":typeof e},e(t)}function t(e,t){for(var a=0;a<t.length;a++){var i=t[a];i.enumerable=i.enumerable||!1,i.configurable=!0,"value"in i&&(i.writable=!0),Object.defineProperty(e,n(i.key),i)}}function i(e,a,i){return a&&t(e.prototype,a),i&&t(e,i),Object.defineProperty(e,"prototype",{writable:!1}),e}function o(e,t,a){return(t=n(t))in e?Object.defineProperty(e,t,{value:a,enumerable:!0,configurable:!0,writable:!0}):e[t]=a,e}function n(t){var a=function(t,a){if("object"!==e(t)||null===t)return t;var i=t[Symbol.toPrimitive];if(void 0!==i){var o=i.call(t,"string");if("object"!==e(o))return o;throw new TypeError("@@toPrimitive must return a primitive value.")}return String(t)}(t);return"symbol"===e(a)?a:String(a)}a(806);var s=jQuery,r=new(i((function e(){var t=this;!function(e,t){if(!(e instanceof t))throw new TypeError("Cannot call a class as a function")}(this,e),o(this,"init",(function(){s("body").on("click",".bswp__addon__status-indicator",t.toggleAddOn),s("body").on("click",".bswp__addon__settings-toggle",t.toggleSettings),s("body").on("click",".copyText",t.copyText),s("body").on("click","#bswp-limit-emails",t.toggleEmailsLimit),s(".bswp-style-view input").on("change",t.toggleViewStyle),s(".bswp-module-enable input").on("click",t.handleModuleEnable),s(".bswp-handle-module a").on("click",t.handleBlockModule),t.toggleReorderControls(),s(".bswp-shortcode-copy").on("click",t.copyShortcode),s(".bswp-social-networks-toggle").on("change",t.handleSocialShareToggle),s(".bswp-share-url input").on("change",t.handleReferalLinkToggle),s(".bswp-custom-message input").on("change",t.handleCustomMessageToggle),s(".bswp-email-preview input").on("change",t.handleEmailPreviewToggle),s(".bswp-text-update").on("input",t.moduleTextUpdateHandler),t.protectBswpCptsMetaboxes(),t.initEmailTemplateShadowDOM(),t.initUITemplateShadowDOM(),s("#bswp-email-template").on("change",t.getEmailTemplateData),s(".bswp-share-url input").on("change",t.updateEmailPreviewReferralLink),s("#bswp-custom-url-content").on("input",t.updateEmailPreviewReferralLink)})),o(this,"createShadowStyle",(function(e){var t=document.createElement("style");return t.textContent=e,t})),o(this,"createHtmlElement",(function(e){var t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:[],a=arguments.length>2&&void 0!==arguments[2]?arguments[2]:"",i=arguments.length>3&&void 0!==arguments[3]?arguments[3]:"",o=document.createElement(e);return a&&o.setAttribute("id",a),t.length&&t.forEach((function(e){o.classList.add(e)})),i&&(o.innerHTML=i),o})),o(this,"initEmailTemplateShadowDOM",(function(){var e=document.getElementById("bswp-email-preview-wrapper"),a=document.querySelectorAll(".bswp__email-preview-toggle"),i=document.getElementById("bswp-email-test-modal-trigger"),o=document.getElementById("bswp-close-test-email-modal"),n=document.querySelector("#bswp-email-modal button"),s=document.getElementById("email-subject");if(e){var r=e.attachShadow({mode:"open"}),l=t.createShadowStyle(".bswp-email-preview-label {\n    margin: 1rem 0 0.5rem 0;\n    text-decoration: underline;\n  }\n  .bswp-email-preview {\n    background-color: #f1f2f3;\n    padding: 1rem;\n  }");r.appendChild(l);var p=t.createHtmlElement("p",["bswp-email-preview-label"],null,"Email Subject:"),d=t.createHtmlElement("div",[],"bswp-email-subject-preview"),m=t.createHtmlElement("p",["bswp-email-preview-label"],null,"Email Message:"),b=t.createHtmlElement("div",[],"bswp-email-content-preview");r.appendChild(p),r.appendChild(d),r.appendChild(m),r.appendChild(b),a&&a.forEach((function(e){e.addEventListener("click",(function(e){return t.toggleEmailPreview(e,r)}))})),i&&i.addEventListener("click",(function(e){var t=document.getElementById("bswp-email-modal");t&&t.classList.remove("bswp-email-modal-hidden")})),o&&o.addEventListener("click",(function(e){e.preventDefault();var t=document.getElementById("bswp-email-modal");t&&(t.classList.add("bswp-email-modal-hidden"),i&&i.classList.remove("active"))})),n&&n.addEventListener("click",t.sendTestEmail),s&&s.addEventListener("input",(function(e){return t.updateEmalSubjectPreview(e,r)})),window.addEventListener("resize",t.handleEmailPreviewSize)}})),o(this,"initUITemplateShadowDOM",(function(){var e=document.querySelectorAll(".bswp-template-ui-email-preview");e.length&&e.forEach((function(e){var a=JSON.parse(e.dataset.emailPreview),i=e.attachShadow({mode:"open"}),o=t.createShadowStyle(".bswp-email-preview-label {\n    margin: 1rem 0 0.5rem 0;\n  }\n  .bswp-email-preview {\n    background-color: #f1f2f3;\n    padding: 1rem;\n  }");i.appendChild(o);var n=t.createHtmlElement("p",["bswp-email-preview-label"],null,"Email Subject Preview:"),s=t.createHtmlElement("div",["bswp-email-preview","bswp-email-preview-subject"],"",a.email_subject),r=t.createHtmlElement("p",["bswp-email-preview-label"],null,"Email Message Preview:"),l=t.createHtmlElement("div",["bswp-email-preview","bswp-email-preview-body"],"",a.email_body);i.appendChild(n),i.appendChild(s),i.appendChild(r),i.appendChild(l)}))})),o(this,"toggleAddOn",(function(e){e.preventDefault();var t=s(e.currentTarget),a=t.data("addon")?t.data("addon"):t.attr("data-addon"),i=(t.data("status")?t.data("status"):t.attr("data-status"),t.data("nonce")?t.data("nonce"):t.attr("data-nonce")),o=t.data("plugin");return!!a&&("plugin-unavailable"===o?(alert("Plugin is not installed & activated. Go to the Plugins page to activate the appropriate plugin"),!1):void(window.location.href="".concat(window.location.href,"&toggleAddOn=true&addOn=").concat(a,"&n=").concat(i)))})),o(this,"toggleSettings",(function(e){e.preventDefault();var t=s(e.currentTarget).data("addon");s("."+t+"-settings").toggleClass("active")})),o(this,"copyText",(function(e){e.preventDefault();var t=s(e.currentTarget),a=t.html(),i=t.data("text"),o=document.getElementById(i),n=s("#"+i);o.select(),o.setSelectionRange(0,99999),document.execCommand("copy"),t.html("Copied!"),n.css({background:"rgba(0,255,0,0.2)"}),setTimeout((function(){t.html(a),n.css({background:"#eee"})}),1e3)})),o(this,"toggleEmailsLimit",(function(e){e.target.checked?s("#bswp-limit-emails-num").removeClass("bswp__email-input-hidden"):(s("#bswp-limit-emails-num").addClass("bswp__email-input-hidden"),s("#bswp-limit-emails-num").val(""))})),o(this,"toggleViewStyle",(function(e){"bswp-full-view"===s(e.target).attr("id")&&(s(".wp-block-cgb-block-ea-better-sharing.full-view").removeClass("view-style-hidden"),s(".wp-block-cgb-block-ea-better-sharing.compact-view").addClass("view-style-hidden"),s(".tab").removeClass("compact-view")),"bswp-compact-view"===s(e.target).attr("id")&&(s(".wp-block-cgb-block-ea-better-sharing.compact-view").removeClass("view-style-hidden"),s(".wp-block-cgb-block-ea-better-sharing.full-view").addClass("view-style-hidden"),s(".tab").addClass("compact-view"))})),o(this,"handleModuleEnable",(function(e){var a,i=s(e.target).prop("checked"),o=s(e.target).data("module");a=s('[data-module="'+o+'"]').parents(".bswp-ui-template-module-container"),i?(a.removeClass("bswp-ui-template-module-hidden"),s(e.target).parents(".bswp-module-settings").next().removeClass("bswp-ui-template-module-hidden"),s("#"+o+"-enabled").val(1)):(a.addClass("bswp-ui-template-module-hidden"),s(e.target).parents(".bswp-module-settings").next().addClass("bswp-ui-template-module-hidden"),s("#"+o+"-enabled").val(0)),t.toggleReorderControls()})),o(this,"handleBlockModule",(function(e){e.preventDefault();var t,a,i,o,n,r=s(e.target),l=r.data("action"),p=r.parents(".bswp-ui-template-module-container").find(".bswp-sortable"),d=p.find(".bswp-ui-template-module").data("module"),m=r.parents(".bswp-ui-template-module-container").data("order");"up"!==l&&"down"!==l||("up"===l&&(t=r.parents(".bswp-ui-template-module-container").prevAll(".bswp-ui-template-module-container").not(".bswp-ui-template-module-hidden").first().data("order")),"down"===l&&(t=r.parents(".bswp-ui-template-module-container").nextAll(".bswp-ui-template-module-container").not(".bswp-ui-template-module-hidden").first().data("order")),i=(a=s('div[data-order="'+t+'"]').find(".bswp-sortable")).find(".bswp-ui-template-module").data("module"),o=p.html(),n=a.html(),p.html(n),a.html(o),s("#"+d+"-order").val(t),s("#"+i+"-order").val(m)),"customize"===l&&(s("#bswp-ui-template-module").prop("checked",!1),s("#"+d+"-module").prop("checked",!0))})),o(this,"toggleReorderControls",(function(){var e=s(".bswp-ui-template-module-container").not(".bswp-ui-template-module-hidden");if(1===e.length)return e.find('[data-action="up"').addClass("bswp-hidden-reorder-control"),void e.find('[data-action="down"').addClass("bswp-hidden-reorder-control");e.each((function(t){s(e[t]).find('[data-action="up"]').removeClass("bswp-hidden-reorder-control"),s(e[t]).find('[data-action="down"]').removeClass("bswp-hidden-reorder-control"),0===t?s(e[t]).find('[data-action="up"').addClass("bswp-hidden-reorder-control"):t===e.length-1&&s(e[t]).find('[data-action="down"').addClass("bswp-hidden-reorder-control")}))})),o(this,"copyShortcode",(function(e){e.preventDefault();var t=s(e.target),a=t.parents(".bswp__short-code-container").find("span").text().trim(),i=navigator.clipboard,o=t.text();i.writeText(a),t.text("Copied!"),setTimeout((function(){t.text(o)}),1e3)})),o(this,"moduleTextUpdateHandler",(function(e){var t,a=s(e.target).parents(".tab").data("tab"),i=s(e.target).data("update"),o=s(e.target).data("target");"bswp-ui-template"==a&&(a="bswp-referral-link"),t=s(".bswp-ui-template-module[data-module='"+a+"'] ."+o),"value"===i&&t.val(s(e.target).val()),"placeholder"===i&&t.attr("placeholder",s(e.target).val()),"text"===i&&t.text(s(e.target).val())})),o(this,"handleSocialShareToggle",(function(e){var t=s(e.target),a=t.prop("checked"),i=t.data("social-share");a?(s("."+i).removeClass("bswp-hidden-social-share-control"),"twitter"==i&&s("[data-social-share='twitter-msg']").parents(".bswp__form-group").removeClass("bswp-hidden-social-share-control")):(s("."+i).addClass("bswp-hidden-social-share-control"),"twitter"==i&&(s("[data-social-share='twitter-msg']").parents(".bswp__form-group").addClass("bswp-hidden-social-share-control"),s("[data-social-share='twitter-msg']").val("Check out this link!")))})),o(this,"handleReferalLinkToggle",(function(e){"bswp-post-url"===s(e.target).attr("id")&&(s("#bswp-custom-url-content").addClass("bswp-hidden-referral-link-control").val(""),s(".bswp-referral-link").val(""),s("#bswp-custom-url-content").val("")),"bswp-custom-url"===s(e.target).attr("id")&&s("#bswp-custom-url-content").removeClass("bswp-hidden-referral-link-control")})),o(this,"handleCustomMessageToggle",(function(e){"bswp-custom-message-off"===s(e.target).attr("id")&&(s("#bswp-custom-message-placeholder").parents(".bswp__form-group").addClass("bswp-hidden-custom-message-container").val(""),s(".bswp-email-custom-message").addClass("bswp-hidden-custom-message-container"),s(".bswp-email-message").attr("placeholder","Message"),s("#bswp-custom-message-placeholder").val("")),"bswp-custom-message-on"===s(e.target).attr("id")&&(s("#bswp-custom-message-placeholder").parents(".bswp__form-group").removeClass("bswp-hidden-custom-message-container"),s(".bswp-email-custom-message").removeClass("bswp-hidden-custom-message-container"))})),o(this,"handleEmailPreviewToggle",(function(e){"bswp-email-preview-off"===s(e.target).attr("id")&&s(".bswp-template-ui-email-preview").addClass("bswp-hidden-email-preview-container"),"bswp-email-preview-on"===s(e.target).attr("id")&&s(".bswp-template-ui-email-preview").removeClass("bswp-hidden-email-preview-container")})),o(this,"protectBswpCptsMetaboxes",(function(){s("#bswp_ui_template_settings .postbox-header").remove(),s("#bswp_ui_template_settings-hide").remove(),s("#bswp_template_variables-hide").parents("label").remove(),s("#bswp_template_variables-hide").remove(),s("#bswp_email_subject-hide").parents("label").remove(),s("#bswp_email_subject-hide").remove(),s("#bswp_reply_to-hide").parents("label").remove(),s("#bswp_reply_to-hide").remove()})),o(this,"toggleEmailPreview",(function(e,a){e.preventDefault(),e.stopPropagation();var i=document.querySelector(".bswp__email-preview-toggle .active"),o=e.target.dataset.toggle;if(i&&i.classList.remove("active"),e.target.classList.add("active"),"preview"===o){var n=document.getElementById("email-subject").value,s=t.parsePreviewContent(n);a.getElementById("bswp-email-subject-preview").innerHTML=s;var r=document.getElementById("content").value,l=t.parsePreviewContent(r);a.getElementById("bswp-email-content-preview").innerHTML=l,t.handleEmailPreviewSize();var p=document.getElementById("bswp-email-preview-wrapper");p&&p.classList.remove("bswp__hidden-email-template")}if("source"===o){var d=document.getElementById("bswp-email-preview-wrapper");d&&d.classList.add("bswp__hidden-email-template")}})),o(this,"updateEmalSubjectPreview",(function(e,a){var i=e.target.value,o=t.parsePreviewContent(i);a.getElementById("bswp-email-subject-preview").innerHTML=o})),o(this,"handleEmailPreviewSize",(function(){var e=s("#postdivrich").outerWidth(),t=s("#postdivrich").outerHeight()+s(".postbox.wp-heading-inline").outerHeight();s("#bswp-email-preview-wrapper").outerWidth(e).outerHeight(t)})),o(this,"parsePreviewContent",(function(e){var t=bswpApiSettings.templateVariables,a=t.greeting,i=t.sender_first_name,o=t.referral_link,n=t.sender_custom_message;return(e=(e=(e=e.replaceAll("{{ greeting }}",a)).replaceAll("{{ sender_first_name }}",i)).replaceAll("{{ referral_link }}",o)).replaceAll("{{ sender_custom_message }}",n)})),o(this,"sendTestEmail",(function(e){e.preventDefault();var a=s("#bswp-share-email-input").val().trim();if(a){var i=s("#content").val(),o={email:a,mailBody:t.parsePreviewContent(i)},n=new XMLHttpRequest;n.open("POST","".concat(bswpApiSettings.api_root,"bswp/v1/bswp_test_email"),!0),n.setRequestHeader("Content-Type","application/x-www-form-urlencoded; charset=UTF-8"),n.setRequestHeader("X-WP-Nonce",bswpApiSettings.nonce),n.onreadystatechange=function(){if(4===n.readyState){var a=JSON.parse(n.responseText);s(e.target).removeClass("bswp-sending-mail").text("Send").attr("disabled",!1),a.result?(s("#bswp-share-email-input").val(""),t.showStatusMessage(a.message,"success-msg")):t.showStatusMessage(a.message,"error-msg")}},n.send(JSON.stringify(o)),s(e.target).addClass("bswp-sending-mail").text("Sending ...").attr("disabled","disabled")}else t.showStatusMessage("Enter valid email address!","error-msg")})),o(this,"showStatusMessage",(function(e,t){s("#coreblock-email-sent-msg").text(e).addClass(t),setTimeout((function(){s("#coreblock-email-sent-msg").text("").removeClass(t)}),3e3)})),o(this,"getEmailTemplateData",(function(e){var t=e.target.value,a=t?"".concat(bswpApiSettings.api_root,"bswp/v1/bswp_email_template?id=").concat(t):"".concat(bswpApiSettings.api_root,"bswp/v1/bswp_email_template?id=");fetch(a,{method:"GET",headers:{"Content-Type":"application/json;charset=utf-8","X-WP-Nonce":"".concat(bswpApiSettings.nonce)}}).then((function(e){return e.json()})).then((function(e){var t=JSON.parse(e),a=t.email_subject,i=t.email_body,o=t.has_template_vars,n=document.querySelectorAll(".bswp-template-ui-email-preview"),s=document.querySelectorAll(".bswp-email-custom-message");n.forEach((function(e){e.shadowRoot.querySelector(".bswp-email-preview-subject").innerHTML=a,e.shadowRoot.querySelector(".bswp-email-preview-body").innerHTML=i})),o.includes("sender_custom_message")?s.forEach((function(e){e.classList.contains("bswp-hidden-custom-message-container")&&e.classList.remove("bswp-hidden-custom-message-container")})):s.forEach((function(e){e.classList.contains("bswp-hidden-custom-message-container")||e.classList.add("bswp-hidden-custom-message-container")}))})).catch((function(e){console.log("Fetch Error :-S",e)}))})),o(this,"updateEmailPreviewReferralLink",(function(e){var t="";"page_url"===e.target.value?t=bswpApiSettings.page_url:"custom_url"===e.target.value?t=s("#bswp-custom-url-content").val():"bswp-custom-url-content"===e.target.id&&(t=e.target.value),s(".bswp-email-preview-ref-link").text(t)}))})));s(document).ready((function(){r.init()}))})()})();
     1(()=>{var e={736:(e,t,a)=>{(t=a(645)(!1)).push([e.id,'.bswp *{-webkit-box-sizing:border-box;-moz-box-sizing:border-box;box-sizing:border-box}.bswp a:active,.bswp a:focus,.bswp li:focus,.bswp li:active{outline:none !important;border:none !important;text-decoration:none !important;box-shadow:none !important;-webkit-tap-highlight-color:transparent !important;-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none;user-select:none}.bswp__container .card{margin-top:0}@media (min-width: 600px){.bswp__container{padding-right:1rem}}.bswp__content{max-width:100%}.bswp__content h2{margin-bottom:1.8rem}.bswp__content h4{font-size:1rem}.bswp__content ul{padding-left:1rem}.bswp__content ul li{list-style-type:square;margin-left:1rem;font-size:0.9rem;padding-bottom:0.5rem}.bswp__content ol li{list-style-type:decimal;margin-left:1rem;font-size:0.9rem;padding-bottom:0.5rem}.bswp__content code{font-family:Consolas, "courier new";color:crimson;background-color:#f1f1f1;padding:2px;font-size:105%}.bswp__title{margin-bottom:2rem}.bswp__settings{max-width:54rem}.bswp__form-group{margin-bottom:1rem}@media (min-width: 600px){.bswp__form-group{display:flex;align-items:center}}.bswp__form-group__label{width:8rem;flex:0 1 8rem;margin-bottom:0.5rem;display:block}@media (min-width: 600px){.bswp__form-group__label{margin-bottom:0}}.bswp__form-group input[type="text"]{margin-bottom:0.5rem;width:100%}@media (min-width: 600px){.bswp__form-group input[type="text"]{flex:1 1 auto;width:auto;margin-bottom:0;margin-right:0}}.bswp__form-group .button{margin-bottom:0;margin-top:2rem;padding:0 1.5rem}.bswp__email-sending-group,.bswp__contact-picker-group{margin-top:4rem}.bswp__email-sending-group .checkbox-group input,.bswp__contact-picker-group .checkbox-group input{margin:0}.bswp__email-sending-group .checkbox-label,.bswp__contact-picker-group .checkbox-label{margin-left:0.5rem}.bswp__email-sending-group h4,.bswp__contact-picker-group h4{font-weight:bold;margin-left:0rem;flex:0 0 150px;margin-top:0}@media (min-width: 600px){.bswp__email-sending-group h4,.bswp__contact-picker-group h4{margin-left:1rem}}.bswp__email-sending-group div.email-sending-input,.bswp__contact-picker-group div.email-sending-input{margin-left:0rem;display:flex;flex-direction:column}@media (min-width: 600px){.bswp__email-sending-group div.email-sending-input,.bswp__contact-picker-group div.email-sending-input{margin-left:2rem}}.bswp__email-sending-group div.email-sending-input .limit-emails,.bswp__contact-picker-group div.email-sending-input .limit-emails{display:flex;margin-top:0.6rem}.bswp__email-sending-group div.email-sending-input .limit-emails input,.bswp__contact-picker-group div.email-sending-input .limit-emails input{width:6rem}.bswp__email-sending-group div.email-sending-input .limit-emails label,.bswp__contact-picker-group div.email-sending-input .limit-emails label{margin-left:1rem;display:flex;align-items:center}.bswp__website-name,.bswp__spam-detection,.bswp__cs-settings{display:flex;flex-grow:1;width:100%;flex-direction:column;margin-left:0rem}@media (min-width: 600px){.bswp__website-name,.bswp__spam-detection,.bswp__cs-settings{margin-left:2rem}}.bswp__website-name input[type="text"],.bswp__website-name textarea,.bswp__spam-detection input[type="text"],.bswp__spam-detection textarea,.bswp__cs-settings input[type="text"],.bswp__cs-settings textarea{margin-top:0.6rem;max-width:54rem}.bswp__website-name textarea,.bswp__spam-detection textarea,.bswp__cs-settings textarea{padding:8px 8px 0 8px;line-height:1;height:30px}.bswp__website-name p,.bswp__spam-detection p,.bswp__cs-settings p{font-style:italic;margin:0;margin-top:0.6rem}.bswp__website-name .bswp_cloudsponge_title,.bswp__spam-detection .bswp_cloudsponge_title,.bswp__cs-settings .bswp_cloudsponge_title{display:flex}.bswp__website-name .bswp_cloudsponge_title span,.bswp__spam-detection .bswp_cloudsponge_title span,.bswp__cs-settings .bswp_cloudsponge_title span{margin-left:1rem !important}.bswp__website-name .api-key,.bswp__website-name .proxy-url,.bswp__spam-detection .api-key,.bswp__spam-detection .proxy-url,.bswp__cs-settings .api-key,.bswp__cs-settings .proxy-url{margin-top:1.2rem;display:flex;flex-direction:column}.bswp__website-name p{max-width:54rem}.bswp__spam-detection p{margin-top:1.2rem;font-style:normal}.bswp__spam-detection .inner-checkbox-group{margin-top:1.2rem}.bswp__cs-settings p{font-style:normal}.bswp__input-group{flex:1 1 auto;display:flex;flex-direction:column}@media (min-width: 600px){.bswp__input-group{flex-direction:row;align-items:center;margin-left:1rem}}.bswp__copy-input{position:relative;flex:1;max-width:54rem;margin-top:0.6rem}.bswp__copy-input>a{position:absolute;padding:0 0.5rem;height:100%;display:flex;align-items:center;justify-content:center;right:0;top:0;text-decoration:none}.bswp__copy-input>input[type="text"]{width:100%;margin:0;padding-right:4.5rem}.bswp__plugin-settings-form input[type="submit"]{margin-left:1rem}.bswp__addons{position:relative}@media (min-width: 600px){.bswp__addons{display:flex;flex-wrap:wrap;justify-content:flex-start;margin:0 -0.5rem}}.bswp__addon{min-width:21rem;padding:1.2rem;padding-bottom:45px;position:relative;margin-bottom:1rem}@media (min-width: 600px){.bswp__addon{flex:0 1 calc(20% - 2rem);margin-left:0.5rem;margin-right:0.5rem}}.bswp__addon__header{text-align:center;margin-bottom:1rem}.bswp__addon__title{margin:0}.bswp__addon__description{margin-bottom:3rem}.bswp__addon__description a{display:inline-block}.bswp__addon__btns{display:flex;flex-direction:row;justify-content:center;margin:10px auto 20px auto}.bswp__addon__btns .button{display:inline-block;flex:1;flex-grow:1;max-width:50%;margin:0 5px;padding:5px 20px;text-align:center}.bswp__addon__link>strong{margin-bottom:0.315rem}@media (min-width: 600px){.bswp__addon__link>strong{margin-right:0.315rem;margin-bottom:0}}.bswp__addon__link>a{display:block}.bswp__addon__link>a>span{white-space:nowrap;overflow:hidden;text-overflow:ellipsis;text-decoration:none;font-size:100%}.bswp__addon__toggle{bottom:0px;padding:1.2rem;display:flex;flex-direction:row;justify-content:center;left:0;position:absolute;width:100%;background-color:#fafafa;border-top:1px solid #ddd}.bswp__addon__toggle .disclaimer{text-align:center}.bswp__addon__status{display:flex;align-items:center}.bswp__addon__status-label{margin-left:0.5rem}.bswp__addon__status-indicator{cursor:pointer;position:relative;display:inline-flex;width:3rem;height:1.5rem;border-radius:3rem;background:#999}.bswp__addon__status-indicator::before{content:"";width:calc(1.5rem - 4px);height:calc(1.5rem - 4px);background:#fff;border-radius:50%;position:absolute;left:2px;top:2px;box-shadow:0 3px 8px rgba(0,0,0,0.2)}.bswp__addon__status-indicator.active{background:#5ab750;cursor:pointer}.bswp__addon__status-indicator.active::before{left:auto;right:2px;box-shadow:0 3px 8px rgba(95,204,98,0.8)}.bswp__addon.plugin-unavailable .bswp__addon__status-indicator{cursor:not-allowed}.bswp__addon__config{margin-left:auto}.bswp__addon__settings{display:none}.bswp__addon__settings h4{margin-bottom:0;font-size:1rem}.bswp__addon__settings.active{display:block}.bswp__addon__settings-group{margin-bottom:1.5rem}.bswp__checkbox label{margin-right:1rem}.bswp__text input{display:block;width:100%}.bswp__textarea textarea{display:block;width:100%}.bswp__email-subject{position:relative;flex:1}.bswp__email-subject>input[type="text"]{width:100%;margin:0}.bswp__copy-variable{text-decoration:none;position:relative}.bswp__copy-variable>span{display:inline-block;width:20px}.bswp__copy-variable span:nth-of-type(2){position:absolute;top:-22px;left:5px;color:#000;font-size:10px;display:none}.bswp__variable-info{text-decoration:none;color:#1f2120;position:relative;display:inline-block}.bswp__variable-info .tooltiptext{visibility:hidden;min-width:100px;background-color:#555;color:#fff;text-align:center;border-radius:6px;padding:5px;position:absolute;z-index:1;bottom:120%;left:-40px;opacity:0;transition:opacity 0.3s;font-size:10px;font-weight:normal}.bswp__variable-info .tooltiptext::after{content:"";position:absolute;top:100%;left:50%;margin-left:-5px;border-width:5px;border-style:solid;border-color:#555 transparent transparent transparent}.bswp__variable-info:hover .tooltiptext{visibility:visible;opacity:1}.bswp__spacer{margin:1rem 0}.bswp__email-input-hidden{display:none !important}.bswp__short-code-container{display:flex;flex-wrap:wrap;font-size:0.9rem;border:1px solid #9b9999;line-height:2.3rem;padding-left:1rem;border-radius:0.2rem;font-weight:bold}.bswp__short-code-container a{position:absolute;right:1.4rem;text-decoration:none;display:flex}.bswp__ui-template-tabs{display:flex;flex-wrap:wrap;margin-top:2.5rem}.bswp__ui-template-tabs .tab .compact-view-container{display:none}.bswp__ui-template-tabs .tab.compact-view .compact-view-container{display:flex;flex-direction:column}.bswp__ui-template-tabs .tab.compact-view .compact-view-container span{font-size:1rem;margin-top:2rem}.bswp__ui-template-tabs .tab.compact-view ul li a{border-radius:50%}.bswp__ui-template-tabs .tab.compact-view ul li a svg{margin-right:0}.bswp__ui-template-tabs .tab.compact-view .referral-link{border:none;padding-right:.5rem;padding-left:.5rem;padding-bottom:0}.bswp__ui-template-tabs .tab.compact-view .referral-link .flex{flex-direction:column}.bswp__ui-template-tabs .tab.compact-view .referral-link a{border-radius:50%}.bswp__ui-template-tabs .tab.compact-view .referral-link a svg{margin:3px}.bswp__ui-template-tabs .tab.compact-view .referral-link span{width:100%;text-align:center}.bswp__ui-template-tabs .tab.compact-view .referral-link span input{background:none;border:none;text-align:center;width:100%;box-shadow:none}.bswp__ui-template-tabs .tab.compact-view .bswp-ui-template-module.social-links{border:none;padding:0}.bswp__ui-template-tabs .tab.compact-view .bswp-ui-template-module.social-links .bswp-sub-title,.bswp__ui-template-tabs .tab.compact-view .bswp-ui-template-module.social-links .bswp-title{display:none}.bswp__ui-template-tabs .tab.compact-view .bswp-ui-template-module.full-view-container.referral-link{display:none}.bswp__ui-template-tabs .tab.compact-view .bswp__form-group.bswp-title,.bswp__ui-template-tabs .tab.compact-view .bswp__form-group.bswp-subtitle{display:none}.bswp__ui-template-tabs .tab.compact-view .social-net-name{display:none}.bswp__ui-template-tabs .tab.compact-view .bswp-main-preview-container .email{display:none}.bswp__ui-template-tabs .tab.compact-view .bswp-main-preview-container .email-trigger-container{padding-left:.5rem}.bswp__ui-template-tabs .tab.compact-view .bswp-main-preview-container .items-center{align-items:flex-start}.bswp__ui-template-tabs .tab.compact-view .email-trigger-container a{border-radius:50%}.bswp__ui-template-tabs .tab.compact-view .email-trigger-container a svg{margin:5px 1px}.bswp__ui-template-tabs .tab.compact-view .link-copy-container a{border-radius:50%}.bswp__ui-template-tabs .tab.compact-view .link-copy-container a svg{margin:2px}.bswp__ui-template-tabs label.bswp-tab-label{border-bottom:1px solid #9b9999}.bswp__ui-template-tabs label.bswp-tab-label span:first-of-type{order:1;display:inline-block;padding:0.4rem 1rem;cursor:pointer;background:#d7d8da;font-weight:bold;font-size:0.9rem;transition:background ease 0.2s;border-radius:0.2rem 0.2rem 0 0;position:relative;top:0.8px;border:1px solid #9b9999}.bswp__ui-template-tabs label.bswp-tab-label span:nth-of-type(2){display:inline-block;width:8px;height:10px;position:relative;top:12px}.bswp__ui-template-tabs label.bswp-tab-label:last-of-type{width:100%;flex:1}.bswp__ui-template-tabs .tab{order:99;flex-grow:1;width:100%;display:none;padding:1rem 2.5rem 4rem 2.5rem;border:1px solid #9b9999;border-top:1px solid transparent}.bswp__ui-template-tabs .tab .bswp-module-settings{margin-top:2.5rem}.bswp__ui-template-tabs .tab .bswp-module-settings .switch{position:relative;display:inline-block;width:36px;height:18px}.bswp__ui-template-tabs .tab .bswp-module-settings .switch input{opacity:0;width:0;height:0}.bswp__ui-template-tabs .tab .bswp-module-settings .slider{position:absolute;cursor:pointer;top:0;left:0;right:0;bottom:0;background-color:#ccc;-webkit-transition:0.4s;transition:0.4s}.bswp__ui-template-tabs .tab .bswp-module-settings .slider:before{position:absolute;content:"";height:12px;width:12px;left:2px;bottom:3px;background-color:white;-webkit-transition:0.4s;transition:0.4s}.bswp__ui-template-tabs .tab .bswp-module-settings input:checked+.slider{background-color:#2196f3}.bswp__ui-template-tabs .tab .bswp-module-settings input:focus+.slider{box-shadow:0 0 1px #2196f3}.bswp__ui-template-tabs .tab .bswp-module-settings input:checked+.slider:before{-webkit-transform:translateX(18px);-ms-transform:translateX(18px);transform:translateX(18px)}.bswp__ui-template-tabs .tab .bswp-module-settings .slider.round{border-radius:34px}.bswp__ui-template-tabs .tab .bswp-module-settings .slider.round:before{border-radius:50%}.bswp__ui-template-tabs .tab .bswp-module-settings .bswp-toggle-label{margin-left:0.8rem;font-weight:500}.bswp__ui-template-tabs .tab .bswp-module-settings .bswp__form-group:nth-of-type(2){margin-top:2.5rem}.bswp__ui-template-tabs .tab .bswp-module-settings .bswp__form-group{flex-wrap:wrap}.bswp__ui-template-tabs .tab .bswp-module-settings .bswp__form-group .break{flex-basis:100%;height:0}.bswp__ui-template-tabs .tab .bswp-module-settings .bswp__form-group label{font-weight:bold}.bswp__ui-template-tabs .tab .bswp-module-settings .bswp__form-group .bswp__input-group{margin-left:0;margin-top:0.5rem}.bswp__ui-template-tabs .tab .bswp-module-settings .bswp__form-group .bswp-page-url,.bswp__ui-template-tabs .tab .bswp-module-settings .bswp__form-group .bswp-compact-view{margin-right:1rem}.bswp__ui-template-tabs .tab .bswp-module-settings .bswp__form-group h4{margin:0.5rem 1.4rem 0 0}.bswp__ui-template-tabs .tab .bswp-module-settings .bswp__form-group .custom-message-toggle,.bswp__ui-template-tabs .tab .bswp-module-settings .bswp__form-group .email-preview-toggle{margin:0.5rem 1rem 0 0;font-weight:normal}.bswp__ui-template-tabs .tab .bswp-module-settings .bswp__form-group .custom-message-toggle span,.bswp__ui-template-tabs .tab .bswp-module-settings .bswp__form-group .email-preview-toggle span{margin-left:-0.2rem}.bswp__ui-template-tabs .tab .bswp-module-settings .bswp__form-group select{flex:1 1 auto;width:auto}.bswp__ui-template-tabs .tab .bswp-module-settings .bswp__form-group textarea{flex:1 1 auto;width:auto;height:12rem}.bswp__ui-template-tabs .tab .bswp-module-settings .bswp__form-group .cloud-sponge-config{margin-top:3rem}.bswp__ui-template-tabs .tab .bswp-module-settings .bswp__form-group .cloud-sponge-config a{margin-left:1rem}.bswp__ui-template-tabs .tab .bswp-module-settings .bswp-social-networks-toggle{margin-top:2.5rem}.bswp__ui-template-tabs .tab .wp-block-cgb-block-ea-better-sharing{width:60%;margin:2.5rem auto 0}.bswp__ui-template-tabs .tab .wp-block-cgb-block-ea-better-sharing h3{margin-right:-20%}.bswp__ui-template-tabs .tab .wp-block-cgb-block-ea-better-sharing .bswp-email-custom-message textarea{border:1px solid #646970}.bswp__ui-template-tabs .tab .bswp-main-preview-container{margin-top:2rem}.bswp__ui-template-tabs .tab .bswp-main-preview-container .wp-block-cgb-block-ea-better-sharing{margin-top:0;padding-top:0}.bswp__ui-template-tabs .tab .bswp-ui-template-module-hidden,.bswp__ui-template-tabs .tab .bswp-hidden-reorder-control,.bswp__ui-template-tabs .tab .bswp-hidden-social-share-control,.bswp__ui-template-tabs .tab .bswp-hidden-referral-link-control,.bswp__ui-template-tabs .tab .bswp-hidden-custom-message-container,.bswp__ui-template-tabs .tab .bswp-hidden-email-preview-container,.bswp__ui-template-tabs .tab .view-style-hidden{display:none}.bswp__ui-template-tabs .tab .bswp-block-module-container{padding-bottom:2rem}.bswp__ui-template-tabs .tab .bswp-handle-module{padding:0 0.1rem 0.5rem 0.1rem}.bswp__ui-template-tabs .tab .bswp-handle-module a{margin-right:0.4rem}.bswp__ui-template-tabs .tab .bswp-handle-module .bswp-reorder{float:right}.bswp__ui-template-tabs .tab .bswp-ui-template-module{border:1px solid #000;padding:0 1.5rem 1rem 1.5rem}.bswp__ui-template-tabs .tab .bswp-ui-template-module h4{font-size:1.2rem;margin-top:0.6rem;margin-bottom:0}.bswp__ui-template-tabs .tab .bswp-ui-template-module .bswp-sub-title{font-size:1rem;line-height:1rem;margin:0.4rem 0 1.3rem 0;padding:0}.bswp__ui-template-tabs input[type="radio"].tab-label{display:none}.bswp__ui-template-tabs input[type="radio"].tab-label:checked+label span:first-of-type{background:#fff;border-bottom:1px solid transparent}.bswp__ui-template-tabs input[type="radio"].tab-label:checked+label+.tab{display:block}.bswp__email-preview-toggle{margin-top:10px;margin-bottom:-10px}.bswp__hidden-email-template{z-index:-1 !important}.bswp__email-preview-wrapper{margin-top:20px;background-color:#ffffff;z-index:100;position:absolute;padding:4px 12px 12px;height:20px}.bswp__email-preview-area{min-height:380px;width:100%}.column-bswp_email_template_id{width:10%}#bswp_iu_template_settings{border:none;background-color:#f0f0f1}#bswp_iu_template_settings .inside{padding:0}.text-center{text-align:center}.items-center{display:flex;align-items:center;justify-content:center}.bswp-email-modal{position:fixed;top:2px;left:2px;z-index:1000;width:100%;height:100%;background:rgba(0,0,0,0.188);text-align:center}.bswp-email-modal.bswp-email-modal-hidden{display:none}.bswp-email-modal .bswp-block-module{display:inline-block;margin:30vh auto;background:#fff;border:1px solid #ccc;border-radius:2px;padding:40px 20px 0 20px;position:relative}.bswp-email-modal .bswp-block-module p{margin:4px 0 0;height:20px;line-height:13px}.bswp-email-modal .bswp-block-module p.error-msg{color:#f9040d}.bswp-email-modal .bswp-block-module p.success-msg{color:#02691e}.bswp-email-modal .bswp-block-module span{position:absolute;top:0;right:0}.bswp-email-modal .bswp-block-module span svg{margin:0;padding:0}.bswp-email-modal .bswp-block-module button{align-self:flex-start}.bswp-email-modal .bswp-block-module .bswp-sending-mail{background-color:#1976d2 !important;color:#fff !important}.bswp-email-modal .bswp-block-module ::-webkit-input-placeholder{color:#a3a3a3}.bswp-email-modal .bswp-block-module :-moz-placeholder{color:#a3a3a3;opacity:1}.bswp-email-modal .bswp-block-module ::-moz-placeholder{color:#a3a3a3;opacity:1}.bswp-email-modal .bswp-block-module :-ms-input-placeholder{color:#a3a3a3}.bswp-email-modal .bswp-block-module ::-ms-input-placeholder{color:#a3a3a3}.bswp-email-modal .bswp-block-module ::placeholder{color:#a3a3a3}.flex-start{align-items:flex-start !important}\n',""]),e.exports=t},645:e=>{"use strict";e.exports=function(e){var t=[];return t.toString=function(){return this.map((function(t){var a=function(e,t){var a,i,n,o=e[1]||"",s=e[3];if(!s)return o;if(t&&"function"==typeof btoa){var r=(a=s,i=btoa(unescape(encodeURIComponent(JSON.stringify(a)))),n="sourceMappingURL=data:application/json;charset=utf-8;base64,".concat(i),"/*# ".concat(n," */")),p=s.sources.map((function(e){return"/*# sourceURL=".concat(s.sourceRoot||"").concat(e," */")}));return[o].concat(p).concat([r]).join("\n")}return[o].join("\n")}(t,e);return t[2]?"@media ".concat(t[2]," {").concat(a,"}"):a})).join("")},t.i=function(e,a,i){"string"==typeof e&&(e=[[null,e,""]]);var n={};if(i)for(var o=0;o<this.length;o++){var s=this[o][0];null!=s&&(n[s]=!0)}for(var r=0;r<e.length;r++){var p=[].concat(e[r]);i&&n[p[0]]||(a&&(p[2]?p[2]="".concat(a," and ").concat(p[2]):p[2]=a),t.push(p))}},t}},806:(e,t,a)=>{var i=a(379),n=a(736);"string"==typeof(n=n.__esModule?n.default:n)&&(n=[[e.id,n,""]]);i(n,{insert:"head",singleton:!1}),e.exports=n.locals||{}},379:(e,t,a)=>{"use strict";var i,n=function(){var e={};return function(t){if(void 0===e[t]){var a=document.querySelector(t);if(window.HTMLIFrameElement&&a instanceof window.HTMLIFrameElement)try{a=a.contentDocument.head}catch(e){a=null}e[t]=a}return e[t]}}(),o=[];function s(e){for(var t=-1,a=0;a<o.length;a++)if(o[a].identifier===e){t=a;break}return t}function r(e,t){for(var a={},i=[],n=0;n<e.length;n++){var r=e[n],p=t.base?r[0]+t.base:r[0],l=a[p]||0,d="".concat(p," ").concat(l);a[p]=l+1;var m=s(d),b={css:r[1],media:r[2],sourceMap:r[3]};-1!==m?(o[m].references++,o[m].updater(b)):o.push({identifier:d,updater:w(b,t),references:1}),i.push(d)}return i}function p(e){var t=document.createElement("style"),i=e.attributes||{};if(void 0===i.nonce){var o=a.nc;o&&(i.nonce=o)}if(Object.keys(i).forEach((function(e){t.setAttribute(e,i[e])})),"function"==typeof e.insert)e.insert(t);else{var s=n(e.insert||"head");if(!s)throw new Error("Couldn't find a style target. This probably means that the value for the 'insert' parameter is invalid.");s.appendChild(t)}return t}var l,d=(l=[],function(e,t){return l[e]=t,l.filter(Boolean).join("\n")});function m(e,t,a,i){var n=a?"":i.media?"@media ".concat(i.media," {").concat(i.css,"}"):i.css;if(e.styleSheet)e.styleSheet.cssText=d(t,n);else{var o=document.createTextNode(n),s=e.childNodes;s[t]&&e.removeChild(s[t]),s.length?e.insertBefore(o,s[t]):e.appendChild(o)}}function b(e,t,a){var i=a.css,n=a.media,o=a.sourceMap;if(n?e.setAttribute("media",n):e.removeAttribute("media"),o&&"undefined"!=typeof btoa&&(i+="\n/*# sourceMappingURL=data:application/json;base64,".concat(btoa(unescape(encodeURIComponent(JSON.stringify(o))))," */")),e.styleSheet)e.styleSheet.cssText=i;else{for(;e.firstChild;)e.removeChild(e.firstChild);e.appendChild(document.createTextNode(i))}}var c=null,u=0;function w(e,t){var a,i,n;if(t.singleton){var o=u++;a=c||(c=p(t)),i=m.bind(null,a,o,!1),n=m.bind(null,a,o,!0)}else a=p(t),i=b.bind(null,a,t),n=function(){!function(e){if(null===e.parentNode)return!1;e.parentNode.removeChild(e)}(a)};return i(e),function(t){if(t){if(t.css===e.css&&t.media===e.media&&t.sourceMap===e.sourceMap)return;i(e=t)}else n()}}e.exports=function(e,t){(t=t||{}).singleton||"boolean"==typeof t.singleton||(t.singleton=(void 0===i&&(i=Boolean(window&&document&&document.all&&!window.atob)),i));var a=r(e=e||[],t);return function(e){if(e=e||[],"[object Array]"===Object.prototype.toString.call(e)){for(var i=0;i<a.length;i++){var n=s(a[i]);o[n].references--}for(var p=r(e,t),l=0;l<a.length;l++){var d=s(a[l]);0===o[d].references&&(o[d].updater(),o.splice(d,1))}a=p}}}}},t={};function a(i){var n=t[i];if(void 0!==n)return n.exports;var o=t[i]={id:i,exports:{}};return e[i](o,o.exports,a),o.exports}a.n=e=>{var t=e&&e.__esModule?()=>e.default:()=>e;return a.d(t,{a:t}),t},a.d=(e,t)=>{for(var i in t)a.o(t,i)&&!a.o(e,i)&&Object.defineProperty(e,i,{enumerable:!0,get:t[i]})},a.o=(e,t)=>Object.prototype.hasOwnProperty.call(e,t),a.nc=void 0,(()=>{"use strict";function e(t){return e="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(e){return typeof e}:function(e){return e&&"function"==typeof Symbol&&e.constructor===Symbol&&e!==Symbol.prototype?"symbol":typeof e},e(t)}function t(e,t){for(var a=0;a<t.length;a++){var i=t[a];i.enumerable=i.enumerable||!1,i.configurable=!0,"value"in i&&(i.writable=!0),Object.defineProperty(e,o(i.key),i)}}function i(e,a,i){return a&&t(e.prototype,a),i&&t(e,i),Object.defineProperty(e,"prototype",{writable:!1}),e}function n(e,t,a){return(t=o(t))in e?Object.defineProperty(e,t,{value:a,enumerable:!0,configurable:!0,writable:!0}):e[t]=a,e}function o(t){var a=function(t,a){if("object"!==e(t)||null===t)return t;var i=t[Symbol.toPrimitive];if(void 0!==i){var n=i.call(t,"string");if("object"!==e(n))return n;throw new TypeError("@@toPrimitive must return a primitive value.")}return String(t)}(t);return"symbol"===e(a)?a:String(a)}a(806);var s=jQuery,r=new(i((function e(){var t=this;!function(e,t){if(!(e instanceof t))throw new TypeError("Cannot call a class as a function")}(this,e),n(this,"init",(function(){s("body").on("click",".bswp__addon__status-indicator",t.toggleAddOn),s("body").on("click",".bswp__addon__settings-toggle",t.toggleSettings),s("body").on("click",".copyText",t.copyText),s("body").on("click","#bswp-limit-emails",t.toggleEmailsLimit),s("body").on("click","#bswp-spam-detection",t.toogleSpamDetection),s(".bswp-style-view input").on("change",t.toggleViewStyle),s(".bswp-module-enable input").on("click",t.handleModuleEnable),s(".bswp-handle-module a").on("click",t.handleBlockModule),t.toggleReorderControls(),s(".bswp-shortcode-copy").on("click",t.copyShortcode),s(".bswp-social-networks-toggle").on("change",t.handleSocialShareToggle),s(".bswp-share-url input").on("change",t.handleReferalLinkToggle),s(".bswp-custom-message input").on("change",t.handleCustomMessageToggle),s(".bswp-email-preview input").on("change",t.handleEmailPreviewToggle),s(".bswp-text-update").on("input",t.moduleTextUpdateHandler),t.protectBswpCptsMetaboxes(),t.initEmailTemplateShadowDOM(),t.initUITemplateShadowDOM(),s("#bswp-email-template").on("change",t.getEmailTemplateData),s(".bswp-share-url input").on("change",t.updateEmailPreviewReferralLink),s("#bswp-custom-url-content").on("input",t.updateEmailPreviewReferralLink)})),n(this,"createShadowStyle",(function(e){var t=document.createElement("style");return t.textContent=e,t})),n(this,"createHtmlElement",(function(e){var t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:[],a=arguments.length>2&&void 0!==arguments[2]?arguments[2]:"",i=arguments.length>3&&void 0!==arguments[3]?arguments[3]:"",n=document.createElement(e);return a&&n.setAttribute("id",a),t.length&&t.forEach((function(e){n.classList.add(e)})),i&&(n.innerHTML=i),n})),n(this,"initEmailTemplateShadowDOM",(function(){var e=document.getElementById("bswp-email-preview-wrapper"),a=document.querySelectorAll(".bswp__email-preview-toggle"),i=document.getElementById("bswp-email-test-modal-trigger"),n=document.getElementById("bswp-close-test-email-modal"),o=document.querySelector("#bswp-email-modal button"),s=document.getElementById("email-subject");if(e){var r=e.attachShadow({mode:"open"}),p=t.createShadowStyle(".bswp-email-preview-label {\n    margin: 1rem 0 0.5rem 0;\n    text-decoration: underline;\n  }\n  .bswp-email-preview {\n    background-color: #f1f2f3;\n    padding: 1rem;\n  }");r.appendChild(p);var l=t.createHtmlElement("p",["bswp-email-preview-label"],null,"Email Subject:"),d=t.createHtmlElement("div",[],"bswp-email-subject-preview"),m=t.createHtmlElement("p",["bswp-email-preview-label"],null,"Email Message:"),b=t.createHtmlElement("div",[],"bswp-email-content-preview");r.appendChild(l),r.appendChild(d),r.appendChild(m),r.appendChild(b),a&&a.forEach((function(e){e.addEventListener("click",(function(e){return t.toggleEmailPreview(e,r)}))})),i&&i.addEventListener("click",(function(e){var t=document.getElementById("bswp-email-modal");t&&t.classList.remove("bswp-email-modal-hidden")})),n&&n.addEventListener("click",(function(e){e.preventDefault();var t=document.getElementById("bswp-email-modal");t&&(t.classList.add("bswp-email-modal-hidden"),i&&i.classList.remove("active"))})),o&&o.addEventListener("click",t.sendTestEmail),s&&s.addEventListener("input",(function(e){return t.updateEmalSubjectPreview(e,r)})),window.addEventListener("resize",t.handleEmailPreviewSize)}})),n(this,"initUITemplateShadowDOM",(function(){var e=document.querySelectorAll(".bswp-template-ui-email-preview");e.length&&e.forEach((function(e){var a=JSON.parse(e.dataset.emailPreview),i=e.attachShadow({mode:"open"}),n=t.createShadowStyle(".bswp-email-preview-label {\n    margin: 1rem 0 0.5rem 0;\n  }\n  .bswp-email-preview {\n    background-color: #f1f2f3;\n    padding: 1rem;\n  }");i.appendChild(n);var o=t.createHtmlElement("p",["bswp-email-preview-label"],null,"Email Subject Preview:"),s=t.createHtmlElement("div",["bswp-email-preview","bswp-email-preview-subject"],"",a.email_subject),r=t.createHtmlElement("p",["bswp-email-preview-label"],null,"Email Message Preview:"),p=t.createHtmlElement("div",["bswp-email-preview","bswp-email-preview-body"],"",a.email_body);i.appendChild(o),i.appendChild(s),i.appendChild(r),i.appendChild(p)}))})),n(this,"toggleAddOn",(function(e){e.preventDefault();var t=s(e.currentTarget),a=t.data("addon")?t.data("addon"):t.attr("data-addon"),i=(t.data("status")?t.data("status"):t.attr("data-status"),t.data("nonce")?t.data("nonce"):t.attr("data-nonce")),n=t.data("plugin");return!!a&&("plugin-unavailable"===n?(alert("Plugin is not installed & activated. Go to the Plugins page to activate the appropriate plugin"),!1):void(window.location.href="".concat(window.location.href,"&toggleAddOn=true&addOn=").concat(a,"&n=").concat(i)))})),n(this,"toggleSettings",(function(e){e.preventDefault();var t=s(e.currentTarget).data("addon");s("."+t+"-settings").toggleClass("active")})),n(this,"copyText",(function(e){e.preventDefault();var t=s(e.currentTarget),a=t.html(),i=t.data("text"),n=document.getElementById(i),o=s("#"+i);n.select(),n.setSelectionRange(0,99999),document.execCommand("copy"),t.html("Copied!"),o.css({background:"rgba(0,255,0,0.2)"}),setTimeout((function(){t.html(a),o.css({background:"#eee"})}),1e3)})),n(this,"toggleEmailsLimit",(function(e){e.target.checked?s("#bswp-limit-emails-num").prop("readonly",!1):s("#bswp-limit-emails-num").prop("readonly",!0)})),n(this,"toogleSpamDetection",(function(e){e.target.checked?(s("#bswp_spam_regex").prop("readonly",!1),s("#bswp-spam-err-msg").prop("disabled",!1),s("#bswp-spam-err-msg").prop("checked",!0)):(s("#bswp_spam_regex").prop("readonly",!0),s("#bswp-spam-err-msg").prop("disabled",!0))})),n(this,"toggleViewStyle",(function(e){"bswp-full-view"===s(e.target).attr("id")&&(s(".wp-block-cgb-block-ea-better-sharing.full-view").removeClass("view-style-hidden"),s(".wp-block-cgb-block-ea-better-sharing.compact-view").addClass("view-style-hidden"),s(".tab").removeClass("compact-view")),"bswp-compact-view"===s(e.target).attr("id")&&(s(".wp-block-cgb-block-ea-better-sharing.compact-view").removeClass("view-style-hidden"),s(".wp-block-cgb-block-ea-better-sharing.full-view").addClass("view-style-hidden"),s(".tab").addClass("compact-view"))})),n(this,"handleModuleEnable",(function(e){var a,i=s(e.target).prop("checked"),n=s(e.target).data("module");a=s('[data-module="'+n+'"]').parents(".bswp-ui-template-module-container"),i?(a.removeClass("bswp-ui-template-module-hidden"),s(e.target).parents(".bswp-module-settings").next().removeClass("bswp-ui-template-module-hidden"),s("#"+n+"-enabled").val(1)):(a.addClass("bswp-ui-template-module-hidden"),s(e.target).parents(".bswp-module-settings").next().addClass("bswp-ui-template-module-hidden"),s("#"+n+"-enabled").val(0)),t.toggleReorderControls()})),n(this,"handleBlockModule",(function(e){e.preventDefault();var t,a,i,n,o,r=s(e.target),p=r.data("action"),l=r.parents(".bswp-ui-template-module-container").find(".bswp-sortable"),d=l.find(".bswp-ui-template-module").data("module"),m=r.parents(".bswp-ui-template-module-container").data("order");"up"!==p&&"down"!==p||("up"===p&&(t=r.parents(".bswp-ui-template-module-container").prevAll(".bswp-ui-template-module-container").not(".bswp-ui-template-module-hidden").first().data("order")),"down"===p&&(t=r.parents(".bswp-ui-template-module-container").nextAll(".bswp-ui-template-module-container").not(".bswp-ui-template-module-hidden").first().data("order")),i=(a=s('div[data-order="'+t+'"]').find(".bswp-sortable")).find(".bswp-ui-template-module").data("module"),n=l.html(),o=a.html(),l.html(o),a.html(n),s("#"+d+"-order").val(t),s("#"+i+"-order").val(m)),"customize"===p&&(s("#bswp-ui-template-module").prop("checked",!1),s("#"+d+"-module").prop("checked",!0))})),n(this,"toggleReorderControls",(function(){var e=s(".bswp-ui-template-module-container").not(".bswp-ui-template-module-hidden");if(1===e.length)return e.find('[data-action="up"').addClass("bswp-hidden-reorder-control"),void e.find('[data-action="down"').addClass("bswp-hidden-reorder-control");e.each((function(t){s(e[t]).find('[data-action="up"]').removeClass("bswp-hidden-reorder-control"),s(e[t]).find('[data-action="down"]').removeClass("bswp-hidden-reorder-control"),0===t?s(e[t]).find('[data-action="up"').addClass("bswp-hidden-reorder-control"):t===e.length-1&&s(e[t]).find('[data-action="down"').addClass("bswp-hidden-reorder-control")}))})),n(this,"copyShortcode",(function(e){e.preventDefault();var t=s(e.target),a=t.parents(".bswp__short-code-container").find("span").text().trim(),i=navigator.clipboard,n=t.text();i.writeText(a),t.text("Copied!"),setTimeout((function(){t.text(n)}),1e3)})),n(this,"moduleTextUpdateHandler",(function(e){var t,a=s(e.target).parents(".tab").data("tab"),i=s(e.target).data("update"),n=s(e.target).data("target");"bswp-ui-template"==a&&(a="bswp-referral-link"),t=s(".bswp-ui-template-module[data-module='"+a+"'] ."+n),"value"===i&&t.val(s(e.target).val()),"placeholder"===i&&t.attr("placeholder",s(e.target).val()),"text"===i&&t.text(s(e.target).val())})),n(this,"handleSocialShareToggle",(function(e){var t=s(e.target),a=t.prop("checked"),i=t.data("social-share");a?(s("."+i).removeClass("bswp-hidden-social-share-control"),"twitter"==i&&s("[data-social-share='twitter-msg']").parents(".bswp__form-group").removeClass("bswp-hidden-social-share-control")):(s("."+i).addClass("bswp-hidden-social-share-control"),"twitter"==i&&(s("[data-social-share='twitter-msg']").parents(".bswp__form-group").addClass("bswp-hidden-social-share-control"),s("[data-social-share='twitter-msg']").val("Check out this link!")))})),n(this,"handleReferalLinkToggle",(function(e){"bswp-post-url"===s(e.target).attr("id")&&(s("#bswp-custom-url-content").addClass("bswp-hidden-referral-link-control").val(""),s(".bswp-referral-link").val(""),s("#bswp-custom-url-content").val("")),"bswp-custom-url"===s(e.target).attr("id")&&s("#bswp-custom-url-content").removeClass("bswp-hidden-referral-link-control")})),n(this,"handleCustomMessageToggle",(function(e){"bswp-custom-message-off"===s(e.target).attr("id")&&(s("#bswp-custom-message-placeholder").parents(".bswp__form-group").addClass("bswp-hidden-custom-message-container").val(""),s(".bswp-email-custom-message").addClass("bswp-hidden-custom-message-container"),s(".bswp-email-message").attr("placeholder","Message"),s("#bswp-custom-message-placeholder").val("")),"bswp-custom-message-on"===s(e.target).attr("id")&&(s("#bswp-custom-message-placeholder").parents(".bswp__form-group").removeClass("bswp-hidden-custom-message-container"),s(".bswp-email-custom-message").removeClass("bswp-hidden-custom-message-container"))})),n(this,"handleEmailPreviewToggle",(function(e){"bswp-email-preview-off"===s(e.target).attr("id")&&s(".bswp-template-ui-email-preview").addClass("bswp-hidden-email-preview-container"),"bswp-email-preview-on"===s(e.target).attr("id")&&s(".bswp-template-ui-email-preview").removeClass("bswp-hidden-email-preview-container")})),n(this,"protectBswpCptsMetaboxes",(function(){s("#bswp_ui_template_settings .postbox-header").remove(),s("#bswp_ui_template_settings-hide").remove(),s("#bswp_template_variables-hide").parents("label").remove(),s("#bswp_template_variables-hide").remove(),s("#bswp_email_subject-hide").parents("label").remove(),s("#bswp_email_subject-hide").remove(),s("#bswp_reply_to-hide").parents("label").remove(),s("#bswp_reply_to-hide").remove()})),n(this,"toggleEmailPreview",(function(e,a){e.preventDefault(),e.stopPropagation();var i=document.querySelector(".bswp__email-preview-toggle .active"),n=e.target.dataset.toggle;if(i&&i.classList.remove("active"),e.target.classList.add("active"),"preview"===n){var o=document.getElementById("email-subject").value,s=t.parsePreviewContent(o);a.getElementById("bswp-email-subject-preview").innerHTML=s;var r=document.getElementById("content").value,p=t.parsePreviewContent(r);a.getElementById("bswp-email-content-preview").innerHTML=p,t.handleEmailPreviewSize();var l=document.getElementById("bswp-email-preview-wrapper");l&&l.classList.remove("bswp__hidden-email-template")}if("source"===n){var d=document.getElementById("bswp-email-preview-wrapper");d&&d.classList.add("bswp__hidden-email-template")}})),n(this,"updateEmalSubjectPreview",(function(e,a){var i=e.target.value,n=t.parsePreviewContent(i);a.getElementById("bswp-email-subject-preview").innerHTML=n})),n(this,"handleEmailPreviewSize",(function(){var e=s("#postdivrich").outerWidth(),t=s("#postdivrich").outerHeight()+s(".postbox.wp-heading-inline").outerHeight();s("#bswp-email-preview-wrapper").outerWidth(e).outerHeight(t)})),n(this,"parsePreviewContent",(function(e){var t=bswpApiSettings.templateVariables,a=t.greeting,i=t.sender_first_name,n=t.referral_link,o=t.sender_custom_message;return(e=(e=(e=e.replaceAll("{{ greeting }}",a)).replaceAll("{{ sender_first_name }}",i)).replaceAll("{{ referral_link }}",n)).replaceAll("{{ sender_custom_message }}",o)})),n(this,"sendTestEmail",(function(e){e.preventDefault();var a=s("#bswp-share-email-input").val().trim();if(a){var i=s("#content").val(),n={email:a,mailBody:t.parsePreviewContent(i)},o=new XMLHttpRequest;o.open("POST","".concat(bswpApiSettings.api_root,"bswp/v1/bswp_test_email"),!0),o.setRequestHeader("Content-Type","application/x-www-form-urlencoded; charset=UTF-8"),o.setRequestHeader("X-WP-Nonce",bswpApiSettings.nonce),o.onreadystatechange=function(){if(4===o.readyState){var a=JSON.parse(o.responseText);s(e.target).removeClass("bswp-sending-mail").text("Send").attr("disabled",!1),a.result?(s("#bswp-share-email-input").val(""),t.showStatusMessage(a.message,"success-msg")):t.showStatusMessage(a.message,"error-msg")}},o.send(JSON.stringify(n)),s(e.target).addClass("bswp-sending-mail").text("Sending ...").attr("disabled","disabled")}else t.showStatusMessage("Enter valid email address!","error-msg")})),n(this,"showStatusMessage",(function(e,t){s("#coreblock-email-sent-msg").text(e).addClass(t),setTimeout((function(){s("#coreblock-email-sent-msg").text("").removeClass(t)}),3e3)})),n(this,"getEmailTemplateData",(function(e){var t=e.target.value,a=t?"".concat(bswpApiSettings.api_root,"bswp/v1/bswp_email_template?id=").concat(t):"".concat(bswpApiSettings.api_root,"bswp/v1/bswp_email_template?id=");fetch(a,{method:"GET",headers:{"Content-Type":"application/json;charset=utf-8","X-WP-Nonce":"".concat(bswpApiSettings.nonce)}}).then((function(e){return e.json()})).then((function(e){var t=JSON.parse(e),a=t.email_subject,i=t.email_body,n=t.has_template_vars,o=document.querySelectorAll(".bswp-template-ui-email-preview"),s=document.querySelectorAll(".bswp-email-custom-message");o.forEach((function(e){e.shadowRoot.querySelector(".bswp-email-preview-subject").innerHTML=a,e.shadowRoot.querySelector(".bswp-email-preview-body").innerHTML=i})),n.includes("sender_custom_message")?s.forEach((function(e){e.classList.contains("bswp-hidden-custom-message-container")&&e.classList.remove("bswp-hidden-custom-message-container")})):s.forEach((function(e){e.classList.contains("bswp-hidden-custom-message-container")||e.classList.add("bswp-hidden-custom-message-container")}))})).catch((function(e){console.log("Fetch Error :-S",e)}))})),n(this,"updateEmailPreviewReferralLink",(function(e){var t="";"page_url"===e.target.value?t=bswpApiSettings.page_url:"custom_url"===e.target.value?t=s("#bswp-custom-url-content").val():"bswp-custom-url-content"===e.target.id&&(t=e.target.value),s(".bswp-email-preview-ref-link").text(t)}))})));s(document).ready((function(){r.init()}))})()})();
  • better-sharing/trunk/includes/API/Email.php

    r2978389 r2988251  
    2727     */
    2828    private $senderName;
     29
    2930   
    3031    /**
     
    3435     */
    3536    public function rest_init() {
     37
     38        $option_data = new OptionData( 'core' );
     39   
     40        if ( ! is_wp_error( $option_data ) ) {
     41
     42            $this->option_data = $option_data;
     43        }
    3644
    3745        register_rest_route(
     
    107115    public function bswp_email_before_send( \WP_REST_Request $request ) {
    108116       
     117        $email_config = include BETTER_SHARING_PATH . 'includes/config/emails.php';
     118
    109119        if ( trim( $request->get_header('X-WP-Nonce') ) == "" ) {
    110120            return new \WP_REST_Response( 'Permission denied.', 403 );
     
    116126        $emails = isset( $body->emails ) ? (array) $body->emails : array();     
    117127       
    118         //validate $emails
     128        //validate $emails.
    119129        $emails_valid = $this->validate_emails( $emails );
    120130   
     
    134144        $email_message = isset( $body->message ) ? sanitize_text_field( $body->message ) : '';     
    135145       
    136         //validate custom message if present
     146        //validate custom message if present.
    137147        if( trim( $email_message ) ) :
    138148           
    139             $email_message_valid = $this->validate_email_message( $email_message );
    140 
    141             if( !$email_message_valid['result'] ){
     149            $email_message_valid = $this->validate_email_message( $email_message, $email_config );
     150
     151            if ( $email_message_valid['error']['error'] ) :
     152
     153                // spam detected. 0.
     154                if ( $email_message_valid['error']['error_code'] === $email_config['errors'][0]['code'] ) :
     155                   
     156                    $response = new \WP_REST_Response(
     157                        array(
     158                                'mail' => $email_message_valid['result'],
     159                        )
     160                    ); 
     161                    $response->set_status( 402 );
     162               
     163                    return $response;
     164                endif;
     165                // spam detected. 1.
     166                if ( $email_message_valid['error']['error_code'] === $email_config['errors'][1]['code'] ) :
     167                   
     168                    $response = new \WP_REST_Response(
     169                        array(
     170                                'mail' => $email_message_valid['result'],
     171                        )
     172                    ); 
     173                    $response->set_status( 200 );
     174               
     175                    return $response;
     176                endif;
    142177               
    143178                $response = new \WP_REST_Response(
    144                     array(
    145                         'mail' => $email_message_valid,
    146                     )
    147                 );         
    148            
    149        
    150             $response->set_status( 402 );
    151            
    152             return $response;
    153         }   
     179                        array(
     180                                'mail' => $email_message_valid['result'],
     181                        )
     182                );
     183                $response->set_status( 402 );
     184               
     185                return $response;
     186            endif;
    154187        endif; 
    155188
     
    290323     */
    291324
    292     public function validate_email_message( $email_message ){
     325    public function validate_email_message( $email_message, $email_config ){
    293326
    294327        $response = [];
    295         $response['message']    = __('Success!', 'better-sharing-wp' );
    296         $response['result']     = true;
    297 
    298         if( preg_match(
    299            
    300                 '/(((https?|ftps?)\:\/\/)|(www\.))[a-zA-Z0-9\-\.]+\.[a-zA-Z]{2,3}(\:[0-9]+)?(\/\S*)?/',
    301                 $email_message
    302             )
    303         ) {
    304 
    305             $response['result']     = false;
    306             $response['message']    = __('Email message must not include an URL!', 'better-sharing-wp' );       
    307 
    308             return $response;
    309         }
     328        // default response values.
     329        $response['result']['message']  = __('Success!', 'better-sharing-wp' );
     330        $response['result']['result']   = true;
     331        $response['error']['error_code']    = null;
     332        $response['error']['error']         = false;   
     333
     334        // spam detection.
     335        $spam_check_result = $this->detect_spam( $email_message, $email_config );
     336        if ( $spam_check_result ) :
     337            return $spam_check_result;
     338        endif;
    310339
    311340        return $response;
     341    }
     342/**
     343 * Scans the email message
     344 * for spam
     345 *
     346 * @param string $email_message
     347 * @return bool|array
     348 */
     349    public function detect_spam( $email_message, $email_config ){
     350
     351        // default spam detection state.
     352        $spam_detection = true;
     353        $spam_regex     = "/{$email_config['default_spam_regex']}/";
     354        $hide_err_msg   = true;
     355        // get spam detection option.
     356        $spam_detection_options = $this->option_data->get( 'spamDetection' );
     357       
     358        if ( $spam_detection_options ) :
     359            $spam_detection_options_decoded = json_decode( $this->option_data->get( 'spamDetection' ), true );
     360            // change spam detection based on the available options.
     361            if ( $spam_detection_options_decoded['enable_spam_detection'] !== 0 ) :
     362                // spam detection is on.
     363       
     364                if ( ! empty( $spam_detection_options_decoded['spam_regex'] ) ) :
     365                    // other than the default regex.
     366                    $spam_regex     = "/{$spam_detection_options_decoded['spam_regex']}/";
     367                endif;
     368
     369                if ( empty( $spam_detection_options_decoded['hide_err_msg'] ) ) :
     370                    // hide the error message.
     371                    $hide_err_msg = false;
     372                endif;
     373            else :
     374                // spam detection is off.
     375                $spam_detection = false;
     376            endif;
     377        endif;
     378
     379        // check for spam only if setection is on.
     380        if ( $spam_detection ) :
     381            if ( preg_match( $spam_regex, $email_message ) ) :
     382                $response['error']['error']         = true;
     383
     384                if ( ! $hide_err_msg ) :
     385                    // include error message in the response.
     386                    $response['result']['result']           = false;
     387                    $response['result']['message']          = __('Your message contains unauthorized content.', 'better-sharing-wp' );
     388                    $response['error']['error_code']        = $email_config['errors'][0]['code'];
     389   
     390                else :
     391                    // no error message in the response.
     392                    $response['result']['result']           = true;
     393                    $response['result']['message']      = __( 'The email has been sent successfully!', 'better-sharing-wp' );
     394                    $response['error']['error_code']        = $email_config['errors'][1]['code'];;
     395                endif;
     396                // return result.
     397                return $response;
     398            endif;
     399
     400        endif;
     401        // no spam detection performed.
     402        return false;
    312403    }
    313404
     
    324415
    325416    public function validate_email_limit( $emails, $response ){
    326 
    327         $option_data = new OptionData( 'core' );
    328    
    329         if ( ! is_wp_error( $option_data ) ) {
    330 
    331             $this->option_data = $option_data;
    332         }
    333417       
    334418        if( $this->option_data->get( 'emailsLimit' ) ) :           
  • better-sharing/trunk/includes/Admin.php

    r2978389 r2988251  
    1111use BetterSharingWP\AdminScreens\EmailTemplate;
    1212use BetterSharingWP\AdminScreens\UITemplate;
    13 use BetterSharingWP\AdminScreens\ContactPickerSettings;
     13use BetterSharingWP\AdminScreens\PluginSettings;
    1414use BetterSharingWP\AddOnsCore;
    1515
     
    5555        $this->email_templates  = new EmailTemplate();
    5656        $this->better_sharing_blocks    = new UITemplate();
    57         $this->contact_picker_settings  = new ContactPickerSettings();
     57        $this->plugin_settings  = new PluginSettings();
    5858       
    5959        add_action( 'admin_enqueue_scripts', array( $this, 'admin_scripts' ) );
     
    8080        // Init General Page.
    8181        $this->general->init();
    82         // Init Contact Picker Settings Page.
    83         $this->contact_picker_settings->init();
     82        // Init Plugin Settings Page.
     83        $this->plugin_settings->init();
    8484
    8585        // Init AddOns Page.
  • better-sharing/trunk/includes/config/emails.php

    r2560270 r2988251  
    55return [   
    66    'default_emails_limit' => 10,
    7 ];
     7    'default_spam_regex'    => "[.?](?=[^\s])",
     8    'errors'                =>  [
     9                                    ['code' => 'E-1', 'message' => 'Spam detected. Display error messages'],
     10                                    ['code' => 'E-2', 'message' => 'Spam detected. Hide error messages'],
     11                                    ['code' => 'E-3', 'message' => 'Detected url in the custom message.'],
     12                                ]
     13    ];
  • better-sharing/trunk/readme.txt

    r2978389 r2988251  
    55Tested up to: 6.3
    66Requires PHP: 7.0
    7 Stable tag: 2.2.1
     7Stable tag: 2.3.0
    88License: GPLv3 or later
    99License URI: http://www.gnu.org/licenses/gpl-3.0.html
     
    1616
    1717Better Sharing includes everything your site needs to create user-friendly sharing functionality that is essential for viral growth in today's online market.
     18
     19A [live demonstration with full administrator access](https://app.instawp.io/launch?t=better-sharing-plain) is available to you via InstaWP.
    1820
    1921* Allow your users to copy a hyperlink of your choice to their clipboard for quick and easy sharing anywhere that's convenient for them.
     
    6870== Changelog ==
    6971
     72= 2.3.0 =
     73* Abuse restriction improvements, including RegEx.
     74 
    7075= 2.2.1 =
    7176* Fixed when adding BetterSharing to any page in AutomateWoo, not only the 'Share' page.
  • better-sharing/trunk/vendor/composer/installed.php

    r2978389 r2988251  
    44        'pretty_version' => 'dev-main',
    55        'version' => 'dev-main',
    6         'reference' => 'adcfb0db417f02db143b8c51b2764e152be4b97e',
     6        'reference' => 'c1c65d5beb973775770a33221514f62a28c1e5e4',
    77        'type' => 'project',
    88        'install_path' => __DIR__ . '/../../',
     
    1414            'pretty_version' => 'dev-main',
    1515            'version' => 'dev-main',
    16             'reference' => 'adcfb0db417f02db143b8c51b2764e152be4b97e',
     16            'reference' => 'c1c65d5beb973775770a33221514f62a28c1e5e4',
    1717            'type' => 'project',
    1818            'install_path' => __DIR__ . '/../../',
Note: See TracChangeset for help on using the changeset viewer.