Plugin Directory

Changeset 3240066


Ignore:
Timestamp:
02/13/2025 12:09:37 PM (4 weeks ago)
Author:
themeisle
Message:

Update to version 3.11.9 from GitHub

Location:
visualizer
Files:
44 edited
1 copied

Legend:

Unmodified
Added
Removed
  • visualizer/tags/3.11.9/CHANGELOG.md

    r3187394 r3240066  
     1##### [Version 3.11.9](https://github.com/Codeinwp/visualizer/compare/v3.11.8...v3.11.9) (2025-02-13)
     2
     3- Enhanced security
     4- Fixed extra column issue with a simple editor
     5
    16##### [Version 3.11.8](https://github.com/Codeinwp/visualizer/compare/v3.11.7...v3.11.8) (2024-11-13)
    27
  • visualizer/tags/3.11.9/classes/Visualizer/Plugin.php

    r3187394 r3240066  
    2929
    3030    const NAME = 'visualizer';
    31     const VERSION = '3.11.8';
     31    const VERSION = '3.11.9';
    3232
    3333    // custom post types
  • visualizer/tags/3.11.9/classes/Visualizer/Source.php

    r2815812 r3240066  
    430430                if ( ! empty( $types[ $header ] ) ) {
    431431                    $this->_series[] = array(
    432                         'label' => $header,
     432                        'label' => esc_html( wp_strip_all_tags( $header ) ),
    433433                        'type'  => $types[ $header ],
    434434                    );
  • visualizer/tags/3.11.9/classes/Visualizer/Source/Csv.php

    r3012215 r3240066  
    9898
    9999            $this->_series[] = array(
    100                 'label' => $labels[ $i ],
     100                'label' => esc_html( wp_strip_all_tags( $labels[ $i ] ) ),
    101101                'type'  => isset( $types[ $i ] ) ? $types[ $i ] : $default_type,
    102102            );
  • visualizer/tags/3.11.9/css/media.css

    r3187394 r3240066  
    11/*
    2     Version: 3.11.8
     2    Version: 3.11.9
    33*/
    44#visualizer-library-view {
  • visualizer/tags/3.11.9/index.php

    r3187394 r3240066  
    44    Plugin URI: https://themeisle.com/plugins/visualizer-charts-and-graphs/
    55    Description: Effortlessly create and embed responsive charts and tables with Visualizer, a powerful WordPress plugin that enhances data presentation from multiple sources.
    6     Version: 3.11.8
     6    Version: 3.11.9
    77    Author: Themeisle
    88    Author URI: http://themeisle.com
  • visualizer/tags/3.11.9/js/simple-editor.js

    r2297689 r3240066  
    9191        }else{
    9292            $('#canvas').lock();
     93            jQuery('.dataTables_scrollBody .sorting_disabled input').attr('disabled', true);
    9394            $('#table-editor-form').submit();
    9495
  • visualizer/tags/3.11.9/readme.md

    r3187394 r3240066  
    224224## Changelog ##
    225225
     226##### [Version 3.11.9](https://github.com/Codeinwp/visualizer/compare/v3.11.8...v3.11.9) (2025-02-13)
     227
     228- Enhanced security
     229- Fixed extra column issue with a simple editor
     230
     231
     232
     233
    226234##### [Version 3.11.8](https://github.com/Codeinwp/visualizer/compare/v3.11.7...v3.11.8) (2024-11-13)
    227235
  • visualizer/tags/3.11.9/readme.txt

    r3187394 r3240066  
    224224== Changelog ==
    225225
     226##### [Version 3.11.9](https://github.com/Codeinwp/visualizer/compare/v3.11.8...v3.11.9) (2025-02-13)
     227
     228- Enhanced security
     229- Fixed extra column issue with a simple editor
     230
     231
     232
     233
    226234##### [Version 3.11.8](https://github.com/Codeinwp/visualizer/compare/v3.11.7...v3.11.8) (2024-11-13)
    227235
  • visualizer/tags/3.11.9/vendor/codeinwp/themeisle-sdk/CHANGELOG.md

    r3183867 r3240066  
     1##### [Version 3.3.41](https://github.com/Codeinwp/themeisle-sdk-main/compare/v3.3.40...v3.3.41) (2025-02-05)
     2
     3- fixed a minor issue that prevented the translation checking for Hestia PRO
     4
     5##### [Version 3.3.40](https://github.com/Codeinwp/themeisle-sdk-main/compare/v3.3.39...v3.3.40) (2024-12-29)
     6
     7Adds feadzy features.
     8
     9##### [Version 3.3.39](https://github.com/Codeinwp/themeisle-sdk-main/compare/v3.3.38...v3.3.39) (2024-11-19)
     10
     11- Adds WPFS promo to About Page
     12- Changes to Licenser and Updater to accommodate WPFS
     13
     14##### [Version 3.3.38](https://github.com/Codeinwp/themeisle-sdk-main/compare/v3.3.37...v3.3.38) (2024-11-13)
     15
     16- fix: new SDK slug on wp env
     17- fix: wfp promo not checking for donation page
     18
    119##### [Version 3.3.37](https://github.com/Codeinwp/themeisle-sdk-main/compare/v3.3.36...v3.3.37) (2024-11-06)
    220
  • visualizer/tags/3.11.9/vendor/codeinwp/themeisle-sdk/assets/js/build/promos/index.asset.php

    r3183867 r3240066  
    1 <?php return array('dependencies' => array('react', 'wp-block-editor', 'wp-components', 'wp-compose', 'wp-data', 'wp-edit-post', 'wp-element', 'wp-hooks', 'wp-plugins'), 'version' => 'c57846e72deaa82a7a04');
     1<?php return array('dependencies' => array('react', 'wp-block-editor', 'wp-components', 'wp-compose', 'wp-data', 'wp-edit-post', 'wp-element', 'wp-hooks', 'wp-plugins'), 'version' => '3997ba6be36742082cb2');
  • visualizer/tags/3.11.9/vendor/codeinwp/themeisle-sdk/assets/js/build/promos/index.js

    r3183867 r3240066  
    1 (()=>{"use strict";var e,t={753:()=>{const e=window.React,t=window.wp.blockEditor,n=window.wp.components,o=window.wp.compose,s=window.wp.data,i=window.wp.element,a=window.wp.hooks,l=()=>{const{createNotice:e}=(0,s.dispatch)("core/notices"),[t,n]=(0,i.useState)({}),[o,a]=(0,i.useState)("loading");return(0,s.useSelect)((e=>{if(Object.keys(t).length)return;const{getEntityRecord:o}=e("core"),s=o("root","site");s&&(a("loaded"),n(s))}),[]),[e=>t?.[e],async(t,o,s="Settings saved.")=>{const i={[t]:o};try{const t=await fetch("/wp-json/wp/v2/settings",{method:"POST",headers:{"Content-Type":"application/json","X-WP-Nonce":wpApiSettings.nonce},body:JSON.stringify(i)});t.ok||(a("error"),e("error","Could not save the settings.",{isDismissible:!0,type:"snackbar"}));const o=await t.json();a("loaded"),e("success",s,{isDismissible:!0,type:"snackbar"}),n(o)}catch(e){console.error("Error updating option:",e)}},o]},r=(e,t=!1)=>new Promise((n=>{wp.updates.ajax(!0===t?"install-theme":"install-plugin",{slug:e,success:e=>{n({success:!0,data:e})},error:e=>{n({success:!1,code:e.errorCode})}})})),c=e=>new Promise((t=>{jQuery.get(e).done((()=>{t({success:!0})})).fail((()=>{t({success:!1})}))})),m=(e,t)=>{const n={};return Object.keys(t).forEach((function(e){"innerBlocks"!==e&&(n[e]=t[e])})),e.push(n),Array.isArray(t.innerBlocks)?(n.innerBlocks=t.innerBlocks.map((e=>e.id)),t.innerBlocks.reduce(m,e)):e},d={button:{display:"flex",justifyContent:"center",width:"100%"},image:{padding:"20px 0"},skip:{container:{display:"flex",flexDirection:"column",alignItems:"center"},button:{fontSize:"9px"},poweredby:{fontSize:"9px",textTransform:"uppercase"}}},p={"blocks-css":{title:"Custom CSS",description:"Enable Otter Blocks to add Custom CSS for this block.",image:"css.jpg"},"blocks-animation":{title:"Animations",description:"Enable Otter Blocks to add Animations for this block.",image:"animation.jpg"},"blocks-conditions":{title:"Visibility Conditions",description:"Enable Otter Blocks to add Visibility Conditions for this block.",image:"conditions.jpg"}},u=({onClick:t})=>(0,e.createElement)("div",{style:d.skip.container},(0,e.createElement)(n.Button,{style:d.skip.button,variant:"tertiary",onClick:t},"Skip for now"),(0,e.createElement)("span",{style:d.skip.poweredby},"Recommended by ",window.themeisleSDKPromotions.product)),h=(0,o.createHigherOrderComponent)((o=>s=>{const[a,m]=(0,i.useState)(!1),[h,w]=(0,i.useState)("default"),[g,E]=(0,i.useState)(!1),[y,v,f]=l();if((0,i.useEffect)((()=>{g&&(()=>{const e={...window.themeisleSDKPromotions.option};e[window.themeisleSDKPromotions.showPromotion]=(new Date).getTime()/1e3|0,v("themeisle_sdk_promotions",JSON.stringify(e)),window.themeisleSDKPromotions.showPromotion=!1})()}),[g]),!s.isSelected||!Boolean(window.themeisleSDKPromotions.showPromotion))return(0,e.createElement)(o,{...s});const k=async()=>{m(!0),await r("otter-blocks"),v("themeisle_sdk_promotions_otter_installed",!Boolean(y("themeisle_sdk_promotions_otter_installed"))),await c(window.themeisleSDKPromotions.otterActivationUrl),m(!1),w("installed")},S=()=>"installed"===h?(0,e.createElement)("p",null,(0,e.createElement)("strong",null,"Awesome! Refresh the page to see Otter Blocks in action.")):(0,e.createElement)(n.Button,{variant:"secondary",onClick:k,isBusy:a,style:d.button},"Install & Activate Otter Blocks");return g?(0,e.createElement)(o,{...s}):(0,e.createElement)(i.Fragment,null,(0,e.createElement)(o,{...s}),(0,e.createElement)(t.InspectorControls,null,Object.keys(p).map((t=>{if(t===window.themeisleSDKPromotions.showPromotion){const o=p[t];return(0,e.createElement)(n.PanelBody,{key:t,title:o.title,initialOpen:!1},(0,e.createElement)("p",null,o.description),(0,e.createElement)(S,null),(0,e.createElement)("img",{style:d.image,src:window.themeisleSDKPromotions.assets+o.image}),(0,e.createElement)(u,{onClick:()=>E(!0)}))}}))))}),"withInspectorControl");(0,s.select)("core/edit-site")||(0,a.addFilter)("editor.BlockEdit","themeisle-sdk/with-inspector-controls",h);const w=window.wp.plugins,g=window.wp.editPost;function E({stacked:t=!1,type:o,onDismiss:s,onSuccess:a,initialStatus:m=null}){const{title:d,option:p,optionKey:u,labels:h,optimoleActivationUrl:w,optimoleDash:g}=window.themeisleSDKPromotions,[E,y]=(0,i.useState)(!1),[v,f]=(0,i.useState)(m),[k,S]=l(),_=async()=>{y(!0);const e={...p};e[o]=(new Date).getTime()/1e3|0,window.themeisleSDKPromotions.option=e,await S(u,JSON.stringify(e)),s&&s()},P=async e=>{e.preventDefault(),f("installing"),await r("optimole-wp"),f("activating"),await c(w),S("themeisle_sdk_promotions_optimole_installed",!0).then((()=>{f("done")}))};if(E)return null;const b=()=>"done"===v?(0,e.createElement)("div",{className:"done"},(0,e.createElement)("p",null," ",h.all_set),(0,e.createElement)(n.Button,{icon:"external",isPrimary:!0,href:g,target:"_blank"},h.optimole.gotodash)):(0,e.createElement)("p",{className:"om-progress"},(0,e.createElement)("span",{className:"dashicons dashicons-update spin"}),(0,e.createElement)("span",null,"installing"===v&&h.installing,"activating"===v&&h.activating,"…")),D=()=>(0,e.createElement)(n.Button,{disabled:v&&"done"!==v,onClick:_,isLink:!0,className:"om-notice-dismiss"},(0,e.createElement)("span",{className:"dashicons-no-alt dashicons"}),(0,e.createElement)("span",{className:"screen-reader-text"},h.optimole.dismisscta)),N=(t=!1)=>(0,e.createElement)(e.Fragment,null,(0,e.createElement)(n.Button,{isPrimary:!0,onClick:P,className:t?"cta":""},h.optimole.installOptimole),(0,e.createElement)(n.Button,{isLink:!0,target:"_blank",href:"https://wordpress.org/plugins/optimole-wp"},(0,e.createElement)("span",{className:"dashicons dashicons-external"}),(0,e.createElement)("span",null," ",h.learnmore))),B=(0,e.createElement)("div",{className:"ti-om-stack-wrap ti-sdk-om-notice"},(0,e.createElement)("div",{className:"om-stack-notice"},D(),(0,e.createElement)("i",null,d),(0,e.createElement)("p",null,["om-editor","om-image-block"].includes(o)?h.optimole.message1:h.optimole.message2),v?b():N(!0))),K=(0,e.createElement)(e.Fragment,null,D(),(0,e.createElement)("div",{className:"content"},(0,e.createElement)("div",null,(0,e.createElement)("p",null,d),(0,e.createElement)("p",{className:"description"},"om-media"===o?h.optimole.message3:h.optimole.message4),v?b():(0,e.createElement)("div",{className:"actions"},N()))));return t?B:K}const y=()=>{const[t,n]=(0,i.useState)(!0),{getBlocks:o}=(0,s.useSelect)((e=>{const{getBlocks:t}=e("core/block-editor");return{getBlocks:t}}));var a;if((a=o(),"core/image",a.reduce(m,[]).filter((e=>"core/image"===e.name))).length<2)return null;const l="ti-sdk-optimole-post-publish "+(t?"":"hidden");return(0,e.createElement)(g.PluginPostPublishPanel,{className:l},(0,e.createElement)(E,{stacked:!0,type:"om-editor",onDismiss:()=>{n(!1)}}))};new class{constructor(){const{showPromotion:e,debug:t}=window.themeisleSDKPromotions;this.promo=e,this.debug="1"===t,this.domRef=null,this.run()}run(){if(this.debug)this.runAll();else switch(this.promo){case"om-attachment":this.runAttachmentPromo();break;case"om-media":this.runMediaPromo();break;case"om-editor":this.runEditorPromo();break;case"om-image-block":this.runImageBlockPromo();break;case"om-elementor":this.runElementorPromo()}}runAttachmentPromo(){wp.media.view.Attachment.Details.prototype.on("ready",(()=>{setTimeout((()=>{this.removeAttachmentPromo(),this.addAttachmentPromo()}),100)})),wp.media.view.Modal.prototype.on("close",(()=>{setTimeout(this.removeAttachmentPromo,100)}))}runMediaPromo(){if(window.themeisleSDKPromotions.option["om-media"])return;const t=document.querySelector("#ti-optml-notice");t&&(0,i.render)((0,e.createElement)(E,{type:"om-media",onDismiss:()=>{t.style.opacity=0}}),t)}runImageBlockPromo(){if(window.themeisleSDKPromotions.option["om-image-block"])return;let n=!0,s=null;const l=(0,o.createHigherOrderComponent)((o=>a=>"core/image"===a.name&&n?(0,e.createElement)(i.Fragment,null,(0,e.createElement)(o,{...a}),(0,e.createElement)(t.InspectorControls,null,(0,e.createElement)(E,{stacked:!0,type:"om-image-block",initialStatus:s,onDismiss:()=>{n=!1},onSuccess:()=>{s="done"}}))):(0,e.createElement)(o,{...a})),"withImagePromo");(0,a.addFilter)("editor.BlockEdit","optimole-promo/image-promo",l,99)}runEditorPromo(){window.themeisleSDKPromotions.option["om-editor"]||(0,w.registerPlugin)("optimole-promo",{render:y})}runElementorPromo(){if(!window.elementor)return;const e=this;elementor.on("preview:loaded",(()=>{elementor.panel.currentView.on("set:page:editor",(t=>{e.domRef&&(0,i.unmountComponentAtNode)(e.domRef),t.activeSection&&"section_image"===t.activeSection&&e.runElementorActions(e)}))}))}addAttachmentPromo(){if(this.domRef&&(0,i.unmountComponentAtNode)(this.domRef),window.themeisleSDKPromotions.option["om-attachment"])return;const t=document.querySelector("#ti-optml-notice-helper");t&&(this.domRef=t,(0,i.render)((0,e.createElement)("div",{className:"notice notice-info ti-sdk-om-notice",style:{margin:0}},(0,e.createElement)(E,{type:"om-attachment",onDismiss:()=>{t.style.opacity=0}})),t))}removeAttachmentPromo(){const e=document.querySelector("#ti-optml-notice-helper");e&&(0,i.unmountComponentAtNode)(e)}runElementorActions(t){if(window.themeisleSDKPromotions.option["om-elementor"])return;const n=document.querySelector("#elementor-panel__editor__help"),o=document.createElement("div");o.id="ti-optml-notice",t.domRef=o,n&&(n.parentNode.insertBefore(o,n),(0,i.render)((0,e.createElement)(E,{stacked:!0,type:"om-elementor",onDismiss:()=>{o.style.opacity=0}}),o))}runAll(){this.runAttachmentPromo(),this.runMediaPromo(),this.runEditorPromo(),this.runImageBlockPromo(),this.runElementorPromo()}};const v=({onDismiss:t=(()=>{})})=>{const[o,s]=(0,i.useState)(""),[a,m]=l();return(0,e.createElement)(i.Fragment,null,(0,e.createElement)(n.Button,{disabled:"installing"===o,onClick:async()=>{const e={...window.themeisleSDKPromotions.option};e["rop-posts"]=(new Date).getTime()/1e3|0,window.themeisleSDKPromotions.option=e,await m(window.themeisleSDKPromotions.optionKey,JSON.stringify(e)),t&&t()},variant:"link",className:"om-notice-dismiss"},(0,e.createElement)("span",{className:"dashicons-no-alt dashicons"}),(0,e.createElement)("span",{className:"screen-reader-text"},"Dismiss this notice.")),(0,e.createElement)("p",null,"Boost your content's reach effortlessly! Introducing ",(0,e.createElement)("b",null,"Revive Social"),", a cutting-edge plugin from the makers of ",window.themeisleSDKPromotions.product,". Seamlessly auto-share old & new content across social media, driving traffic like never before."),(0,e.createElement)("div",{className:"rop-notice-actions"},"installed"!==o?(0,e.createElement)(n.Button,{variant:"primary",isBusy:"installing"===o,onClick:async()=>{s("installing"),await r("tweet-old-post"),await c(window.themeisleSDKPromotions.ropActivationUrl),m("themeisle_sdk_promotions_rop_installed",!Boolean(a("themeisle_sdk_promotions_rop_installed"))),s("installed")}},"Install & Activate"):(0,e.createElement)(n.Button,{variant:"primary",href:window.themeisleSDKPromotions.ropDash},"Visit Dashboard"),(0,e.createElement)(n.Button,{variant:"link",target:"_blank",href:"https://wordpress.org/plugins/tweet-old-post/"},(0,e.createElement)("span",{className:"dashicons dashicons-external"}),(0,e.createElement)("span",null,"Learn more"))))};new class{constructor(){const{showPromotion:e,debug:t}=window.themeisleSDKPromotions;this.promo=e,this.debug="1"===t,this.domRef=null,this.run()}run(){if(window.themeisleSDKPromotions.option["rop-posts"])return;const t=document.querySelector("#ti-rop-notice");t&&(0,i.render)((0,e.createElement)(v,{onDismiss:()=>{t.style.display="none"}}),t)}};const f=({onDismiss:t=(()=>{})})=>{const{title:o,optionKey:s,labels:a,neveAction:c,activateNeveURL:m}=window.themeisleSDKPromotions,[d,p]=l(),[u,h]=(0,i.useState)(null);return(0,e.createElement)(i.Fragment,null,(0,e.createElement)(n.Button,{disabled:u&&"done"!==u,onClick:async()=>{const e={...window.themeisleSDKPromotions.option};e["neve-themes-popular"]=(new Date).getTime()/1e3|0,window.themeisleSDKPromotions.option=e,await p(s,JSON.stringify(e)),t&&t()},isLink:!0,className:"om-notice-dismiss"},(0,e.createElement)("span",{className:"dashicons-no-alt dashicons"}),(0,e.createElement)("span",{className:"screen-reader-text"},a.redirectionCF7.dismisscta)),(0,e.createElement)("div",{className:"content"},(0,e.createElement)("div",null,(0,e.createElement)("p",null,o),(0,e.createElement)("p",{className:"description"},"Meet ",(0,e.createElement)("b",null,"Neve"),", from the creators of ",window.themeisleSDKPromotions.product,". A very fast and free theme, trusted by over 300,000 users for building their websites and rated 4.7 stars!"),!u&&(0,e.createElement)("div",{className:"actions"},(0,e.createElement)(n.Button,{variant:"primary",onClick:e=>{if(e.preventDefault(),"activate"===c)return h("activating"),void p("themeisle_sdk_promotions_neve_installed",!0).then((()=>{window.location.href=m}));h("installing"),r("neve",!0).then((e=>{h("activating"),p("themeisle_sdk_promotions_neve_installed",!0).then((()=>{window.location.href=e.data.activateUrl}))}))}},"install"===c&&a.installActivate,"activate"===c&&a.activate),(0,e.createElement)(n.Button,{variant:"link",href:window.themeisleSDKPromotions.nevePreviewURL},a.preview)),u&&"done"!==u&&(0,e.createElement)("p",{className:"om-progress"},(0,e.createElement)("span",{className:"dashicons dashicons-update spin"}),(0,e.createElement)("span",null,"installing"===u&&a.installing,"activating"===u&&a.activating,"…")))))};function k({type:t,onDismiss:o}){const{title:s,option:a,optionKey:m,labels:d,rfCF7ActivationUrl:p,cf7Dash:u}=window.themeisleSDKPromotions,[h,w]=(0,i.useState)(!1),[g,E]=(0,i.useState)(null),[y,v]=l();if(h)return null;const f=(0,e.createElement)("div",{className:"actions"},(0,e.createElement)(n.Button,{isPrimary:!0,onClick:async e=>{e.preventDefault(),E("installing"),await r("wpcf7-redirect"),E("activating"),await c(p),v("themeisle_sdk_promotions_redirection_cf7_installed",!Boolean(y("themeisle_sdk_promotions_redirection_cf7_installed"))),E("done")}},d.redirectionCF7.gst),(0,e.createElement)(n.Button,{isLink:!0,target:"_blank",href:"https://wordpress.org/plugins/wpcf7-redirect/"},(0,e.createElement)("span",{className:"dashicons dashicons-external"}),(0,e.createElement)("span",null," ",d.learnmore)));return(0,e.createElement)(e.Fragment,null,(0,e.createElement)(n.Button,{disabled:g&&"done"!==g,onClick:async()=>{w(!0);const e={...a};e[t]=(new Date).getTime()/1e3|0,window.themeisleSDKPromotions.option=e,await v(m,JSON.stringify(e)),o&&o()},isLink:!0,className:"om-notice-dismiss"},(0,e.createElement)("span",{className:"dashicons-no-alt dashicons"}),(0,e.createElement)("span",{className:"screen-reader-text"},d.redirectionCF7.dismisscta)),(0,e.createElement)("div",{className:"content"},(0,e.createElement)("div",null,(0,e.createElement)("p",null,s),(0,e.createElement)("p",{className:"description"},d.redirectionCF7.message),g?"done"===g?(0,e.createElement)("div",{className:"done"},(0,e.createElement)("p",null," ",d.all_set),(0,e.createElement)(n.Button,{icon:"external",variant:"primary",href:u,target:"_blank"},d.redirectionCF7.gotodash)):(0,e.createElement)("p",{className:"om-progress"},(0,e.createElement)("span",{className:"dashicons dashicons-update spin"}),(0,e.createElement)("span",null,"installing"===g&&d.installing,"activating"===g&&d.activating,"…")):f)))}new class{constructor(){const{showPromotion:e,debug:t}=window.themeisleSDKPromotions;this.promo=e,this.debug="1"===t,this.domRef=null,this.run()}run(){if(window.themeisleSDKPromotions.option["neve-themes-popular"])return;const t=document.querySelector("#ti-neve-notice");t&&(0,i.render)((0,e.createElement)(f,{onDismiss:()=>{t.style.display="none"}}),t)}},new class{constructor(){this.run()}run(){if(window.themeisleSDKPromotions.option["redirection-cf7"])return;const t=document.querySelector("#ti-redirection-cf7-notice");t&&(0,i.render)((0,e.createElement)(k,{type:"redirection-cf7",onDismiss:()=>{t.style.display="none"}}),t)}};const S=({onDismiss:t=(()=>{})})=>{const{title:o,option:s,optionKey:a,labels:m,hyveActivationUrl:d,hyveDash:p}=window.themeisleSDKPromotions,[u,h]=(0,i.useState)(!1),[w,g]=(0,i.useState)(null),[E,y]=l();if(u)return null;const v=(0,e.createElement)("div",{className:"actions"},(0,e.createElement)(n.Button,{variant:"primary",onClick:async e=>{e.preventDefault(),g("installing"),await r("hyve-lite"),g("activating"),await c(d),y("themeisle_sdk_promotions_hyve_installed",!Boolean(E("themeisle_sdk_promotions_hyve_installed"))),g("done")}},m.hyve.install),(0,e.createElement)(n.Button,{variant:"link",target:"_blank",href:"https://wordpress.org/plugins/hyve-lite/"},(0,e.createElement)("span",{className:"dashicons dashicons-external"}),(0,e.createElement)("span",null,m.learnmore)));return(0,e.createElement)(e.Fragment,null,(0,e.createElement)(n.Button,{disabled:w&&"done"!==w,onClick:async()=>{h(!0);const e={...s};e["hyve-plugins-install"]=(new Date).getTime()/1e3|0,window.themeisleSDKPromotions.option=e,await y(a,JSON.stringify(e)),t&&t()},variant:"link",className:"om-notice-dismiss"},(0,e.createElement)("span",{className:"dashicons-no-alt dashicons"}),(0,e.createElement)("span",{className:"screen-reader-text"},m.hyve.dismisscta)),(0,e.createElement)("div",{className:"content"},(0,e.createElement)("div",null,(0,e.createElement)("p",null,o),(0,e.createElement)("p",{className:"description"},m.hyve.message),w?"done"===w?(0,e.createElement)("div",{className:"done"},(0,e.createElement)("p",null,m.all_set),(0,e.createElement)(n.Button,{icon:"external",variant:"primary",href:p,target:"_blank"},m.hyve.gotodash)):(0,e.createElement)("p",{className:"om-progress"},(0,e.createElement)("span",{className:"dashicons dashicons-update spin"}),(0,e.createElement)("span",null,"installing"===w&&m.installing,"activating"===w&&m.activating,"…")):v)))};(()=>{if(window.themeisleSDKPromotions.option["hyve-plugins-install"])return;const t=document.querySelector("#ti-hyve-notice");t&&(0,i.createRoot)(t).render((0,e.createElement)(S,{onDismiss:()=>{t.style.display="none"}}))})();const _=({onDismiss:t=(()=>{})})=>{const{title:o,option:s,optionKey:a,labels:m,wpFullPayActivationUrl:d,wpFullPayDash:p}=window.themeisleSDKPromotions,[u,h]=(0,i.useState)(!1),[w,g]=(0,i.useState)(null),[E,y]=l();if(u)return null;const v=(0,e.createElement)("div",{className:"actions"},(0,e.createElement)(n.Button,{variant:"primary",onClick:async e=>{e.preventDefault(),g("installing"),await r("wp-full-stripe-free"),g("activating"),await c(d),y("themeisle_sdk_promotions_wp_full_pay_installed",!Boolean(E("themeisle_sdk_promotions_wp_full_pay_installed"))),g("done")}},m.wp_full_pay.install),(0,e.createElement)(n.Button,{variant:"link",target:"_blank",href:"https://wordpress.org/plugins/wp-full-stripe-free/"},(0,e.createElement)("span",{className:"dashicons dashicons-external"}),(0,e.createElement)("span",null,m.learnmore)));return(0,e.createElement)(e.Fragment,null,(0,e.createElement)(n.Button,{disabled:w&&"done"!==w,onClick:async()=>{h(!0);const e={...s};e["wp-full-pay-plugins-install"]=(new Date).getTime()/1e3|0,window.themeisleSDKPromotions.option=e,await y(a,JSON.stringify(e)),t&&t()},variant:"link",className:"om-notice-dismiss"},(0,e.createElement)("span",{className:"dashicons-no-alt dashicons"}),(0,e.createElement)("span",{className:"screen-reader-text"},m.wp_full_pay.dismisscta)),(0,e.createElement)("div",{className:"content"},(0,e.createElement)("div",null,(0,e.createElement)("p",null,o),(0,e.createElement)("p",{className:"description"},m.wp_full_pay.message),w?"done"===w?(0,e.createElement)("div",{className:"done"},(0,e.createElement)("p",null,m.all_set),(0,e.createElement)(n.Button,{icon:"external",variant:"primary",href:p,target:"_blank"},m.wp_full_pay.gotodash)):(0,e.createElement)("p",{className:"om-progress"},(0,e.createElement)("span",{className:"dashicons dashicons-update spin"}),(0,e.createElement)("span",null,"installing"===w&&m.installing,"activating"===w&&m.activating,"…")):v)))};(()=>{if(window.themeisleSDKPromotions.option["wp-full-pay-plugins-install"])return;const t=document.querySelector("#ti-wp-full-pay-notice");t&&(0,i.createRoot)(t).render((0,e.createElement)(_,{onDismiss:()=>{t.style.display="none"}}))})()}},n={};function o(e){var s=n[e];if(void 0!==s)return s.exports;var i=n[e]={exports:{}};return t[e](i,i.exports,o),i.exports}o.m=t,e=[],o.O=(t,n,s,i)=>{if(!n){var a=1/0;for(m=0;m<e.length;m++){for(var[n,s,i]=e[m],l=!0,r=0;r<n.length;r++)(!1&i||a>=i)&&Object.keys(o.O).every((e=>o.O[e](n[r])))?n.splice(r--,1):(l=!1,i<a&&(a=i));if(l){e.splice(m--,1);var c=s();void 0!==c&&(t=c)}}return t}i=i||0;for(var m=e.length;m>0&&e[m-1][2]>i;m--)e[m]=e[m-1];e[m]=[n,s,i]},o.o=(e,t)=>Object.prototype.hasOwnProperty.call(e,t),(()=>{var e={57:0,350:0};o.O.j=t=>0===e[t];var t=(t,n)=>{var s,i,[a,l,r]=n,c=0;if(a.some((t=>0!==e[t]))){for(s in l)o.o(l,s)&&(o.m[s]=l[s]);if(r)var m=r(o)}for(t&&t(n);c<a.length;c++)i=a[c],o.o(e,i)&&e[i]&&e[i][0](),e[i]=0;return o.O(m)},n=globalThis.webpackChunkthemeisle_sdk=globalThis.webpackChunkthemeisle_sdk||[];n.forEach(t.bind(null,0)),n.push=t.bind(null,n.push.bind(n))})();var s=o.O(void 0,[350],(()=>o(753)));s=o.O(s)})();
     1(()=>{"use strict";var e,t={536:()=>{const e=window.React,t=window.wp.blockEditor,n=window.wp.components,o=window.wp.compose,i=window.wp.data,s=window.wp.element,a=window.wp.hooks,l=()=>{const{createNotice:e}=(0,i.dispatch)("core/notices"),[t,n]=(0,s.useState)({}),[o,a]=(0,s.useState)("loading");return(0,i.useSelect)((e=>{if(Object.keys(t).length)return;const{getEntityRecord:o}=e("core"),i=o("root","site");i&&(a("loaded"),n(i))}),[]),[e=>t?.[e],async(t,o,i="Settings saved.")=>{const s={[t]:o};try{const t=await fetch("/wp-json/wp/v2/settings",{method:"POST",headers:{"Content-Type":"application/json","X-WP-Nonce":wpApiSettings.nonce},body:JSON.stringify(s)});t.ok||(a("error"),e("error","Could not save the settings.",{isDismissible:!0,type:"snackbar"}));const o=await t.json();a("loaded"),e("success",i,{isDismissible:!0,type:"snackbar"}),n(o)}catch(e){console.error("Error updating option:",e)}},o]},r=(e,t=!1)=>new Promise((n=>{wp.updates.ajax(!0===t?"install-theme":"install-plugin",{slug:e,success:e=>{n({success:!0,data:e})},error:e=>{n({success:!1,code:e.errorCode})}})})),c=e=>new Promise((t=>{jQuery.get(e).done((()=>{t({success:!0})})).fail((()=>{t({success:!1})}))})),m=(e,t)=>{const n={};return Object.keys(t).forEach((function(e){"innerBlocks"!==e&&(n[e]=t[e])})),e.push(n),Array.isArray(t.innerBlocks)?(n.innerBlocks=t.innerBlocks.map((e=>e.id)),t.innerBlocks.reduce(m,e)):e},d={button:{display:"flex",justifyContent:"center",width:"100%"},image:{padding:"20px 0"},skip:{container:{display:"flex",flexDirection:"column",alignItems:"center"},button:{fontSize:"9px"},poweredby:{fontSize:"9px",textTransform:"uppercase"}}},p={"blocks-css":{title:"Custom CSS",description:"Enable Otter Blocks to add Custom CSS for this block.",image:"css.jpg"},"blocks-animation":{title:"Animations",description:"Enable Otter Blocks to add Animations for this block.",image:"animation.jpg"},"blocks-conditions":{title:"Visibility Conditions",description:"Enable Otter Blocks to add Visibility Conditions for this block.",image:"conditions.jpg"}},u=({onClick:t})=>(0,e.createElement)("div",{style:d.skip.container},(0,e.createElement)(n.Button,{style:d.skip.button,variant:"tertiary",onClick:t},"Skip for now"),(0,e.createElement)("span",{style:d.skip.poweredby},"Recommended by ",window.themeisleSDKPromotions.product)),h=(0,o.createHigherOrderComponent)((o=>i=>{const[a,m]=(0,s.useState)(!1),[h,w]=(0,s.useState)("default"),[g,E]=(0,s.useState)(!1),[y,v,f]=l();if((0,s.useEffect)((()=>{g&&(()=>{const e={...window.themeisleSDKPromotions.option};e[window.themeisleSDKPromotions.showPromotion]=(new Date).getTime()/1e3|0,v("themeisle_sdk_promotions",JSON.stringify(e)),window.themeisleSDKPromotions.showPromotion=!1})()}),[g]),!i.isSelected||!Boolean(window.themeisleSDKPromotions.showPromotion))return(0,e.createElement)(o,{...i});const k=async()=>{m(!0),await r("otter-blocks"),v("themeisle_sdk_promotions_otter_installed",!Boolean(y("themeisle_sdk_promotions_otter_installed"))),await c(window.themeisleSDKPromotions.otterActivationUrl),m(!1),w("installed")},S=()=>"installed"===h?(0,e.createElement)("p",null,(0,e.createElement)("strong",null,"Awesome! Refresh the page to see Otter Blocks in action.")):(0,e.createElement)(n.Button,{variant:"secondary",onClick:k,isBusy:a,style:d.button},"Install & Activate Otter Blocks");return g?(0,e.createElement)(o,{...i}):(0,e.createElement)(s.Fragment,null,(0,e.createElement)(o,{...i}),(0,e.createElement)(t.InspectorControls,null,Object.keys(p).map((t=>{if(t===window.themeisleSDKPromotions.showPromotion){const o=p[t];return(0,e.createElement)(n.PanelBody,{key:t,title:o.title,initialOpen:!1},(0,e.createElement)("p",null,o.description),(0,e.createElement)(S,null),(0,e.createElement)("img",{style:d.image,src:window.themeisleSDKPromotions.assets+o.image}),(0,e.createElement)(u,{onClick:()=>E(!0)}))}}))))}),"withInspectorControl");(0,i.select)("core/edit-site")||(0,a.addFilter)("editor.BlockEdit","themeisle-sdk/with-inspector-controls",h);const w=window.wp.plugins,g=window.wp.editPost;function E({stacked:t=!1,type:o,onDismiss:i,onSuccess:a,initialStatus:m=null}){const{title:d,option:p,optionKey:u,labels:h,optimoleActivationUrl:w,optimoleDash:g}=window.themeisleSDKPromotions,[E,y]=(0,s.useState)(!1),[v,f]=(0,s.useState)(m),[k,S]=l(),P=async()=>{y(!0);const e={...p};e[o]=(new Date).getTime()/1e3|0,window.themeisleSDKPromotions.option=e,await S(u,JSON.stringify(e)),i&&i()},_=async e=>{e.preventDefault(),f("installing"),await r("optimole-wp"),f("activating"),await c(w),S("themeisle_sdk_promotions_optimole_installed",!0).then((()=>{f("done")}))};if(E)return null;const b=()=>"done"===v?(0,e.createElement)("div",{className:"done"},(0,e.createElement)("p",null," ",h.all_set),(0,e.createElement)(n.Button,{icon:"external",isPrimary:!0,href:g,target:"_blank"},h.optimole.gotodash)):(0,e.createElement)("p",{className:"om-progress"},(0,e.createElement)("span",{className:"dashicons dashicons-update spin"}),(0,e.createElement)("span",null,"installing"===v&&h.installing,"activating"===v&&h.activating,"…")),D=()=>(0,e.createElement)(n.Button,{disabled:v&&"done"!==v,onClick:P,isLink:!0,className:"om-notice-dismiss"},(0,e.createElement)("span",{className:"dashicons-no-alt dashicons"}),(0,e.createElement)("span",{className:"screen-reader-text"},h.optimole.dismisscta)),N=(t=!1)=>(0,e.createElement)(e.Fragment,null,(0,e.createElement)(n.Button,{isPrimary:!0,onClick:_,className:t?"cta":""},h.optimole.installOptimole),(0,e.createElement)(n.Button,{isLink:!0,target:"_blank",href:"https://wordpress.org/plugins/optimole-wp"},(0,e.createElement)("span",{className:"dashicons dashicons-external"}),(0,e.createElement)("span",null," ",h.learnmore))),B=(0,e.createElement)("div",{className:"ti-om-stack-wrap ti-sdk-om-notice"},(0,e.createElement)("div",{className:"om-stack-notice"},D(),(0,e.createElement)("i",null,d),(0,e.createElement)("p",null,["om-editor","om-image-block"].includes(o)?h.optimole.message1:h.optimole.message2),v?b():N(!0))),K=(0,e.createElement)(e.Fragment,null,D(),(0,e.createElement)("div",{className:"content"},(0,e.createElement)("div",null,(0,e.createElement)("p",null,d),(0,e.createElement)("p",{className:"description"},"om-media"===o?h.optimole.message3:h.optimole.message4),v?b():(0,e.createElement)("div",{className:"actions"},N()))));return t?B:K}const y=()=>{const[t,n]=(0,s.useState)(!0),{getBlocks:o}=(0,i.useSelect)((e=>{const{getBlocks:t}=e("core/block-editor");return{getBlocks:t}}));var a;if((a=o(),"core/image",a.reduce(m,[]).filter((e=>"core/image"===e.name))).length<2)return null;const l="ti-sdk-optimole-post-publish "+(t?"":"hidden");return(0,e.createElement)(g.PluginPostPublishPanel,{className:l},(0,e.createElement)(E,{stacked:!0,type:"om-editor",onDismiss:()=>{n(!1)}}))};new class{constructor(){const{showPromotion:e,debug:t}=window.themeisleSDKPromotions;this.promo=e,this.debug="1"===t,this.domRef=null,this.run()}run(){if(this.debug)this.runAll();else switch(this.promo){case"om-attachment":this.runAttachmentPromo();break;case"om-media":this.runMediaPromo();break;case"om-editor":this.runEditorPromo();break;case"om-image-block":this.runImageBlockPromo();break;case"om-elementor":this.runElementorPromo()}}runAttachmentPromo(){wp.media.view.Attachment.Details.prototype.on("ready",(()=>{setTimeout((()=>{this.removeAttachmentPromo(),this.addAttachmentPromo()}),100)})),wp.media.view.Modal.prototype.on("close",(()=>{setTimeout(this.removeAttachmentPromo,100)}))}runMediaPromo(){if(window.themeisleSDKPromotions.option["om-media"])return;const t=document.querySelector("#ti-optml-notice");t&&(0,s.render)((0,e.createElement)(E,{type:"om-media",onDismiss:()=>{t.style.opacity=0}}),t)}runImageBlockPromo(){if(window.themeisleSDKPromotions.option["om-image-block"])return;let n=!0,i=null;const l=(0,o.createHigherOrderComponent)((o=>a=>"core/image"===a.name&&n?(0,e.createElement)(s.Fragment,null,(0,e.createElement)(o,{...a}),(0,e.createElement)(t.InspectorControls,null,(0,e.createElement)(E,{stacked:!0,type:"om-image-block",initialStatus:i,onDismiss:()=>{n=!1},onSuccess:()=>{i="done"}}))):(0,e.createElement)(o,{...a})),"withImagePromo");(0,a.addFilter)("editor.BlockEdit","optimole-promo/image-promo",l,99)}runEditorPromo(){window.themeisleSDKPromotions.option["om-editor"]||(0,w.registerPlugin)("optimole-promo",{render:y})}runElementorPromo(){if(!window.elementor)return;const e=this;elementor.on("preview:loaded",(()=>{elementor.panel.currentView.on("set:page:editor",(t=>{e.domRef&&(0,s.unmountComponentAtNode)(e.domRef),t.activeSection&&"section_image"===t.activeSection&&e.runElementorActions(e)}))}))}addAttachmentPromo(){if(this.domRef&&(0,s.unmountComponentAtNode)(this.domRef),window.themeisleSDKPromotions.option["om-attachment"])return;const t=document.querySelector("#ti-optml-notice-helper");t&&(this.domRef=t,(0,s.render)((0,e.createElement)("div",{className:"notice notice-info ti-sdk-om-notice",style:{margin:0}},(0,e.createElement)(E,{type:"om-attachment",onDismiss:()=>{t.style.opacity=0}})),t))}removeAttachmentPromo(){const e=document.querySelector("#ti-optml-notice-helper");e&&(0,s.unmountComponentAtNode)(e)}runElementorActions(t){if(window.themeisleSDKPromotions.option["om-elementor"])return;const n=document.querySelector("#elementor-panel__editor__help"),o=document.createElement("div");o.id="ti-optml-notice",t.domRef=o,n&&(n.parentNode.insertBefore(o,n),(0,s.render)((0,e.createElement)(E,{stacked:!0,type:"om-elementor",onDismiss:()=>{o.style.opacity=0}}),o))}runAll(){this.runAttachmentPromo(),this.runMediaPromo(),this.runEditorPromo(),this.runImageBlockPromo(),this.runElementorPromo()}};const v=({onDismiss:t=(()=>{})})=>{const[o,i]=(0,s.useState)(""),[a,m]=l();return(0,e.createElement)(s.Fragment,null,(0,e.createElement)(n.Button,{disabled:"installing"===o,onClick:async()=>{const e={...window.themeisleSDKPromotions.option};e["rop-posts"]=(new Date).getTime()/1e3|0,window.themeisleSDKPromotions.option=e,await m(window.themeisleSDKPromotions.optionKey,JSON.stringify(e)),t&&t()},variant:"link",className:"om-notice-dismiss"},(0,e.createElement)("span",{className:"dashicons-no-alt dashicons"}),(0,e.createElement)("span",{className:"screen-reader-text"},"Dismiss this notice.")),(0,e.createElement)("p",null,"Boost your content's reach effortlessly! Introducing ",(0,e.createElement)("b",null,"Revive Social"),", a cutting-edge plugin from the makers of ",window.themeisleSDKPromotions.product,". Seamlessly auto-share old & new content across social media, driving traffic like never before."),(0,e.createElement)("div",{className:"rop-notice-actions"},"installed"!==o?(0,e.createElement)(n.Button,{variant:"primary",isBusy:"installing"===o,onClick:async()=>{i("installing"),await r("tweet-old-post"),await c(window.themeisleSDKPromotions.ropActivationUrl),m("themeisle_sdk_promotions_rop_installed",!Boolean(a("themeisle_sdk_promotions_rop_installed"))),i("installed")}},"Install & Activate"):(0,e.createElement)(n.Button,{variant:"primary",href:window.themeisleSDKPromotions.ropDash},"Visit Dashboard"),(0,e.createElement)(n.Button,{variant:"link",target:"_blank",href:"https://wordpress.org/plugins/tweet-old-post/"},(0,e.createElement)("span",{className:"dashicons dashicons-external"}),(0,e.createElement)("span",null,"Learn more"))))};new class{constructor(){const{showPromotion:e,debug:t}=window.themeisleSDKPromotions;this.promo=e,this.debug="1"===t,this.domRef=null,this.run()}run(){if(window.themeisleSDKPromotions.option["rop-posts"])return;const t=document.querySelector("#ti-rop-notice");t&&(0,s.render)((0,e.createElement)(v,{onDismiss:()=>{t.style.display="none"}}),t)}};const f=({onDismiss:t=(()=>{})})=>{const{title:o,optionKey:i,labels:a,neveAction:c,activateNeveURL:m}=window.themeisleSDKPromotions,[d,p]=l(),[u,h]=(0,s.useState)(null);return(0,e.createElement)(s.Fragment,null,(0,e.createElement)(n.Button,{disabled:u&&"done"!==u,onClick:async()=>{const e={...window.themeisleSDKPromotions.option};e["neve-themes-popular"]=(new Date).getTime()/1e3|0,window.themeisleSDKPromotions.option=e,await p(i,JSON.stringify(e)),t&&t()},isLink:!0,className:"om-notice-dismiss"},(0,e.createElement)("span",{className:"dashicons-no-alt dashicons"}),(0,e.createElement)("span",{className:"screen-reader-text"},a.redirectionCF7.dismisscta)),(0,e.createElement)("div",{className:"content"},(0,e.createElement)("div",null,(0,e.createElement)("p",null,o),(0,e.createElement)("p",{className:"description"},"Meet ",(0,e.createElement)("b",null,"Neve"),", from the creators of ",window.themeisleSDKPromotions.product,". A very fast and free theme, trusted by over 300,000 users for building their websites and rated 4.7 stars!"),!u&&(0,e.createElement)("div",{className:"actions"},(0,e.createElement)(n.Button,{variant:"primary",onClick:e=>{if(e.preventDefault(),"activate"===c)return h("activating"),void p("themeisle_sdk_promotions_neve_installed",!0).then((()=>{window.location.href=m}));h("installing"),r("neve",!0).then((e=>{h("activating"),p("themeisle_sdk_promotions_neve_installed",!0).then((()=>{window.location.href=e.data.activateUrl}))}))}},"install"===c&&a.installActivate,"activate"===c&&a.activate),(0,e.createElement)(n.Button,{variant:"link",href:window.themeisleSDKPromotions.nevePreviewURL},a.preview)),u&&"done"!==u&&(0,e.createElement)("p",{className:"om-progress"},(0,e.createElement)("span",{className:"dashicons dashicons-update spin"}),(0,e.createElement)("span",null,"installing"===u&&a.installing,"activating"===u&&a.activating,"…")))))};function k({type:t,onDismiss:o}){const{title:i,option:a,optionKey:m,labels:d,rfCF7ActivationUrl:p,cf7Dash:u}=window.themeisleSDKPromotions,[h,w]=(0,s.useState)(!1),[g,E]=(0,s.useState)(null),[y,v]=l();if(h)return null;const f=(0,e.createElement)("div",{className:"actions"},(0,e.createElement)(n.Button,{isPrimary:!0,onClick:async e=>{e.preventDefault(),E("installing"),await r("wpcf7-redirect"),E("activating"),await c(p),v("themeisle_sdk_promotions_redirection_cf7_installed",!Boolean(y("themeisle_sdk_promotions_redirection_cf7_installed"))),E("done")}},d.redirectionCF7.gst),(0,e.createElement)(n.Button,{isLink:!0,target:"_blank",href:"https://wordpress.org/plugins/wpcf7-redirect/"},(0,e.createElement)("span",{className:"dashicons dashicons-external"}),(0,e.createElement)("span",null," ",d.learnmore)));return(0,e.createElement)(e.Fragment,null,(0,e.createElement)(n.Button,{disabled:g&&"done"!==g,onClick:async()=>{w(!0);const e={...a};e[t]=(new Date).getTime()/1e3|0,window.themeisleSDKPromotions.option=e,await v(m,JSON.stringify(e)),o&&o()},isLink:!0,className:"om-notice-dismiss"},(0,e.createElement)("span",{className:"dashicons-no-alt dashicons"}),(0,e.createElement)("span",{className:"screen-reader-text"},d.redirectionCF7.dismisscta)),(0,e.createElement)("div",{className:"content"},(0,e.createElement)("div",null,(0,e.createElement)("p",null,i),(0,e.createElement)("p",{className:"description"},d.redirectionCF7.message),g?"done"===g?(0,e.createElement)("div",{className:"done"},(0,e.createElement)("p",null," ",d.all_set),(0,e.createElement)(n.Button,{icon:"external",variant:"primary",href:u,target:"_blank"},d.redirectionCF7.gotodash)):(0,e.createElement)("p",{className:"om-progress"},(0,e.createElement)("span",{className:"dashicons dashicons-update spin"}),(0,e.createElement)("span",null,"installing"===g&&d.installing,"activating"===g&&d.activating,"…")):f)))}new class{constructor(){const{showPromotion:e,debug:t}=window.themeisleSDKPromotions;this.promo=e,this.debug="1"===t,this.domRef=null,this.run()}run(){if(window.themeisleSDKPromotions.option["neve-themes-popular"])return;const t=document.querySelector("#ti-neve-notice");t&&(0,s.render)((0,e.createElement)(f,{onDismiss:()=>{t.style.display="none"}}),t)}},new class{constructor(){this.run()}run(){if(window.themeisleSDKPromotions.option["redirection-cf7"])return;const t=document.querySelector("#ti-redirection-cf7-notice");t&&(0,s.render)((0,e.createElement)(k,{type:"redirection-cf7",onDismiss:()=>{t.style.display="none"}}),t)}};const S=({onDismiss:t=(()=>{})})=>{const{title:o,option:i,optionKey:a,labels:m,hyveActivationUrl:d,hyveDash:p}=window.themeisleSDKPromotions,[u,h]=(0,s.useState)(!1),[w,g]=(0,s.useState)(null),[E,y]=l();if(u)return null;const v=(0,e.createElement)("div",{className:"actions"},(0,e.createElement)(n.Button,{variant:"primary",onClick:async e=>{e.preventDefault(),g("installing"),await r("hyve-lite"),g("activating"),await c(d),y("themeisle_sdk_promotions_hyve_installed",!Boolean(E("themeisle_sdk_promotions_hyve_installed"))),g("done")}},m.hyve.install),(0,e.createElement)(n.Button,{variant:"link",target:"_blank",href:"https://wordpress.org/plugins/hyve-lite/"},(0,e.createElement)("span",{className:"dashicons dashicons-external"}),(0,e.createElement)("span",null,m.learnmore)));return(0,e.createElement)(e.Fragment,null,(0,e.createElement)(n.Button,{disabled:w&&"done"!==w,onClick:async()=>{h(!0);const e={...i};e["hyve-plugins-install"]=(new Date).getTime()/1e3|0,window.themeisleSDKPromotions.option=e,await y(a,JSON.stringify(e)),t&&t()},variant:"link",className:"om-notice-dismiss"},(0,e.createElement)("span",{className:"dashicons-no-alt dashicons"}),(0,e.createElement)("span",{className:"screen-reader-text"},m.hyve.dismisscta)),(0,e.createElement)("div",{className:"content"},(0,e.createElement)("div",null,(0,e.createElement)("p",null,o),(0,e.createElement)("p",{className:"description"},m.hyve.message),w?"done"===w?(0,e.createElement)("div",{className:"done"},(0,e.createElement)("p",null,m.all_set),(0,e.createElement)(n.Button,{icon:"external",variant:"primary",href:p,target:"_blank"},m.hyve.gotodash)):(0,e.createElement)("p",{className:"om-progress"},(0,e.createElement)("span",{className:"dashicons dashicons-update spin"}),(0,e.createElement)("span",null,"installing"===w&&m.installing,"activating"===w&&m.activating,"…")):v)))};(()=>{if(window.themeisleSDKPromotions.option["hyve-plugins-install"])return;const t=document.querySelector("#ti-hyve-notice");t&&(0,s.createRoot)(t).render((0,e.createElement)(S,{onDismiss:()=>{t.style.display="none"}}))})();const P=(0,o.createHigherOrderComponent)((o=>i=>{if("core/rss"!==i.name||!Boolean(window.themeisleSDKPromotions.showPromotion))return(0,e.createElement)(o,{...i});if("feedzy-editor"!==window.themeisleSDKPromotions.showPromotion)return(0,e.createElement)(o,{...i});const[a,r,c]=l(),[m,d]=(0,s.useState)(!1);return(0,s.useEffect)((()=>{m&&(()=>{const e={...window.themeisleSDKPromotions.option};e[window.themeisleSDKPromotions.showPromotion]=(new Date).getTime()/1e3|0,r("themeisle_sdk_promotions",JSON.stringify(e)),window.themeisleSDKPromotions.showPromotion=!1})()}),[m]),m?(0,e.createElement)(o,{...i}):(0,e.createElement)(e.Fragment,null,(0,e.createElement)(o,{...i}),(0,e.createElement)(t.InspectorControls,null,(0,e.createElement)(n.PanelBody,null,(0,e.createElement)("div",{style:{padding:"16px 10px",backgroundColor:"#f0f6fc",borderLeft:"4px solid #72aee6",margin:"5px 0",fontSize:"13px",color:"#1e1e1e",position:"relative"}},(0,e.createElement)("div",{dangerouslySetInnerHTML:{__html:window.themeisleSDKPromotions.labels.feedzy.editor_recommends}}),(0,e.createElement)("button",{onClick:()=>d(!0),style:{position:"absolute",top:"-2px",right:"3px",cursor:"pointer",background:"none",border:"none",padding:"2px",color:"#757575",fontSize:"16px"}},"×")))))}),"withFeedzyNotice");(0,a.addFilter)("editor.BlockEdit","feedzy/with-notice",P);const _=({onDismiss:t=(()=>{})})=>{const{title:o,option:i,optionKey:a,labels:m,wpFullPayActivationUrl:d,wpFullPayDash:p}=window.themeisleSDKPromotions,[u,h]=(0,s.useState)(!1),[w,g]=(0,s.useState)(null),[E,y]=l();if(u)return null;const v=(0,e.createElement)("div",{className:"actions"},(0,e.createElement)(n.Button,{variant:"primary",onClick:async e=>{e.preventDefault(),g("installing"),await r("wp-full-stripe-free"),g("activating"),await c(d),y("themeisle_sdk_promotions_wp_full_pay_installed",!Boolean(E("themeisle_sdk_promotions_wp_full_pay_installed"))),g("done")}},m.wp_full_pay.install),(0,e.createElement)(n.Button,{variant:"link",target:"_blank",href:"https://wordpress.org/plugins/wp-full-stripe-free/"},(0,e.createElement)("span",{className:"dashicons dashicons-external"}),(0,e.createElement)("span",null,m.learnmore)));return(0,e.createElement)(e.Fragment,null,(0,e.createElement)(n.Button,{disabled:w&&"done"!==w,onClick:async()=>{h(!0);const e={...i};e["wp-full-pay-plugins-install"]=(new Date).getTime()/1e3|0,window.themeisleSDKPromotions.option=e,await y(a,JSON.stringify(e)),t&&t()},variant:"link",className:"om-notice-dismiss"},(0,e.createElement)("span",{className:"dashicons-no-alt dashicons"}),(0,e.createElement)("span",{className:"screen-reader-text"},m.wp_full_pay.dismisscta)),(0,e.createElement)("div",{className:"content"},(0,e.createElement)("div",null,(0,e.createElement)("p",null,o),(0,e.createElement)("p",{className:"description"},m.wp_full_pay.message),w?"done"===w?(0,e.createElement)("div",{className:"done"},(0,e.createElement)("p",null,m.all_set),(0,e.createElement)(n.Button,{icon:"external",variant:"primary",href:p,target:"_blank"},m.wp_full_pay.gotodash)):(0,e.createElement)("p",{className:"om-progress"},(0,e.createElement)("span",{className:"dashicons dashicons-update spin"}),(0,e.createElement)("span",null,"installing"===w&&m.installing,"activating"===w&&m.activating,"…")):v)))};(()=>{if(window.themeisleSDKPromotions.option["wp-full-pay-plugins-install"])return;const t=document.querySelector("#ti-wp-full-pay-notice");t&&(0,s.createRoot)(t).render((0,e.createElement)(_,{onDismiss:()=>{t.style.display="none"}}))})()}},n={};function o(e){var i=n[e];if(void 0!==i)return i.exports;var s=n[e]={exports:{}};return t[e](s,s.exports,o),s.exports}o.m=t,e=[],o.O=(t,n,i,s)=>{if(!n){var a=1/0;for(m=0;m<e.length;m++){for(var[n,i,s]=e[m],l=!0,r=0;r<n.length;r++)(!1&s||a>=s)&&Object.keys(o.O).every((e=>o.O[e](n[r])))?n.splice(r--,1):(l=!1,s<a&&(a=s));if(l){e.splice(m--,1);var c=i();void 0!==c&&(t=c)}}return t}s=s||0;for(var m=e.length;m>0&&e[m-1][2]>s;m--)e[m]=e[m-1];e[m]=[n,i,s]},o.o=(e,t)=>Object.prototype.hasOwnProperty.call(e,t),(()=>{var e={57:0,350:0};o.O.j=t=>0===e[t];var t=(t,n)=>{var i,s,[a,l,r]=n,c=0;if(a.some((t=>0!==e[t]))){for(i in l)o.o(l,i)&&(o.m[i]=l[i]);if(r)var m=r(o)}for(t&&t(n);c<a.length;c++)s=a[c],o.o(e,s)&&e[s]&&e[s][0](),e[s]=0;return o.O(m)},n=globalThis.webpackChunkthemeisle_sdk=globalThis.webpackChunkthemeisle_sdk||[];n.forEach(t.bind(null,0)),n.push=t.bind(null,n.push.bind(n))})();var i=o.O(void 0,[350],(()=>o(536)));i=o.O(i)})();
  • visualizer/tags/3.11.9/vendor/codeinwp/themeisle-sdk/load.php

    r3183867 r3240066  
    1515}
    1616// Current SDK version and path.
    17 $themeisle_sdk_version = '3.3.37';
     17$themeisle_sdk_version = '3.3.41';
    1818$themeisle_sdk_path    = dirname( __FILE__ );
    1919
  • visualizer/tags/3.11.9/vendor/codeinwp/themeisle-sdk/src/Loader.php

    r3183867 r3240066  
    139139                'spark_desc3'  => 'Enable an advanced review section, enlarging the basic review options with lots of capabilities.',
    140140            ],
     141
     142            'feedzy'          => [
     143                'import_desc'       => 'Schedule automatic content imports from any RSS feed directly to your site. %sBuilt by %s%s',
     144                'install_now'       => 'Install Now',
     145                'by'                => 'by %s',
     146                'editor_recommends' => '%s recommends %sFeedzy%s to display entries from any RSS feed with more advanced styling and filtering options.',
     147            ],
    141148            'optimole'        => [
    142149                'installOptimole' => 'Install Optimole',
  • visualizer/tags/3.11.9/vendor/codeinwp/themeisle-sdk/src/Modules/About_us.php

    r3183867 r3240066  
    379379                'name' => 'Hyve Lite',
    380380            ],
     381            'wp-full-stripe-free'                 => [
     382                'name' => 'WP Full Pay',
     383            ],
    381384        ];
    382385
  • visualizer/tags/3.11.9/vendor/codeinwp/themeisle-sdk/src/Modules/Licenser.php

    r3086048 r3240066  
    927927    public function can_load( $product ) {
    928928
    929         if ( $product->is_wordpress_available() ) {
     929        if ( ! $product->requires_license() ) {
    930930            return false;
    931931        }
     
    976976        add_action( 'admin_head', [ $this, 'auto_activate' ] );
    977977        if ( $this->product->is_plugin() ) {
    978             add_filter(
    979                 'pre_set_site_transient_update_plugins',
    980                 [
    981                     $this,
    982                     'pre_set_site_transient_update_plugins_filter',
    983                 ]
    984             );
    985             add_filter( 'plugins_api', array( $this, 'plugins_api_filter' ), 10, 3 );
    986             add_filter( //phpcs:ignore WordPressVIPMinimum.Hooks.RestrictedHooks.http_request_args
    987                 'http_request_args',
    988                 array(
    989                     $this,
     978            if ( ! $product->is_wordpress_available() ) {
     979                add_filter(
     980                    'pre_set_site_transient_update_plugins',
     981                    [
     982                        $this,
     983                        'pre_set_site_transient_update_plugins_filter',
     984                    ]
     985                );
     986                add_filter( 'plugins_api', array( $this, 'plugins_api_filter' ), 10, 3 );
     987                add_filter( //phpcs:ignore WordPressVIPMinimum.Hooks.RestrictedHooks.http_request_args
    990988                    'http_request_args',
    991                 ),
    992                 10,
    993                 2
    994             );
    995             if ( ! self::is_valid( $product->get_basefile() ) ) {
    996                 add_filter(
    997                     'plugin_action_links_' . plugin_basename( $product->get_basefile() ),
    998                     function ( $actions ) {
    999                         if ( $this->get_license_status( true ) !== self::STATUS_ACTIVE_EXPIRED ) {
    1000                             return $actions;
     989                    array(
     990                        $this,
     991                        'http_request_args',
     992                    ),
     993                    10,
     994                    2
     995                );
     996                if ( ! self::is_valid( $product->get_basefile() ) ) {
     997                    add_filter(
     998                        'plugin_action_links_' . plugin_basename( $product->get_basefile() ),
     999                        function ( $actions ) {
     1000                            if ( $this->get_license_status( true ) !== self::STATUS_ACTIVE_EXPIRED ) {
     1001                                return $actions;
     1002                            }
     1003                            $new_actions['deactivate'] = $actions['deactivate'];
     1004                            $new_actions['renew_link'] = '<a style="color:#d63638" href="' . esc_url( $this->renew_url() ) . '" target="_blank" rel="external noopener noreferrer">' . esc_html( Loader::$labels['licenser']['renew_cta'] ) . '</a>';
     1005
     1006                            return $new_actions;
    10011007                        }
    1002                         $new_actions['deactivate'] = $actions['deactivate'];
    1003                         $new_actions['renew_link'] = '<a style="color:#d63638" href="' . esc_url( $this->renew_url() ) . '" target="_blank" rel="external noopener noreferrer">' . esc_html( Loader::$labels['licenser']['renew_cta'] ) . '</a>';
    1004 
    1005                         return $new_actions;
    1006                     }
     1008                    );
     1009                }
     1010            }
     1011
     1012            return $this;
     1013        }
     1014        if ( $this->product->is_theme() ) {
     1015            if ( ! $product->is_wordpress_available() ) {
     1016                add_filter( 'site_transient_update_themes', array( &$this, 'theme_update_transient' ) );
     1017                add_action( 'delete_site_transient_update_themes', array( &$this, 'delete_theme_update_transient' ) );
     1018                add_action( 'load-update-core.php', array( &$this, 'delete_theme_update_transient' ) );
     1019                add_action( 'load-themes.php', array( &$this, 'delete_theme_update_transient' ) );
     1020                add_action( 'load-themes.php', array( &$this, 'load_themes_screen' ) );
     1021                add_filter( //phpcs:ignore WordPressVIPMinimum.Hooks.RestrictedHooks.http_request_args
     1022                    'http_request_args',
     1023                    array(
     1024                        $this,
     1025                        'disable_wporg_update',
     1026                    ),
     1027                    5,
     1028                    2
    10071029                );
    10081030            }
    1009 
    1010             return $this;
    1011         }
    1012         if ( $this->product->is_theme() ) {
    1013             add_filter( 'site_transient_update_themes', array( &$this, 'theme_update_transient' ) );
    1014             add_action( 'delete_site_transient_update_themes', array( &$this, 'delete_theme_update_transient' ) );
    1015             add_action( 'load-update-core.php', array( &$this, 'delete_theme_update_transient' ) );
    1016             add_action( 'load-themes.php', array( &$this, 'delete_theme_update_transient' ) );
    1017             add_action( 'load-themes.php', array( &$this, 'load_themes_screen' ) );
    1018             add_filter( //phpcs:ignore WordPressVIPMinimum.Hooks.RestrictedHooks.http_request_args
    1019                 'http_request_args',
    1020                 array(
    1021                     $this,
    1022                     'disable_wporg_update',
    1023                 ),
    1024                 5,
    1025                 2
    1026             );
    10271031
    10281032            return $this;
  • visualizer/tags/3.11.9/vendor/codeinwp/themeisle-sdk/src/Modules/Promotions.php

    r3183867 r3240066  
    3333     * @var array
    3434     */
    35     private $promotions = array();
     35    public $promotions = array();
    3636
    3737    /**
     
    100100
    101101    /**
     102     * Option key for Feedzy.
     103     *
     104     * @var string
     105     */
     106    private $option_feedzy = 'themeisle_sdk_promotions_feedzy_installed';
     107
     108    /**
    102109     * Loaded promotion.
    103110     *
     
    135142        }
    136143
    137         $this->debug          = apply_filters( 'themeisle_sdk_promo_debug', $this->debug );
    138         $promotions_to_load   = apply_filters( $product->get_key() . '_load_promotions', array() );
     144        $this->debug        = apply_filters( 'themeisle_sdk_promo_debug', $this->debug );
     145        $promotions_to_load = apply_filters( $product->get_key() . '_load_promotions', array() );
     146
    139147        $promotions_to_load[] = 'optimole';
    140148        $promotions_to_load[] = 'rop';
     
    144152        $promotions_to_load[] = 'hyve';
    145153        $promotions_to_load[] = 'wp_full_pay';
    146 
     154        $promotions_to_load[] = 'feedzy_import';
     155
     156        if ( defined( 'NEVE_VERSION' ) || defined( 'WPMM_PATH' ) || defined( 'OTTER_BLOCKS_VERSION' ) || defined( 'OBFX_URL' ) ) {
     157            $promotions_to_load[] = 'feedzy_embed';
     158        }
    147159        $promotions_to_load = array_unique( $promotions_to_load );
    148160
     
    156168            }
    157169        }
    158 
    159170        add_action( 'init', array( $this, 'register_settings' ), 99 );
    160171        add_action( 'admin_init', array( $this, 'register_reference' ), 99 );
     
    246257        if ( isset( $_GET['wp_full_pay_reference_key'] ) ) {
    247258            update_option( 'wp_full_pay_reference_key', sanitize_key( $_GET['wp_full_pay_reference_key'] ) );
     259        }
     260        if ( isset( $_GET['feedzy_reference_key'] ) || ( isset( $_GET['from'], $_GET['plugin'] ) && $_GET['from'] === 'import' && str_starts_with( sanitize_key( $_GET['plugin'] ), 'feedzy' ) ) ) {
     261            update_option( 'feedzy_reference_key', sanitize_key( $_GET['feedzy_reference_key'] ?? 'i-' . $this->product->get_key() ) );
     262            update_option( $this->option_feedzy, 1 );
    248263        }
    249264    }
     
    394409        $has_wfp_full_pay          = defined( 'WP_FULL_STRIPE_BASENAME' ) || $this->is_plugin_installed( 'wp-full-stripe-free' );
    395410        $had_wfp_from_promo        = get_option( $this->option_wp_full_pay, false );
     411        $has_wfp_conditions        = $this->has_donate_page();
    396412        $is_min_req_v              = version_compare( get_bloginfo( 'version' ), '5.8', '>=' );
    397413        $current_theme             = wp_get_theme();
     
    402418        $is_min_php_8_1            = version_compare( PHP_VERSION, '8.1', '>=' );
    403419
     420        $has_feedzy            = defined( 'FEEDZY_BASEFILE' ) || $this->is_plugin_installed( 'feedzy-rss-feedss' );
     421        $had_feedzy_from_promo = get_option( $this->option_feedzy, false );
     422
    404423        $all = [
    405424            'optimole'        => [
     
    428447                ],
    429448            ],
     449            'feedzy_import'   => [
     450                'feedzy-import' => [
     451                    'env'    => true,
     452                    'screen' => 'import',
     453                    'always' => true,
     454                ],
     455            ],
     456            'feedzy_embed'    => [
     457                'feedzy-editor' => [
     458                    'env'    => ! $has_feedzy && is_main_site() && ! $had_feedzy_from_promo,
     459                    'screen' => 'editor',
     460                ],
     461            ],
    430462            'otter'           => [
    431463                'blocks-css'        => [
     
    491523            'wp_full_pay'     => [
    492524                'wp-full-pay-plugins-install' => [
    493                     'env'    => ! $has_wfp_full_pay && ! $had_wfp_from_promo,
     525                    'env'    => ! $has_wfp_full_pay && ! $had_wfp_from_promo && $has_wfp_conditions,
    494526                    'screen' => 'plugin-install',
    495527                ],
     
    514546            }
    515547        }
    516 
    517548        return $all;
    518549    }
     
    564595        $is_plugin_install = isset( $current_screen->id ) && ( $current_screen->id === 'plugin-install' );
    565596        $is_product        = isset( $current_screen->id ) && $current_screen->id === 'product';
     597        $is_import         = isset( $current_screen->id ) && $current_screen->id === 'import';
    566598        $is_cf7_install    = isset( $current_screen->id ) && function_exists( 'str_contains' ) ? str_contains( $current_screen->id, 'page_wpcf7' ) : false;
    567599
    568         $return = [];
    569        
     600        $return               = [];
    570601        $product_install_time = (int) $this->product->get_install_time();
    571602        $is_older             = time() > ( $product_install_time + ( 3 * DAY_IN_SECONDS ) );
    572603        $is_newer             = time() < ( $product_install_time + ( 6 * HOUR_IN_SECONDS ) );
    573 
    574604        foreach ( $this->promotions as $slug => $promos ) {
    575605            foreach ( $promos as $key => $data ) {
    576606
    577                 $data = wp_parse_args( $data, [ 'delayed' => false ] );
     607                $data = wp_parse_args(
     608                    $data,
     609                    [
     610                        'delayed' => false,
     611                        'always'  => false,
     612                    ]
     613                );
    578614
    579615                if (
    580                     ! $this->debug && 
     616                    ! $this->debug &&
    581617                    (
    582618                        ( $data['delayed'] === true && ! $is_older ) || // Skip promotions that are delayed for 3 days.
    583619                        $is_newer // Skip promotions for the first 6 hours after install.
    584620                    )
     621                    && ! $data['always']
    585622                ) {
    586623                    unset( $this->promotions[ $slug ][ $key ] );
     
    588625                    continue;
    589626                }
    590 
    591627                switch ( $data['screen'] ) {
    592628                    case 'media-editor':
     
    602638                    case 'editor':
    603639                        if ( ! $is_editor || $is_elementor ) {
     640                            unset( $this->promotions[ $slug ][ $key ] );
     641                        }
     642                        break;
     643                    case 'import':
     644                        if ( ! $is_import ) {
    604645                            unset( $this->promotions[ $slug ][ $key ] );
    605646                        }
     
    683724            }
    684725
     726            add_action( 'load-import.php', [ $this, 'add_import' ] );
    685727            $this->load_woo_promos();
    686728
    687729            return;
    688730        }
    689 
    690731        switch ( $slug ) {
    691732            case 'om-editor':
     
    706747                add_action( 'admin_enqueue_scripts', [ $this, 'enqueue' ] );
    707748                add_action( 'admin_notices', [ $this, 'render_rop_dash_notice' ] );
     749                break;
     750            case 'feedzy-import':
     751                add_action( 'load-import.php', [ $this, 'add_import' ] );
     752
     753                break;
     754            case 'feedzy-editor':
     755                add_action( 'enqueue_block_editor_assets', [ $this, 'enqueue' ] );
    708756                break;
    709757            case 'ppom':
     
    745793
    746794    /**
     795     * Add import row.
     796     *
     797     * @return void
     798     */
     799    public function add_import() {
     800        global $wp_importers;
     801        if ( isset( $wp_importers['feedzy-rss-feeds'] ) ) {
     802            return;
     803        }
     804        $wp_importers['feedzy-rss-feeds'] = array( // phpcs:ignore WordPress.WP.GlobalVariablesOverride.Prohibited
     805            'Feedzy',
     806            sprintf( Loader::$labels['promotions']['feedzy']['import_desc'], '<span style="float: left; font-style: italic;margin-top:0.4em;">', $this->product->get_friendly_name(), '</span>' ),
     807            'install' => 'feedzy-rss-feeds',
     808        );
     809        if ( defined( 'FEEDZY_BASEFILE' ) ) {
     810            unset( $wp_importers['feedzy-rss-feeds']['install'] );
     811        }
     812    }
     813    /**
    747814     * Render dashboard notice.
    748815     */
     
    769836        $deps              = array_merge( $asset_file['dependencies'], [ 'updates' ] );
    770837
    771         $themes      = wp_get_themes();
    772         $neve_action = isset( $themes['neve'] ) ? 'activate' : 'install';
    773 
     838        $themes                                = wp_get_themes();
     839        $neve_action                           = isset( $themes['neve'] ) ? 'activate' : 'install';
     840        $labels                                = Loader::$labels['promotions'];
     841        $labels['feedzy']['editor_recommends'] = sprintf(
     842            $labels['feedzy']['editor_recommends'],
     843            $this->product->get_friendly_name(),
     844            '<a target="_blank" href="' . add_query_arg(
     845                array(
     846                    'tab'                  => 'plugin-information',
     847                    'plugin'               => 'feedzy-rss-feeds',
     848                    '_wpnonce'             => wp_create_nonce( 'activate-plugin_feedzy-rss-feeds' ),
     849                    'feedzy_reference_key' => 'e-' . $this->product->get_key(),
     850                ),
     851                network_admin_url( 'plugin-install.php' )
     852            ) . '">',
     853            '</a>'
     854        );
    774855        wp_register_script( $handle, $themeisle_sdk_src . 'assets/js/build/promos/index.js', $deps, $asset_file['version'], true );
    775856        wp_localize_script(
     
    778859            [
    779860                'debug'                  => $this->debug,
    780                 'labels'                 => Loader::$labels['promotions'],
     861                'labels'                 => $labels,
    781862                'email'                  => $user->user_email,
    782863                'showPromotion'          => $this->loaded_promo,
     
    810891                            '_wpnonce'   => wp_create_nonce( 'switch-theme_neve' ),
    811892                        ],
    812                         admin_url( 'themes.php' ) 
     893                        admin_url( 'themes.php' )
    813894                    )
    814895                ),
  • visualizer/tags/3.11.9/vendor/codeinwp/themeisle-sdk/src/Modules/Translations.php

    r3183867 r3240066  
    190190     */
    191191    public function add_theme_translations( $_transient_data ) {
    192         return $this->add_translations( $_transient_data, 'theme' );
     192        return $this->add_translations( $_transient_data, 'themes' );
    193193    }
    194194
  • visualizer/tags/3.11.9/vendor/codeinwp/themeisle-sdk/src/Product.php

    r3072683 r3240066  
    347347     */
    348348    public function get_friendly_name() {
    349         $name = apply_filters( $this->get_key() . '_friendly_name', trim( str_replace( 'Lite', '', $this->get_name() ) ) );
     349        $name = trim( str_replace( 'Lite', '', $this->get_name() ) );
     350        if ( defined( 'OTTER_BLOCKS_BASEFILE' ) && OTTER_BLOCKS_BASEFILE === $this->basefile ) {
     351            $name = 'Otter Blocks';
     352        }
     353        if ( defined( 'OPTML_BASEFILE' ) && OPTML_BASEFILE === $this->basefile ) {
     354            $name = 'Optimole';
     355        }
     356        if ( defined( 'WPMM_FILE' ) && WPMM_FILE === $this->basefile ) {
     357            $name = 'LightStart';
     358        }
     359        $name = apply_filters( $this->get_key() . '_friendly_name', $name );
    350360        $name = rtrim( $name, '- ()' );
    351361
  • visualizer/tags/3.11.9/vendor/composer/InstalledVersions.php

    r2890438 r3240066  
    3232     */
    3333    private static $installed;
     34
     35    /**
     36     * @var bool
     37     */
     38    private static $installedIsLocalDir;
    3439
    3540    /**
     
    310315        self::$installed = $data;
    311316        self::$installedByVendor = array();
     317
     318        // when using reload, we disable the duplicate protection to ensure that self::$installed data is
     319        // always returned, but we cannot know whether it comes from the installed.php in __DIR__ or not,
     320        // so we have to assume it does not, and that may result in duplicate data being returned when listing
     321        // all installed packages for example
     322        self::$installedIsLocalDir = false;
    312323    }
    313324
     
    323334
    324335        $installed = array();
     336        $copiedLocalDir = false;
    325337
    326338        if (self::$canGetVendors) {
     339            $selfDir = strtr(__DIR__, '\\', '/');
    327340            foreach (ClassLoader::getRegisteredLoaders() as $vendorDir => $loader) {
     341                $vendorDir = strtr($vendorDir, '\\', '/');
    328342                if (isset(self::$installedByVendor[$vendorDir])) {
    329343                    $installed[] = self::$installedByVendor[$vendorDir];
     
    331345                    /** @var array{root: array{name: string, pretty_version: string, version: string, reference: string|null, type: string, install_path: string, aliases: string[], dev: bool}, versions: array<string, array{pretty_version?: string, version?: string, reference?: string|null, type?: string, install_path?: string, aliases?: string[], dev_requirement: bool, replaced?: string[], provided?: string[]}>} $required */
    332346                    $required = require $vendorDir.'/composer/installed.php';
    333                     $installed[] = self::$installedByVendor[$vendorDir] = $required;
    334                     if (null === self::$installed && strtr($vendorDir.'/composer', '\\', '/') === strtr(__DIR__, '\\', '/')) {
    335                         self::$installed = $installed[count($installed) - 1];
     347                    self::$installedByVendor[$vendorDir] = $required;
     348                    $installed[] = $required;
     349                    if (self::$installed === null && $vendorDir.'/composer' === $selfDir) {
     350                        self::$installed = $required;
     351                        self::$installedIsLocalDir = true;
    336352                    }
     353                }
     354                if (self::$installedIsLocalDir && $vendorDir.'/composer' === $selfDir) {
     355                    $copiedLocalDir = true;
    337356                }
    338357            }
     
    351370        }
    352371
    353         if (self::$installed !== array()) {
     372        if (self::$installed !== array() && !$copiedLocalDir) {
    354373            $installed[] = self::$installed;
    355374        }
  • visualizer/tags/3.11.9/vendor/composer/installed.json

    r3183867 r3240066  
    33        {
    44            "name": "codeinwp/themeisle-sdk",
    5             "version": "3.3.37",
    6             "version_normalized": "3.3.37.0",
     5            "version": "3.3.41",
     6            "version_normalized": "3.3.41.0",
    77            "source": {
    88                "type": "git",
    99                "url": "https://github.com/Codeinwp/themeisle-sdk.git",
    10                 "reference": "73e9010fb4e30ad8835f00a0df802733f98c4094"
     10                "reference": "b194c872933882f4e5780eae56c59698d01623fc"
    1111            },
    1212            "dist": {
    1313                "type": "zip",
    14                 "url": "https://api.github.com/repos/Codeinwp/themeisle-sdk/zipball/73e9010fb4e30ad8835f00a0df802733f98c4094",
    15                 "reference": "73e9010fb4e30ad8835f00a0df802733f98c4094",
     14                "url": "https://api.github.com/repos/Codeinwp/themeisle-sdk/zipball/b194c872933882f4e5780eae56c59698d01623fc",
     15                "reference": "b194c872933882f4e5780eae56c59698d01623fc",
    1616                "shasum": ""
    1717            },
     
    2020                "yoast/phpunit-polyfills": "^2.0"
    2121            },
    22             "time": "2024-11-06T14:44:53+00:00",
     22            "time": "2025-02-05T10:30:34+00:00",
    2323            "type": "library",
    2424            "installation-source": "dist",
     
    4141            "support": {
    4242                "issues": "https://github.com/Codeinwp/themeisle-sdk/issues",
    43                 "source": "https://github.com/Codeinwp/themeisle-sdk/tree/v3.3.37"
     43                "source": "https://github.com/Codeinwp/themeisle-sdk/tree/v3.3.41"
    4444            },
    4545            "install-path": "../codeinwp/themeisle-sdk"
  • visualizer/tags/3.11.9/vendor/composer/installed.php

    r3187394 r3240066  
    22    'root' => array(
    33        'name' => 'codeinwp/visualizer',
    4         'pretty_version' => 'v3.11.8',
    5         'version' => '3.11.8.0',
    6         'reference' => 'f6ee7b18c82876241b6c87d7eae02264c2da18ae',
     4        'pretty_version' => 'v3.11.9',
     5        'version' => '3.11.9.0',
     6        'reference' => 'c8438ce5adee0aa82c862922f6809f315f486ff4',
    77        'type' => 'wordpress-plugin',
    88        'install_path' => __DIR__ . '/../../',
     
    1212    'versions' => array(
    1313        'codeinwp/themeisle-sdk' => array(
    14             'pretty_version' => '3.3.37',
    15             'version' => '3.3.37.0',
    16             'reference' => '73e9010fb4e30ad8835f00a0df802733f98c4094',
     14            'pretty_version' => '3.3.41',
     15            'version' => '3.3.41.0',
     16            'reference' => 'b194c872933882f4e5780eae56c59698d01623fc',
    1717            'type' => 'library',
    1818            'install_path' => __DIR__ . '/../codeinwp/themeisle-sdk',
     
    2121        ),
    2222        'codeinwp/visualizer' => array(
    23             'pretty_version' => 'v3.11.8',
    24             'version' => '3.11.8.0',
    25             'reference' => 'f6ee7b18c82876241b6c87d7eae02264c2da18ae',
     23            'pretty_version' => 'v3.11.9',
     24            'version' => '3.11.9.0',
     25            'reference' => 'c8438ce5adee0aa82c862922f6809f315f486ff4',
    2626            'type' => 'wordpress-plugin',
    2727            'install_path' => __DIR__ . '/../../',
  • visualizer/trunk/CHANGELOG.md

    r3187394 r3240066  
     1##### [Version 3.11.9](https://github.com/Codeinwp/visualizer/compare/v3.11.8...v3.11.9) (2025-02-13)
     2
     3- Enhanced security
     4- Fixed extra column issue with a simple editor
     5
    16##### [Version 3.11.8](https://github.com/Codeinwp/visualizer/compare/v3.11.7...v3.11.8) (2024-11-13)
    27
  • visualizer/trunk/classes/Visualizer/Plugin.php

    r3187394 r3240066  
    2929
    3030    const NAME = 'visualizer';
    31     const VERSION = '3.11.8';
     31    const VERSION = '3.11.9';
    3232
    3333    // custom post types
  • visualizer/trunk/classes/Visualizer/Source.php

    r2815812 r3240066  
    430430                if ( ! empty( $types[ $header ] ) ) {
    431431                    $this->_series[] = array(
    432                         'label' => $header,
     432                        'label' => esc_html( wp_strip_all_tags( $header ) ),
    433433                        'type'  => $types[ $header ],
    434434                    );
  • visualizer/trunk/classes/Visualizer/Source/Csv.php

    r3012215 r3240066  
    9898
    9999            $this->_series[] = array(
    100                 'label' => $labels[ $i ],
     100                'label' => esc_html( wp_strip_all_tags( $labels[ $i ] ) ),
    101101                'type'  => isset( $types[ $i ] ) ? $types[ $i ] : $default_type,
    102102            );
  • visualizer/trunk/css/media.css

    r3187394 r3240066  
    11/*
    2     Version: 3.11.8
     2    Version: 3.11.9
    33*/
    44#visualizer-library-view {
  • visualizer/trunk/index.php

    r3187394 r3240066  
    44    Plugin URI: https://themeisle.com/plugins/visualizer-charts-and-graphs/
    55    Description: Effortlessly create and embed responsive charts and tables with Visualizer, a powerful WordPress plugin that enhances data presentation from multiple sources.
    6     Version: 3.11.8
     6    Version: 3.11.9
    77    Author: Themeisle
    88    Author URI: http://themeisle.com
  • visualizer/trunk/js/simple-editor.js

    r2297689 r3240066  
    9191        }else{
    9292            $('#canvas').lock();
     93            jQuery('.dataTables_scrollBody .sorting_disabled input').attr('disabled', true);
    9394            $('#table-editor-form').submit();
    9495
  • visualizer/trunk/readme.md

    r3187394 r3240066  
    224224## Changelog ##
    225225
     226##### [Version 3.11.9](https://github.com/Codeinwp/visualizer/compare/v3.11.8...v3.11.9) (2025-02-13)
     227
     228- Enhanced security
     229- Fixed extra column issue with a simple editor
     230
     231
     232
     233
    226234##### [Version 3.11.8](https://github.com/Codeinwp/visualizer/compare/v3.11.7...v3.11.8) (2024-11-13)
    227235
  • visualizer/trunk/readme.txt

    r3187394 r3240066  
    224224== Changelog ==
    225225
     226##### [Version 3.11.9](https://github.com/Codeinwp/visualizer/compare/v3.11.8...v3.11.9) (2025-02-13)
     227
     228- Enhanced security
     229- Fixed extra column issue with a simple editor
     230
     231
     232
     233
    226234##### [Version 3.11.8](https://github.com/Codeinwp/visualizer/compare/v3.11.7...v3.11.8) (2024-11-13)
    227235
  • visualizer/trunk/vendor/codeinwp/themeisle-sdk/CHANGELOG.md

    r3183867 r3240066  
     1##### [Version 3.3.41](https://github.com/Codeinwp/themeisle-sdk-main/compare/v3.3.40...v3.3.41) (2025-02-05)
     2
     3- fixed a minor issue that prevented the translation checking for Hestia PRO
     4
     5##### [Version 3.3.40](https://github.com/Codeinwp/themeisle-sdk-main/compare/v3.3.39...v3.3.40) (2024-12-29)
     6
     7Adds feadzy features.
     8
     9##### [Version 3.3.39](https://github.com/Codeinwp/themeisle-sdk-main/compare/v3.3.38...v3.3.39) (2024-11-19)
     10
     11- Adds WPFS promo to About Page
     12- Changes to Licenser and Updater to accommodate WPFS
     13
     14##### [Version 3.3.38](https://github.com/Codeinwp/themeisle-sdk-main/compare/v3.3.37...v3.3.38) (2024-11-13)
     15
     16- fix: new SDK slug on wp env
     17- fix: wfp promo not checking for donation page
     18
    119##### [Version 3.3.37](https://github.com/Codeinwp/themeisle-sdk-main/compare/v3.3.36...v3.3.37) (2024-11-06)
    220
  • visualizer/trunk/vendor/codeinwp/themeisle-sdk/assets/js/build/promos/index.asset.php

    r3183867 r3240066  
    1 <?php return array('dependencies' => array('react', 'wp-block-editor', 'wp-components', 'wp-compose', 'wp-data', 'wp-edit-post', 'wp-element', 'wp-hooks', 'wp-plugins'), 'version' => 'c57846e72deaa82a7a04');
     1<?php return array('dependencies' => array('react', 'wp-block-editor', 'wp-components', 'wp-compose', 'wp-data', 'wp-edit-post', 'wp-element', 'wp-hooks', 'wp-plugins'), 'version' => '3997ba6be36742082cb2');
  • visualizer/trunk/vendor/codeinwp/themeisle-sdk/assets/js/build/promos/index.js

    r3183867 r3240066  
    1 (()=>{"use strict";var e,t={753:()=>{const e=window.React,t=window.wp.blockEditor,n=window.wp.components,o=window.wp.compose,s=window.wp.data,i=window.wp.element,a=window.wp.hooks,l=()=>{const{createNotice:e}=(0,s.dispatch)("core/notices"),[t,n]=(0,i.useState)({}),[o,a]=(0,i.useState)("loading");return(0,s.useSelect)((e=>{if(Object.keys(t).length)return;const{getEntityRecord:o}=e("core"),s=o("root","site");s&&(a("loaded"),n(s))}),[]),[e=>t?.[e],async(t,o,s="Settings saved.")=>{const i={[t]:o};try{const t=await fetch("/wp-json/wp/v2/settings",{method:"POST",headers:{"Content-Type":"application/json","X-WP-Nonce":wpApiSettings.nonce},body:JSON.stringify(i)});t.ok||(a("error"),e("error","Could not save the settings.",{isDismissible:!0,type:"snackbar"}));const o=await t.json();a("loaded"),e("success",s,{isDismissible:!0,type:"snackbar"}),n(o)}catch(e){console.error("Error updating option:",e)}},o]},r=(e,t=!1)=>new Promise((n=>{wp.updates.ajax(!0===t?"install-theme":"install-plugin",{slug:e,success:e=>{n({success:!0,data:e})},error:e=>{n({success:!1,code:e.errorCode})}})})),c=e=>new Promise((t=>{jQuery.get(e).done((()=>{t({success:!0})})).fail((()=>{t({success:!1})}))})),m=(e,t)=>{const n={};return Object.keys(t).forEach((function(e){"innerBlocks"!==e&&(n[e]=t[e])})),e.push(n),Array.isArray(t.innerBlocks)?(n.innerBlocks=t.innerBlocks.map((e=>e.id)),t.innerBlocks.reduce(m,e)):e},d={button:{display:"flex",justifyContent:"center",width:"100%"},image:{padding:"20px 0"},skip:{container:{display:"flex",flexDirection:"column",alignItems:"center"},button:{fontSize:"9px"},poweredby:{fontSize:"9px",textTransform:"uppercase"}}},p={"blocks-css":{title:"Custom CSS",description:"Enable Otter Blocks to add Custom CSS for this block.",image:"css.jpg"},"blocks-animation":{title:"Animations",description:"Enable Otter Blocks to add Animations for this block.",image:"animation.jpg"},"blocks-conditions":{title:"Visibility Conditions",description:"Enable Otter Blocks to add Visibility Conditions for this block.",image:"conditions.jpg"}},u=({onClick:t})=>(0,e.createElement)("div",{style:d.skip.container},(0,e.createElement)(n.Button,{style:d.skip.button,variant:"tertiary",onClick:t},"Skip for now"),(0,e.createElement)("span",{style:d.skip.poweredby},"Recommended by ",window.themeisleSDKPromotions.product)),h=(0,o.createHigherOrderComponent)((o=>s=>{const[a,m]=(0,i.useState)(!1),[h,w]=(0,i.useState)("default"),[g,E]=(0,i.useState)(!1),[y,v,f]=l();if((0,i.useEffect)((()=>{g&&(()=>{const e={...window.themeisleSDKPromotions.option};e[window.themeisleSDKPromotions.showPromotion]=(new Date).getTime()/1e3|0,v("themeisle_sdk_promotions",JSON.stringify(e)),window.themeisleSDKPromotions.showPromotion=!1})()}),[g]),!s.isSelected||!Boolean(window.themeisleSDKPromotions.showPromotion))return(0,e.createElement)(o,{...s});const k=async()=>{m(!0),await r("otter-blocks"),v("themeisle_sdk_promotions_otter_installed",!Boolean(y("themeisle_sdk_promotions_otter_installed"))),await c(window.themeisleSDKPromotions.otterActivationUrl),m(!1),w("installed")},S=()=>"installed"===h?(0,e.createElement)("p",null,(0,e.createElement)("strong",null,"Awesome! Refresh the page to see Otter Blocks in action.")):(0,e.createElement)(n.Button,{variant:"secondary",onClick:k,isBusy:a,style:d.button},"Install & Activate Otter Blocks");return g?(0,e.createElement)(o,{...s}):(0,e.createElement)(i.Fragment,null,(0,e.createElement)(o,{...s}),(0,e.createElement)(t.InspectorControls,null,Object.keys(p).map((t=>{if(t===window.themeisleSDKPromotions.showPromotion){const o=p[t];return(0,e.createElement)(n.PanelBody,{key:t,title:o.title,initialOpen:!1},(0,e.createElement)("p",null,o.description),(0,e.createElement)(S,null),(0,e.createElement)("img",{style:d.image,src:window.themeisleSDKPromotions.assets+o.image}),(0,e.createElement)(u,{onClick:()=>E(!0)}))}}))))}),"withInspectorControl");(0,s.select)("core/edit-site")||(0,a.addFilter)("editor.BlockEdit","themeisle-sdk/with-inspector-controls",h);const w=window.wp.plugins,g=window.wp.editPost;function E({stacked:t=!1,type:o,onDismiss:s,onSuccess:a,initialStatus:m=null}){const{title:d,option:p,optionKey:u,labels:h,optimoleActivationUrl:w,optimoleDash:g}=window.themeisleSDKPromotions,[E,y]=(0,i.useState)(!1),[v,f]=(0,i.useState)(m),[k,S]=l(),_=async()=>{y(!0);const e={...p};e[o]=(new Date).getTime()/1e3|0,window.themeisleSDKPromotions.option=e,await S(u,JSON.stringify(e)),s&&s()},P=async e=>{e.preventDefault(),f("installing"),await r("optimole-wp"),f("activating"),await c(w),S("themeisle_sdk_promotions_optimole_installed",!0).then((()=>{f("done")}))};if(E)return null;const b=()=>"done"===v?(0,e.createElement)("div",{className:"done"},(0,e.createElement)("p",null," ",h.all_set),(0,e.createElement)(n.Button,{icon:"external",isPrimary:!0,href:g,target:"_blank"},h.optimole.gotodash)):(0,e.createElement)("p",{className:"om-progress"},(0,e.createElement)("span",{className:"dashicons dashicons-update spin"}),(0,e.createElement)("span",null,"installing"===v&&h.installing,"activating"===v&&h.activating,"…")),D=()=>(0,e.createElement)(n.Button,{disabled:v&&"done"!==v,onClick:_,isLink:!0,className:"om-notice-dismiss"},(0,e.createElement)("span",{className:"dashicons-no-alt dashicons"}),(0,e.createElement)("span",{className:"screen-reader-text"},h.optimole.dismisscta)),N=(t=!1)=>(0,e.createElement)(e.Fragment,null,(0,e.createElement)(n.Button,{isPrimary:!0,onClick:P,className:t?"cta":""},h.optimole.installOptimole),(0,e.createElement)(n.Button,{isLink:!0,target:"_blank",href:"https://wordpress.org/plugins/optimole-wp"},(0,e.createElement)("span",{className:"dashicons dashicons-external"}),(0,e.createElement)("span",null," ",h.learnmore))),B=(0,e.createElement)("div",{className:"ti-om-stack-wrap ti-sdk-om-notice"},(0,e.createElement)("div",{className:"om-stack-notice"},D(),(0,e.createElement)("i",null,d),(0,e.createElement)("p",null,["om-editor","om-image-block"].includes(o)?h.optimole.message1:h.optimole.message2),v?b():N(!0))),K=(0,e.createElement)(e.Fragment,null,D(),(0,e.createElement)("div",{className:"content"},(0,e.createElement)("div",null,(0,e.createElement)("p",null,d),(0,e.createElement)("p",{className:"description"},"om-media"===o?h.optimole.message3:h.optimole.message4),v?b():(0,e.createElement)("div",{className:"actions"},N()))));return t?B:K}const y=()=>{const[t,n]=(0,i.useState)(!0),{getBlocks:o}=(0,s.useSelect)((e=>{const{getBlocks:t}=e("core/block-editor");return{getBlocks:t}}));var a;if((a=o(),"core/image",a.reduce(m,[]).filter((e=>"core/image"===e.name))).length<2)return null;const l="ti-sdk-optimole-post-publish "+(t?"":"hidden");return(0,e.createElement)(g.PluginPostPublishPanel,{className:l},(0,e.createElement)(E,{stacked:!0,type:"om-editor",onDismiss:()=>{n(!1)}}))};new class{constructor(){const{showPromotion:e,debug:t}=window.themeisleSDKPromotions;this.promo=e,this.debug="1"===t,this.domRef=null,this.run()}run(){if(this.debug)this.runAll();else switch(this.promo){case"om-attachment":this.runAttachmentPromo();break;case"om-media":this.runMediaPromo();break;case"om-editor":this.runEditorPromo();break;case"om-image-block":this.runImageBlockPromo();break;case"om-elementor":this.runElementorPromo()}}runAttachmentPromo(){wp.media.view.Attachment.Details.prototype.on("ready",(()=>{setTimeout((()=>{this.removeAttachmentPromo(),this.addAttachmentPromo()}),100)})),wp.media.view.Modal.prototype.on("close",(()=>{setTimeout(this.removeAttachmentPromo,100)}))}runMediaPromo(){if(window.themeisleSDKPromotions.option["om-media"])return;const t=document.querySelector("#ti-optml-notice");t&&(0,i.render)((0,e.createElement)(E,{type:"om-media",onDismiss:()=>{t.style.opacity=0}}),t)}runImageBlockPromo(){if(window.themeisleSDKPromotions.option["om-image-block"])return;let n=!0,s=null;const l=(0,o.createHigherOrderComponent)((o=>a=>"core/image"===a.name&&n?(0,e.createElement)(i.Fragment,null,(0,e.createElement)(o,{...a}),(0,e.createElement)(t.InspectorControls,null,(0,e.createElement)(E,{stacked:!0,type:"om-image-block",initialStatus:s,onDismiss:()=>{n=!1},onSuccess:()=>{s="done"}}))):(0,e.createElement)(o,{...a})),"withImagePromo");(0,a.addFilter)("editor.BlockEdit","optimole-promo/image-promo",l,99)}runEditorPromo(){window.themeisleSDKPromotions.option["om-editor"]||(0,w.registerPlugin)("optimole-promo",{render:y})}runElementorPromo(){if(!window.elementor)return;const e=this;elementor.on("preview:loaded",(()=>{elementor.panel.currentView.on("set:page:editor",(t=>{e.domRef&&(0,i.unmountComponentAtNode)(e.domRef),t.activeSection&&"section_image"===t.activeSection&&e.runElementorActions(e)}))}))}addAttachmentPromo(){if(this.domRef&&(0,i.unmountComponentAtNode)(this.domRef),window.themeisleSDKPromotions.option["om-attachment"])return;const t=document.querySelector("#ti-optml-notice-helper");t&&(this.domRef=t,(0,i.render)((0,e.createElement)("div",{className:"notice notice-info ti-sdk-om-notice",style:{margin:0}},(0,e.createElement)(E,{type:"om-attachment",onDismiss:()=>{t.style.opacity=0}})),t))}removeAttachmentPromo(){const e=document.querySelector("#ti-optml-notice-helper");e&&(0,i.unmountComponentAtNode)(e)}runElementorActions(t){if(window.themeisleSDKPromotions.option["om-elementor"])return;const n=document.querySelector("#elementor-panel__editor__help"),o=document.createElement("div");o.id="ti-optml-notice",t.domRef=o,n&&(n.parentNode.insertBefore(o,n),(0,i.render)((0,e.createElement)(E,{stacked:!0,type:"om-elementor",onDismiss:()=>{o.style.opacity=0}}),o))}runAll(){this.runAttachmentPromo(),this.runMediaPromo(),this.runEditorPromo(),this.runImageBlockPromo(),this.runElementorPromo()}};const v=({onDismiss:t=(()=>{})})=>{const[o,s]=(0,i.useState)(""),[a,m]=l();return(0,e.createElement)(i.Fragment,null,(0,e.createElement)(n.Button,{disabled:"installing"===o,onClick:async()=>{const e={...window.themeisleSDKPromotions.option};e["rop-posts"]=(new Date).getTime()/1e3|0,window.themeisleSDKPromotions.option=e,await m(window.themeisleSDKPromotions.optionKey,JSON.stringify(e)),t&&t()},variant:"link",className:"om-notice-dismiss"},(0,e.createElement)("span",{className:"dashicons-no-alt dashicons"}),(0,e.createElement)("span",{className:"screen-reader-text"},"Dismiss this notice.")),(0,e.createElement)("p",null,"Boost your content's reach effortlessly! Introducing ",(0,e.createElement)("b",null,"Revive Social"),", a cutting-edge plugin from the makers of ",window.themeisleSDKPromotions.product,". Seamlessly auto-share old & new content across social media, driving traffic like never before."),(0,e.createElement)("div",{className:"rop-notice-actions"},"installed"!==o?(0,e.createElement)(n.Button,{variant:"primary",isBusy:"installing"===o,onClick:async()=>{s("installing"),await r("tweet-old-post"),await c(window.themeisleSDKPromotions.ropActivationUrl),m("themeisle_sdk_promotions_rop_installed",!Boolean(a("themeisle_sdk_promotions_rop_installed"))),s("installed")}},"Install & Activate"):(0,e.createElement)(n.Button,{variant:"primary",href:window.themeisleSDKPromotions.ropDash},"Visit Dashboard"),(0,e.createElement)(n.Button,{variant:"link",target:"_blank",href:"https://wordpress.org/plugins/tweet-old-post/"},(0,e.createElement)("span",{className:"dashicons dashicons-external"}),(0,e.createElement)("span",null,"Learn more"))))};new class{constructor(){const{showPromotion:e,debug:t}=window.themeisleSDKPromotions;this.promo=e,this.debug="1"===t,this.domRef=null,this.run()}run(){if(window.themeisleSDKPromotions.option["rop-posts"])return;const t=document.querySelector("#ti-rop-notice");t&&(0,i.render)((0,e.createElement)(v,{onDismiss:()=>{t.style.display="none"}}),t)}};const f=({onDismiss:t=(()=>{})})=>{const{title:o,optionKey:s,labels:a,neveAction:c,activateNeveURL:m}=window.themeisleSDKPromotions,[d,p]=l(),[u,h]=(0,i.useState)(null);return(0,e.createElement)(i.Fragment,null,(0,e.createElement)(n.Button,{disabled:u&&"done"!==u,onClick:async()=>{const e={...window.themeisleSDKPromotions.option};e["neve-themes-popular"]=(new Date).getTime()/1e3|0,window.themeisleSDKPromotions.option=e,await p(s,JSON.stringify(e)),t&&t()},isLink:!0,className:"om-notice-dismiss"},(0,e.createElement)("span",{className:"dashicons-no-alt dashicons"}),(0,e.createElement)("span",{className:"screen-reader-text"},a.redirectionCF7.dismisscta)),(0,e.createElement)("div",{className:"content"},(0,e.createElement)("div",null,(0,e.createElement)("p",null,o),(0,e.createElement)("p",{className:"description"},"Meet ",(0,e.createElement)("b",null,"Neve"),", from the creators of ",window.themeisleSDKPromotions.product,". A very fast and free theme, trusted by over 300,000 users for building their websites and rated 4.7 stars!"),!u&&(0,e.createElement)("div",{className:"actions"},(0,e.createElement)(n.Button,{variant:"primary",onClick:e=>{if(e.preventDefault(),"activate"===c)return h("activating"),void p("themeisle_sdk_promotions_neve_installed",!0).then((()=>{window.location.href=m}));h("installing"),r("neve",!0).then((e=>{h("activating"),p("themeisle_sdk_promotions_neve_installed",!0).then((()=>{window.location.href=e.data.activateUrl}))}))}},"install"===c&&a.installActivate,"activate"===c&&a.activate),(0,e.createElement)(n.Button,{variant:"link",href:window.themeisleSDKPromotions.nevePreviewURL},a.preview)),u&&"done"!==u&&(0,e.createElement)("p",{className:"om-progress"},(0,e.createElement)("span",{className:"dashicons dashicons-update spin"}),(0,e.createElement)("span",null,"installing"===u&&a.installing,"activating"===u&&a.activating,"…")))))};function k({type:t,onDismiss:o}){const{title:s,option:a,optionKey:m,labels:d,rfCF7ActivationUrl:p,cf7Dash:u}=window.themeisleSDKPromotions,[h,w]=(0,i.useState)(!1),[g,E]=(0,i.useState)(null),[y,v]=l();if(h)return null;const f=(0,e.createElement)("div",{className:"actions"},(0,e.createElement)(n.Button,{isPrimary:!0,onClick:async e=>{e.preventDefault(),E("installing"),await r("wpcf7-redirect"),E("activating"),await c(p),v("themeisle_sdk_promotions_redirection_cf7_installed",!Boolean(y("themeisle_sdk_promotions_redirection_cf7_installed"))),E("done")}},d.redirectionCF7.gst),(0,e.createElement)(n.Button,{isLink:!0,target:"_blank",href:"https://wordpress.org/plugins/wpcf7-redirect/"},(0,e.createElement)("span",{className:"dashicons dashicons-external"}),(0,e.createElement)("span",null," ",d.learnmore)));return(0,e.createElement)(e.Fragment,null,(0,e.createElement)(n.Button,{disabled:g&&"done"!==g,onClick:async()=>{w(!0);const e={...a};e[t]=(new Date).getTime()/1e3|0,window.themeisleSDKPromotions.option=e,await v(m,JSON.stringify(e)),o&&o()},isLink:!0,className:"om-notice-dismiss"},(0,e.createElement)("span",{className:"dashicons-no-alt dashicons"}),(0,e.createElement)("span",{className:"screen-reader-text"},d.redirectionCF7.dismisscta)),(0,e.createElement)("div",{className:"content"},(0,e.createElement)("div",null,(0,e.createElement)("p",null,s),(0,e.createElement)("p",{className:"description"},d.redirectionCF7.message),g?"done"===g?(0,e.createElement)("div",{className:"done"},(0,e.createElement)("p",null," ",d.all_set),(0,e.createElement)(n.Button,{icon:"external",variant:"primary",href:u,target:"_blank"},d.redirectionCF7.gotodash)):(0,e.createElement)("p",{className:"om-progress"},(0,e.createElement)("span",{className:"dashicons dashicons-update spin"}),(0,e.createElement)("span",null,"installing"===g&&d.installing,"activating"===g&&d.activating,"…")):f)))}new class{constructor(){const{showPromotion:e,debug:t}=window.themeisleSDKPromotions;this.promo=e,this.debug="1"===t,this.domRef=null,this.run()}run(){if(window.themeisleSDKPromotions.option["neve-themes-popular"])return;const t=document.querySelector("#ti-neve-notice");t&&(0,i.render)((0,e.createElement)(f,{onDismiss:()=>{t.style.display="none"}}),t)}},new class{constructor(){this.run()}run(){if(window.themeisleSDKPromotions.option["redirection-cf7"])return;const t=document.querySelector("#ti-redirection-cf7-notice");t&&(0,i.render)((0,e.createElement)(k,{type:"redirection-cf7",onDismiss:()=>{t.style.display="none"}}),t)}};const S=({onDismiss:t=(()=>{})})=>{const{title:o,option:s,optionKey:a,labels:m,hyveActivationUrl:d,hyveDash:p}=window.themeisleSDKPromotions,[u,h]=(0,i.useState)(!1),[w,g]=(0,i.useState)(null),[E,y]=l();if(u)return null;const v=(0,e.createElement)("div",{className:"actions"},(0,e.createElement)(n.Button,{variant:"primary",onClick:async e=>{e.preventDefault(),g("installing"),await r("hyve-lite"),g("activating"),await c(d),y("themeisle_sdk_promotions_hyve_installed",!Boolean(E("themeisle_sdk_promotions_hyve_installed"))),g("done")}},m.hyve.install),(0,e.createElement)(n.Button,{variant:"link",target:"_blank",href:"https://wordpress.org/plugins/hyve-lite/"},(0,e.createElement)("span",{className:"dashicons dashicons-external"}),(0,e.createElement)("span",null,m.learnmore)));return(0,e.createElement)(e.Fragment,null,(0,e.createElement)(n.Button,{disabled:w&&"done"!==w,onClick:async()=>{h(!0);const e={...s};e["hyve-plugins-install"]=(new Date).getTime()/1e3|0,window.themeisleSDKPromotions.option=e,await y(a,JSON.stringify(e)),t&&t()},variant:"link",className:"om-notice-dismiss"},(0,e.createElement)("span",{className:"dashicons-no-alt dashicons"}),(0,e.createElement)("span",{className:"screen-reader-text"},m.hyve.dismisscta)),(0,e.createElement)("div",{className:"content"},(0,e.createElement)("div",null,(0,e.createElement)("p",null,o),(0,e.createElement)("p",{className:"description"},m.hyve.message),w?"done"===w?(0,e.createElement)("div",{className:"done"},(0,e.createElement)("p",null,m.all_set),(0,e.createElement)(n.Button,{icon:"external",variant:"primary",href:p,target:"_blank"},m.hyve.gotodash)):(0,e.createElement)("p",{className:"om-progress"},(0,e.createElement)("span",{className:"dashicons dashicons-update spin"}),(0,e.createElement)("span",null,"installing"===w&&m.installing,"activating"===w&&m.activating,"…")):v)))};(()=>{if(window.themeisleSDKPromotions.option["hyve-plugins-install"])return;const t=document.querySelector("#ti-hyve-notice");t&&(0,i.createRoot)(t).render((0,e.createElement)(S,{onDismiss:()=>{t.style.display="none"}}))})();const _=({onDismiss:t=(()=>{})})=>{const{title:o,option:s,optionKey:a,labels:m,wpFullPayActivationUrl:d,wpFullPayDash:p}=window.themeisleSDKPromotions,[u,h]=(0,i.useState)(!1),[w,g]=(0,i.useState)(null),[E,y]=l();if(u)return null;const v=(0,e.createElement)("div",{className:"actions"},(0,e.createElement)(n.Button,{variant:"primary",onClick:async e=>{e.preventDefault(),g("installing"),await r("wp-full-stripe-free"),g("activating"),await c(d),y("themeisle_sdk_promotions_wp_full_pay_installed",!Boolean(E("themeisle_sdk_promotions_wp_full_pay_installed"))),g("done")}},m.wp_full_pay.install),(0,e.createElement)(n.Button,{variant:"link",target:"_blank",href:"https://wordpress.org/plugins/wp-full-stripe-free/"},(0,e.createElement)("span",{className:"dashicons dashicons-external"}),(0,e.createElement)("span",null,m.learnmore)));return(0,e.createElement)(e.Fragment,null,(0,e.createElement)(n.Button,{disabled:w&&"done"!==w,onClick:async()=>{h(!0);const e={...s};e["wp-full-pay-plugins-install"]=(new Date).getTime()/1e3|0,window.themeisleSDKPromotions.option=e,await y(a,JSON.stringify(e)),t&&t()},variant:"link",className:"om-notice-dismiss"},(0,e.createElement)("span",{className:"dashicons-no-alt dashicons"}),(0,e.createElement)("span",{className:"screen-reader-text"},m.wp_full_pay.dismisscta)),(0,e.createElement)("div",{className:"content"},(0,e.createElement)("div",null,(0,e.createElement)("p",null,o),(0,e.createElement)("p",{className:"description"},m.wp_full_pay.message),w?"done"===w?(0,e.createElement)("div",{className:"done"},(0,e.createElement)("p",null,m.all_set),(0,e.createElement)(n.Button,{icon:"external",variant:"primary",href:p,target:"_blank"},m.wp_full_pay.gotodash)):(0,e.createElement)("p",{className:"om-progress"},(0,e.createElement)("span",{className:"dashicons dashicons-update spin"}),(0,e.createElement)("span",null,"installing"===w&&m.installing,"activating"===w&&m.activating,"…")):v)))};(()=>{if(window.themeisleSDKPromotions.option["wp-full-pay-plugins-install"])return;const t=document.querySelector("#ti-wp-full-pay-notice");t&&(0,i.createRoot)(t).render((0,e.createElement)(_,{onDismiss:()=>{t.style.display="none"}}))})()}},n={};function o(e){var s=n[e];if(void 0!==s)return s.exports;var i=n[e]={exports:{}};return t[e](i,i.exports,o),i.exports}o.m=t,e=[],o.O=(t,n,s,i)=>{if(!n){var a=1/0;for(m=0;m<e.length;m++){for(var[n,s,i]=e[m],l=!0,r=0;r<n.length;r++)(!1&i||a>=i)&&Object.keys(o.O).every((e=>o.O[e](n[r])))?n.splice(r--,1):(l=!1,i<a&&(a=i));if(l){e.splice(m--,1);var c=s();void 0!==c&&(t=c)}}return t}i=i||0;for(var m=e.length;m>0&&e[m-1][2]>i;m--)e[m]=e[m-1];e[m]=[n,s,i]},o.o=(e,t)=>Object.prototype.hasOwnProperty.call(e,t),(()=>{var e={57:0,350:0};o.O.j=t=>0===e[t];var t=(t,n)=>{var s,i,[a,l,r]=n,c=0;if(a.some((t=>0!==e[t]))){for(s in l)o.o(l,s)&&(o.m[s]=l[s]);if(r)var m=r(o)}for(t&&t(n);c<a.length;c++)i=a[c],o.o(e,i)&&e[i]&&e[i][0](),e[i]=0;return o.O(m)},n=globalThis.webpackChunkthemeisle_sdk=globalThis.webpackChunkthemeisle_sdk||[];n.forEach(t.bind(null,0)),n.push=t.bind(null,n.push.bind(n))})();var s=o.O(void 0,[350],(()=>o(753)));s=o.O(s)})();
     1(()=>{"use strict";var e,t={536:()=>{const e=window.React,t=window.wp.blockEditor,n=window.wp.components,o=window.wp.compose,i=window.wp.data,s=window.wp.element,a=window.wp.hooks,l=()=>{const{createNotice:e}=(0,i.dispatch)("core/notices"),[t,n]=(0,s.useState)({}),[o,a]=(0,s.useState)("loading");return(0,i.useSelect)((e=>{if(Object.keys(t).length)return;const{getEntityRecord:o}=e("core"),i=o("root","site");i&&(a("loaded"),n(i))}),[]),[e=>t?.[e],async(t,o,i="Settings saved.")=>{const s={[t]:o};try{const t=await fetch("/wp-json/wp/v2/settings",{method:"POST",headers:{"Content-Type":"application/json","X-WP-Nonce":wpApiSettings.nonce},body:JSON.stringify(s)});t.ok||(a("error"),e("error","Could not save the settings.",{isDismissible:!0,type:"snackbar"}));const o=await t.json();a("loaded"),e("success",i,{isDismissible:!0,type:"snackbar"}),n(o)}catch(e){console.error("Error updating option:",e)}},o]},r=(e,t=!1)=>new Promise((n=>{wp.updates.ajax(!0===t?"install-theme":"install-plugin",{slug:e,success:e=>{n({success:!0,data:e})},error:e=>{n({success:!1,code:e.errorCode})}})})),c=e=>new Promise((t=>{jQuery.get(e).done((()=>{t({success:!0})})).fail((()=>{t({success:!1})}))})),m=(e,t)=>{const n={};return Object.keys(t).forEach((function(e){"innerBlocks"!==e&&(n[e]=t[e])})),e.push(n),Array.isArray(t.innerBlocks)?(n.innerBlocks=t.innerBlocks.map((e=>e.id)),t.innerBlocks.reduce(m,e)):e},d={button:{display:"flex",justifyContent:"center",width:"100%"},image:{padding:"20px 0"},skip:{container:{display:"flex",flexDirection:"column",alignItems:"center"},button:{fontSize:"9px"},poweredby:{fontSize:"9px",textTransform:"uppercase"}}},p={"blocks-css":{title:"Custom CSS",description:"Enable Otter Blocks to add Custom CSS for this block.",image:"css.jpg"},"blocks-animation":{title:"Animations",description:"Enable Otter Blocks to add Animations for this block.",image:"animation.jpg"},"blocks-conditions":{title:"Visibility Conditions",description:"Enable Otter Blocks to add Visibility Conditions for this block.",image:"conditions.jpg"}},u=({onClick:t})=>(0,e.createElement)("div",{style:d.skip.container},(0,e.createElement)(n.Button,{style:d.skip.button,variant:"tertiary",onClick:t},"Skip for now"),(0,e.createElement)("span",{style:d.skip.poweredby},"Recommended by ",window.themeisleSDKPromotions.product)),h=(0,o.createHigherOrderComponent)((o=>i=>{const[a,m]=(0,s.useState)(!1),[h,w]=(0,s.useState)("default"),[g,E]=(0,s.useState)(!1),[y,v,f]=l();if((0,s.useEffect)((()=>{g&&(()=>{const e={...window.themeisleSDKPromotions.option};e[window.themeisleSDKPromotions.showPromotion]=(new Date).getTime()/1e3|0,v("themeisle_sdk_promotions",JSON.stringify(e)),window.themeisleSDKPromotions.showPromotion=!1})()}),[g]),!i.isSelected||!Boolean(window.themeisleSDKPromotions.showPromotion))return(0,e.createElement)(o,{...i});const k=async()=>{m(!0),await r("otter-blocks"),v("themeisle_sdk_promotions_otter_installed",!Boolean(y("themeisle_sdk_promotions_otter_installed"))),await c(window.themeisleSDKPromotions.otterActivationUrl),m(!1),w("installed")},S=()=>"installed"===h?(0,e.createElement)("p",null,(0,e.createElement)("strong",null,"Awesome! Refresh the page to see Otter Blocks in action.")):(0,e.createElement)(n.Button,{variant:"secondary",onClick:k,isBusy:a,style:d.button},"Install & Activate Otter Blocks");return g?(0,e.createElement)(o,{...i}):(0,e.createElement)(s.Fragment,null,(0,e.createElement)(o,{...i}),(0,e.createElement)(t.InspectorControls,null,Object.keys(p).map((t=>{if(t===window.themeisleSDKPromotions.showPromotion){const o=p[t];return(0,e.createElement)(n.PanelBody,{key:t,title:o.title,initialOpen:!1},(0,e.createElement)("p",null,o.description),(0,e.createElement)(S,null),(0,e.createElement)("img",{style:d.image,src:window.themeisleSDKPromotions.assets+o.image}),(0,e.createElement)(u,{onClick:()=>E(!0)}))}}))))}),"withInspectorControl");(0,i.select)("core/edit-site")||(0,a.addFilter)("editor.BlockEdit","themeisle-sdk/with-inspector-controls",h);const w=window.wp.plugins,g=window.wp.editPost;function E({stacked:t=!1,type:o,onDismiss:i,onSuccess:a,initialStatus:m=null}){const{title:d,option:p,optionKey:u,labels:h,optimoleActivationUrl:w,optimoleDash:g}=window.themeisleSDKPromotions,[E,y]=(0,s.useState)(!1),[v,f]=(0,s.useState)(m),[k,S]=l(),P=async()=>{y(!0);const e={...p};e[o]=(new Date).getTime()/1e3|0,window.themeisleSDKPromotions.option=e,await S(u,JSON.stringify(e)),i&&i()},_=async e=>{e.preventDefault(),f("installing"),await r("optimole-wp"),f("activating"),await c(w),S("themeisle_sdk_promotions_optimole_installed",!0).then((()=>{f("done")}))};if(E)return null;const b=()=>"done"===v?(0,e.createElement)("div",{className:"done"},(0,e.createElement)("p",null," ",h.all_set),(0,e.createElement)(n.Button,{icon:"external",isPrimary:!0,href:g,target:"_blank"},h.optimole.gotodash)):(0,e.createElement)("p",{className:"om-progress"},(0,e.createElement)("span",{className:"dashicons dashicons-update spin"}),(0,e.createElement)("span",null,"installing"===v&&h.installing,"activating"===v&&h.activating,"…")),D=()=>(0,e.createElement)(n.Button,{disabled:v&&"done"!==v,onClick:P,isLink:!0,className:"om-notice-dismiss"},(0,e.createElement)("span",{className:"dashicons-no-alt dashicons"}),(0,e.createElement)("span",{className:"screen-reader-text"},h.optimole.dismisscta)),N=(t=!1)=>(0,e.createElement)(e.Fragment,null,(0,e.createElement)(n.Button,{isPrimary:!0,onClick:_,className:t?"cta":""},h.optimole.installOptimole),(0,e.createElement)(n.Button,{isLink:!0,target:"_blank",href:"https://wordpress.org/plugins/optimole-wp"},(0,e.createElement)("span",{className:"dashicons dashicons-external"}),(0,e.createElement)("span",null," ",h.learnmore))),B=(0,e.createElement)("div",{className:"ti-om-stack-wrap ti-sdk-om-notice"},(0,e.createElement)("div",{className:"om-stack-notice"},D(),(0,e.createElement)("i",null,d),(0,e.createElement)("p",null,["om-editor","om-image-block"].includes(o)?h.optimole.message1:h.optimole.message2),v?b():N(!0))),K=(0,e.createElement)(e.Fragment,null,D(),(0,e.createElement)("div",{className:"content"},(0,e.createElement)("div",null,(0,e.createElement)("p",null,d),(0,e.createElement)("p",{className:"description"},"om-media"===o?h.optimole.message3:h.optimole.message4),v?b():(0,e.createElement)("div",{className:"actions"},N()))));return t?B:K}const y=()=>{const[t,n]=(0,s.useState)(!0),{getBlocks:o}=(0,i.useSelect)((e=>{const{getBlocks:t}=e("core/block-editor");return{getBlocks:t}}));var a;if((a=o(),"core/image",a.reduce(m,[]).filter((e=>"core/image"===e.name))).length<2)return null;const l="ti-sdk-optimole-post-publish "+(t?"":"hidden");return(0,e.createElement)(g.PluginPostPublishPanel,{className:l},(0,e.createElement)(E,{stacked:!0,type:"om-editor",onDismiss:()=>{n(!1)}}))};new class{constructor(){const{showPromotion:e,debug:t}=window.themeisleSDKPromotions;this.promo=e,this.debug="1"===t,this.domRef=null,this.run()}run(){if(this.debug)this.runAll();else switch(this.promo){case"om-attachment":this.runAttachmentPromo();break;case"om-media":this.runMediaPromo();break;case"om-editor":this.runEditorPromo();break;case"om-image-block":this.runImageBlockPromo();break;case"om-elementor":this.runElementorPromo()}}runAttachmentPromo(){wp.media.view.Attachment.Details.prototype.on("ready",(()=>{setTimeout((()=>{this.removeAttachmentPromo(),this.addAttachmentPromo()}),100)})),wp.media.view.Modal.prototype.on("close",(()=>{setTimeout(this.removeAttachmentPromo,100)}))}runMediaPromo(){if(window.themeisleSDKPromotions.option["om-media"])return;const t=document.querySelector("#ti-optml-notice");t&&(0,s.render)((0,e.createElement)(E,{type:"om-media",onDismiss:()=>{t.style.opacity=0}}),t)}runImageBlockPromo(){if(window.themeisleSDKPromotions.option["om-image-block"])return;let n=!0,i=null;const l=(0,o.createHigherOrderComponent)((o=>a=>"core/image"===a.name&&n?(0,e.createElement)(s.Fragment,null,(0,e.createElement)(o,{...a}),(0,e.createElement)(t.InspectorControls,null,(0,e.createElement)(E,{stacked:!0,type:"om-image-block",initialStatus:i,onDismiss:()=>{n=!1},onSuccess:()=>{i="done"}}))):(0,e.createElement)(o,{...a})),"withImagePromo");(0,a.addFilter)("editor.BlockEdit","optimole-promo/image-promo",l,99)}runEditorPromo(){window.themeisleSDKPromotions.option["om-editor"]||(0,w.registerPlugin)("optimole-promo",{render:y})}runElementorPromo(){if(!window.elementor)return;const e=this;elementor.on("preview:loaded",(()=>{elementor.panel.currentView.on("set:page:editor",(t=>{e.domRef&&(0,s.unmountComponentAtNode)(e.domRef),t.activeSection&&"section_image"===t.activeSection&&e.runElementorActions(e)}))}))}addAttachmentPromo(){if(this.domRef&&(0,s.unmountComponentAtNode)(this.domRef),window.themeisleSDKPromotions.option["om-attachment"])return;const t=document.querySelector("#ti-optml-notice-helper");t&&(this.domRef=t,(0,s.render)((0,e.createElement)("div",{className:"notice notice-info ti-sdk-om-notice",style:{margin:0}},(0,e.createElement)(E,{type:"om-attachment",onDismiss:()=>{t.style.opacity=0}})),t))}removeAttachmentPromo(){const e=document.querySelector("#ti-optml-notice-helper");e&&(0,s.unmountComponentAtNode)(e)}runElementorActions(t){if(window.themeisleSDKPromotions.option["om-elementor"])return;const n=document.querySelector("#elementor-panel__editor__help"),o=document.createElement("div");o.id="ti-optml-notice",t.domRef=o,n&&(n.parentNode.insertBefore(o,n),(0,s.render)((0,e.createElement)(E,{stacked:!0,type:"om-elementor",onDismiss:()=>{o.style.opacity=0}}),o))}runAll(){this.runAttachmentPromo(),this.runMediaPromo(),this.runEditorPromo(),this.runImageBlockPromo(),this.runElementorPromo()}};const v=({onDismiss:t=(()=>{})})=>{const[o,i]=(0,s.useState)(""),[a,m]=l();return(0,e.createElement)(s.Fragment,null,(0,e.createElement)(n.Button,{disabled:"installing"===o,onClick:async()=>{const e={...window.themeisleSDKPromotions.option};e["rop-posts"]=(new Date).getTime()/1e3|0,window.themeisleSDKPromotions.option=e,await m(window.themeisleSDKPromotions.optionKey,JSON.stringify(e)),t&&t()},variant:"link",className:"om-notice-dismiss"},(0,e.createElement)("span",{className:"dashicons-no-alt dashicons"}),(0,e.createElement)("span",{className:"screen-reader-text"},"Dismiss this notice.")),(0,e.createElement)("p",null,"Boost your content's reach effortlessly! Introducing ",(0,e.createElement)("b",null,"Revive Social"),", a cutting-edge plugin from the makers of ",window.themeisleSDKPromotions.product,". Seamlessly auto-share old & new content across social media, driving traffic like never before."),(0,e.createElement)("div",{className:"rop-notice-actions"},"installed"!==o?(0,e.createElement)(n.Button,{variant:"primary",isBusy:"installing"===o,onClick:async()=>{i("installing"),await r("tweet-old-post"),await c(window.themeisleSDKPromotions.ropActivationUrl),m("themeisle_sdk_promotions_rop_installed",!Boolean(a("themeisle_sdk_promotions_rop_installed"))),i("installed")}},"Install & Activate"):(0,e.createElement)(n.Button,{variant:"primary",href:window.themeisleSDKPromotions.ropDash},"Visit Dashboard"),(0,e.createElement)(n.Button,{variant:"link",target:"_blank",href:"https://wordpress.org/plugins/tweet-old-post/"},(0,e.createElement)("span",{className:"dashicons dashicons-external"}),(0,e.createElement)("span",null,"Learn more"))))};new class{constructor(){const{showPromotion:e,debug:t}=window.themeisleSDKPromotions;this.promo=e,this.debug="1"===t,this.domRef=null,this.run()}run(){if(window.themeisleSDKPromotions.option["rop-posts"])return;const t=document.querySelector("#ti-rop-notice");t&&(0,s.render)((0,e.createElement)(v,{onDismiss:()=>{t.style.display="none"}}),t)}};const f=({onDismiss:t=(()=>{})})=>{const{title:o,optionKey:i,labels:a,neveAction:c,activateNeveURL:m}=window.themeisleSDKPromotions,[d,p]=l(),[u,h]=(0,s.useState)(null);return(0,e.createElement)(s.Fragment,null,(0,e.createElement)(n.Button,{disabled:u&&"done"!==u,onClick:async()=>{const e={...window.themeisleSDKPromotions.option};e["neve-themes-popular"]=(new Date).getTime()/1e3|0,window.themeisleSDKPromotions.option=e,await p(i,JSON.stringify(e)),t&&t()},isLink:!0,className:"om-notice-dismiss"},(0,e.createElement)("span",{className:"dashicons-no-alt dashicons"}),(0,e.createElement)("span",{className:"screen-reader-text"},a.redirectionCF7.dismisscta)),(0,e.createElement)("div",{className:"content"},(0,e.createElement)("div",null,(0,e.createElement)("p",null,o),(0,e.createElement)("p",{className:"description"},"Meet ",(0,e.createElement)("b",null,"Neve"),", from the creators of ",window.themeisleSDKPromotions.product,". A very fast and free theme, trusted by over 300,000 users for building their websites and rated 4.7 stars!"),!u&&(0,e.createElement)("div",{className:"actions"},(0,e.createElement)(n.Button,{variant:"primary",onClick:e=>{if(e.preventDefault(),"activate"===c)return h("activating"),void p("themeisle_sdk_promotions_neve_installed",!0).then((()=>{window.location.href=m}));h("installing"),r("neve",!0).then((e=>{h("activating"),p("themeisle_sdk_promotions_neve_installed",!0).then((()=>{window.location.href=e.data.activateUrl}))}))}},"install"===c&&a.installActivate,"activate"===c&&a.activate),(0,e.createElement)(n.Button,{variant:"link",href:window.themeisleSDKPromotions.nevePreviewURL},a.preview)),u&&"done"!==u&&(0,e.createElement)("p",{className:"om-progress"},(0,e.createElement)("span",{className:"dashicons dashicons-update spin"}),(0,e.createElement)("span",null,"installing"===u&&a.installing,"activating"===u&&a.activating,"…")))))};function k({type:t,onDismiss:o}){const{title:i,option:a,optionKey:m,labels:d,rfCF7ActivationUrl:p,cf7Dash:u}=window.themeisleSDKPromotions,[h,w]=(0,s.useState)(!1),[g,E]=(0,s.useState)(null),[y,v]=l();if(h)return null;const f=(0,e.createElement)("div",{className:"actions"},(0,e.createElement)(n.Button,{isPrimary:!0,onClick:async e=>{e.preventDefault(),E("installing"),await r("wpcf7-redirect"),E("activating"),await c(p),v("themeisle_sdk_promotions_redirection_cf7_installed",!Boolean(y("themeisle_sdk_promotions_redirection_cf7_installed"))),E("done")}},d.redirectionCF7.gst),(0,e.createElement)(n.Button,{isLink:!0,target:"_blank",href:"https://wordpress.org/plugins/wpcf7-redirect/"},(0,e.createElement)("span",{className:"dashicons dashicons-external"}),(0,e.createElement)("span",null," ",d.learnmore)));return(0,e.createElement)(e.Fragment,null,(0,e.createElement)(n.Button,{disabled:g&&"done"!==g,onClick:async()=>{w(!0);const e={...a};e[t]=(new Date).getTime()/1e3|0,window.themeisleSDKPromotions.option=e,await v(m,JSON.stringify(e)),o&&o()},isLink:!0,className:"om-notice-dismiss"},(0,e.createElement)("span",{className:"dashicons-no-alt dashicons"}),(0,e.createElement)("span",{className:"screen-reader-text"},d.redirectionCF7.dismisscta)),(0,e.createElement)("div",{className:"content"},(0,e.createElement)("div",null,(0,e.createElement)("p",null,i),(0,e.createElement)("p",{className:"description"},d.redirectionCF7.message),g?"done"===g?(0,e.createElement)("div",{className:"done"},(0,e.createElement)("p",null," ",d.all_set),(0,e.createElement)(n.Button,{icon:"external",variant:"primary",href:u,target:"_blank"},d.redirectionCF7.gotodash)):(0,e.createElement)("p",{className:"om-progress"},(0,e.createElement)("span",{className:"dashicons dashicons-update spin"}),(0,e.createElement)("span",null,"installing"===g&&d.installing,"activating"===g&&d.activating,"…")):f)))}new class{constructor(){const{showPromotion:e,debug:t}=window.themeisleSDKPromotions;this.promo=e,this.debug="1"===t,this.domRef=null,this.run()}run(){if(window.themeisleSDKPromotions.option["neve-themes-popular"])return;const t=document.querySelector("#ti-neve-notice");t&&(0,s.render)((0,e.createElement)(f,{onDismiss:()=>{t.style.display="none"}}),t)}},new class{constructor(){this.run()}run(){if(window.themeisleSDKPromotions.option["redirection-cf7"])return;const t=document.querySelector("#ti-redirection-cf7-notice");t&&(0,s.render)((0,e.createElement)(k,{type:"redirection-cf7",onDismiss:()=>{t.style.display="none"}}),t)}};const S=({onDismiss:t=(()=>{})})=>{const{title:o,option:i,optionKey:a,labels:m,hyveActivationUrl:d,hyveDash:p}=window.themeisleSDKPromotions,[u,h]=(0,s.useState)(!1),[w,g]=(0,s.useState)(null),[E,y]=l();if(u)return null;const v=(0,e.createElement)("div",{className:"actions"},(0,e.createElement)(n.Button,{variant:"primary",onClick:async e=>{e.preventDefault(),g("installing"),await r("hyve-lite"),g("activating"),await c(d),y("themeisle_sdk_promotions_hyve_installed",!Boolean(E("themeisle_sdk_promotions_hyve_installed"))),g("done")}},m.hyve.install),(0,e.createElement)(n.Button,{variant:"link",target:"_blank",href:"https://wordpress.org/plugins/hyve-lite/"},(0,e.createElement)("span",{className:"dashicons dashicons-external"}),(0,e.createElement)("span",null,m.learnmore)));return(0,e.createElement)(e.Fragment,null,(0,e.createElement)(n.Button,{disabled:w&&"done"!==w,onClick:async()=>{h(!0);const e={...i};e["hyve-plugins-install"]=(new Date).getTime()/1e3|0,window.themeisleSDKPromotions.option=e,await y(a,JSON.stringify(e)),t&&t()},variant:"link",className:"om-notice-dismiss"},(0,e.createElement)("span",{className:"dashicons-no-alt dashicons"}),(0,e.createElement)("span",{className:"screen-reader-text"},m.hyve.dismisscta)),(0,e.createElement)("div",{className:"content"},(0,e.createElement)("div",null,(0,e.createElement)("p",null,o),(0,e.createElement)("p",{className:"description"},m.hyve.message),w?"done"===w?(0,e.createElement)("div",{className:"done"},(0,e.createElement)("p",null,m.all_set),(0,e.createElement)(n.Button,{icon:"external",variant:"primary",href:p,target:"_blank"},m.hyve.gotodash)):(0,e.createElement)("p",{className:"om-progress"},(0,e.createElement)("span",{className:"dashicons dashicons-update spin"}),(0,e.createElement)("span",null,"installing"===w&&m.installing,"activating"===w&&m.activating,"…")):v)))};(()=>{if(window.themeisleSDKPromotions.option["hyve-plugins-install"])return;const t=document.querySelector("#ti-hyve-notice");t&&(0,s.createRoot)(t).render((0,e.createElement)(S,{onDismiss:()=>{t.style.display="none"}}))})();const P=(0,o.createHigherOrderComponent)((o=>i=>{if("core/rss"!==i.name||!Boolean(window.themeisleSDKPromotions.showPromotion))return(0,e.createElement)(o,{...i});if("feedzy-editor"!==window.themeisleSDKPromotions.showPromotion)return(0,e.createElement)(o,{...i});const[a,r,c]=l(),[m,d]=(0,s.useState)(!1);return(0,s.useEffect)((()=>{m&&(()=>{const e={...window.themeisleSDKPromotions.option};e[window.themeisleSDKPromotions.showPromotion]=(new Date).getTime()/1e3|0,r("themeisle_sdk_promotions",JSON.stringify(e)),window.themeisleSDKPromotions.showPromotion=!1})()}),[m]),m?(0,e.createElement)(o,{...i}):(0,e.createElement)(e.Fragment,null,(0,e.createElement)(o,{...i}),(0,e.createElement)(t.InspectorControls,null,(0,e.createElement)(n.PanelBody,null,(0,e.createElement)("div",{style:{padding:"16px 10px",backgroundColor:"#f0f6fc",borderLeft:"4px solid #72aee6",margin:"5px 0",fontSize:"13px",color:"#1e1e1e",position:"relative"}},(0,e.createElement)("div",{dangerouslySetInnerHTML:{__html:window.themeisleSDKPromotions.labels.feedzy.editor_recommends}}),(0,e.createElement)("button",{onClick:()=>d(!0),style:{position:"absolute",top:"-2px",right:"3px",cursor:"pointer",background:"none",border:"none",padding:"2px",color:"#757575",fontSize:"16px"}},"×")))))}),"withFeedzyNotice");(0,a.addFilter)("editor.BlockEdit","feedzy/with-notice",P);const _=({onDismiss:t=(()=>{})})=>{const{title:o,option:i,optionKey:a,labels:m,wpFullPayActivationUrl:d,wpFullPayDash:p}=window.themeisleSDKPromotions,[u,h]=(0,s.useState)(!1),[w,g]=(0,s.useState)(null),[E,y]=l();if(u)return null;const v=(0,e.createElement)("div",{className:"actions"},(0,e.createElement)(n.Button,{variant:"primary",onClick:async e=>{e.preventDefault(),g("installing"),await r("wp-full-stripe-free"),g("activating"),await c(d),y("themeisle_sdk_promotions_wp_full_pay_installed",!Boolean(E("themeisle_sdk_promotions_wp_full_pay_installed"))),g("done")}},m.wp_full_pay.install),(0,e.createElement)(n.Button,{variant:"link",target:"_blank",href:"https://wordpress.org/plugins/wp-full-stripe-free/"},(0,e.createElement)("span",{className:"dashicons dashicons-external"}),(0,e.createElement)("span",null,m.learnmore)));return(0,e.createElement)(e.Fragment,null,(0,e.createElement)(n.Button,{disabled:w&&"done"!==w,onClick:async()=>{h(!0);const e={...i};e["wp-full-pay-plugins-install"]=(new Date).getTime()/1e3|0,window.themeisleSDKPromotions.option=e,await y(a,JSON.stringify(e)),t&&t()},variant:"link",className:"om-notice-dismiss"},(0,e.createElement)("span",{className:"dashicons-no-alt dashicons"}),(0,e.createElement)("span",{className:"screen-reader-text"},m.wp_full_pay.dismisscta)),(0,e.createElement)("div",{className:"content"},(0,e.createElement)("div",null,(0,e.createElement)("p",null,o),(0,e.createElement)("p",{className:"description"},m.wp_full_pay.message),w?"done"===w?(0,e.createElement)("div",{className:"done"},(0,e.createElement)("p",null,m.all_set),(0,e.createElement)(n.Button,{icon:"external",variant:"primary",href:p,target:"_blank"},m.wp_full_pay.gotodash)):(0,e.createElement)("p",{className:"om-progress"},(0,e.createElement)("span",{className:"dashicons dashicons-update spin"}),(0,e.createElement)("span",null,"installing"===w&&m.installing,"activating"===w&&m.activating,"…")):v)))};(()=>{if(window.themeisleSDKPromotions.option["wp-full-pay-plugins-install"])return;const t=document.querySelector("#ti-wp-full-pay-notice");t&&(0,s.createRoot)(t).render((0,e.createElement)(_,{onDismiss:()=>{t.style.display="none"}}))})()}},n={};function o(e){var i=n[e];if(void 0!==i)return i.exports;var s=n[e]={exports:{}};return t[e](s,s.exports,o),s.exports}o.m=t,e=[],o.O=(t,n,i,s)=>{if(!n){var a=1/0;for(m=0;m<e.length;m++){for(var[n,i,s]=e[m],l=!0,r=0;r<n.length;r++)(!1&s||a>=s)&&Object.keys(o.O).every((e=>o.O[e](n[r])))?n.splice(r--,1):(l=!1,s<a&&(a=s));if(l){e.splice(m--,1);var c=i();void 0!==c&&(t=c)}}return t}s=s||0;for(var m=e.length;m>0&&e[m-1][2]>s;m--)e[m]=e[m-1];e[m]=[n,i,s]},o.o=(e,t)=>Object.prototype.hasOwnProperty.call(e,t),(()=>{var e={57:0,350:0};o.O.j=t=>0===e[t];var t=(t,n)=>{var i,s,[a,l,r]=n,c=0;if(a.some((t=>0!==e[t]))){for(i in l)o.o(l,i)&&(o.m[i]=l[i]);if(r)var m=r(o)}for(t&&t(n);c<a.length;c++)s=a[c],o.o(e,s)&&e[s]&&e[s][0](),e[s]=0;return o.O(m)},n=globalThis.webpackChunkthemeisle_sdk=globalThis.webpackChunkthemeisle_sdk||[];n.forEach(t.bind(null,0)),n.push=t.bind(null,n.push.bind(n))})();var i=o.O(void 0,[350],(()=>o(536)));i=o.O(i)})();
  • visualizer/trunk/vendor/codeinwp/themeisle-sdk/load.php

    r3183867 r3240066  
    1515}
    1616// Current SDK version and path.
    17 $themeisle_sdk_version = '3.3.37';
     17$themeisle_sdk_version = '3.3.41';
    1818$themeisle_sdk_path    = dirname( __FILE__ );
    1919
  • visualizer/trunk/vendor/codeinwp/themeisle-sdk/src/Loader.php

    r3183867 r3240066  
    139139                'spark_desc3'  => 'Enable an advanced review section, enlarging the basic review options with lots of capabilities.',
    140140            ],
     141
     142            'feedzy'          => [
     143                'import_desc'       => 'Schedule automatic content imports from any RSS feed directly to your site. %sBuilt by %s%s',
     144                'install_now'       => 'Install Now',
     145                'by'                => 'by %s',
     146                'editor_recommends' => '%s recommends %sFeedzy%s to display entries from any RSS feed with more advanced styling and filtering options.',
     147            ],
    141148            'optimole'        => [
    142149                'installOptimole' => 'Install Optimole',
  • visualizer/trunk/vendor/codeinwp/themeisle-sdk/src/Modules/About_us.php

    r3183867 r3240066  
    379379                'name' => 'Hyve Lite',
    380380            ],
     381            'wp-full-stripe-free'                 => [
     382                'name' => 'WP Full Pay',
     383            ],
    381384        ];
    382385
  • visualizer/trunk/vendor/codeinwp/themeisle-sdk/src/Modules/Licenser.php

    r3086048 r3240066  
    927927    public function can_load( $product ) {
    928928
    929         if ( $product->is_wordpress_available() ) {
     929        if ( ! $product->requires_license() ) {
    930930            return false;
    931931        }
     
    976976        add_action( 'admin_head', [ $this, 'auto_activate' ] );
    977977        if ( $this->product->is_plugin() ) {
    978             add_filter(
    979                 'pre_set_site_transient_update_plugins',
    980                 [
    981                     $this,
    982                     'pre_set_site_transient_update_plugins_filter',
    983                 ]
    984             );
    985             add_filter( 'plugins_api', array( $this, 'plugins_api_filter' ), 10, 3 );
    986             add_filter( //phpcs:ignore WordPressVIPMinimum.Hooks.RestrictedHooks.http_request_args
    987                 'http_request_args',
    988                 array(
    989                     $this,
     978            if ( ! $product->is_wordpress_available() ) {
     979                add_filter(
     980                    'pre_set_site_transient_update_plugins',
     981                    [
     982                        $this,
     983                        'pre_set_site_transient_update_plugins_filter',
     984                    ]
     985                );
     986                add_filter( 'plugins_api', array( $this, 'plugins_api_filter' ), 10, 3 );
     987                add_filter( //phpcs:ignore WordPressVIPMinimum.Hooks.RestrictedHooks.http_request_args
    990988                    'http_request_args',
    991                 ),
    992                 10,
    993                 2
    994             );
    995             if ( ! self::is_valid( $product->get_basefile() ) ) {
    996                 add_filter(
    997                     'plugin_action_links_' . plugin_basename( $product->get_basefile() ),
    998                     function ( $actions ) {
    999                         if ( $this->get_license_status( true ) !== self::STATUS_ACTIVE_EXPIRED ) {
    1000                             return $actions;
     989                    array(
     990                        $this,
     991                        'http_request_args',
     992                    ),
     993                    10,
     994                    2
     995                );
     996                if ( ! self::is_valid( $product->get_basefile() ) ) {
     997                    add_filter(
     998                        'plugin_action_links_' . plugin_basename( $product->get_basefile() ),
     999                        function ( $actions ) {
     1000                            if ( $this->get_license_status( true ) !== self::STATUS_ACTIVE_EXPIRED ) {
     1001                                return $actions;
     1002                            }
     1003                            $new_actions['deactivate'] = $actions['deactivate'];
     1004                            $new_actions['renew_link'] = '<a style="color:#d63638" href="' . esc_url( $this->renew_url() ) . '" target="_blank" rel="external noopener noreferrer">' . esc_html( Loader::$labels['licenser']['renew_cta'] ) . '</a>';
     1005
     1006                            return $new_actions;
    10011007                        }
    1002                         $new_actions['deactivate'] = $actions['deactivate'];
    1003                         $new_actions['renew_link'] = '<a style="color:#d63638" href="' . esc_url( $this->renew_url() ) . '" target="_blank" rel="external noopener noreferrer">' . esc_html( Loader::$labels['licenser']['renew_cta'] ) . '</a>';
    1004 
    1005                         return $new_actions;
    1006                     }
     1008                    );
     1009                }
     1010            }
     1011
     1012            return $this;
     1013        }
     1014        if ( $this->product->is_theme() ) {
     1015            if ( ! $product->is_wordpress_available() ) {
     1016                add_filter( 'site_transient_update_themes', array( &$this, 'theme_update_transient' ) );
     1017                add_action( 'delete_site_transient_update_themes', array( &$this, 'delete_theme_update_transient' ) );
     1018                add_action( 'load-update-core.php', array( &$this, 'delete_theme_update_transient' ) );
     1019                add_action( 'load-themes.php', array( &$this, 'delete_theme_update_transient' ) );
     1020                add_action( 'load-themes.php', array( &$this, 'load_themes_screen' ) );
     1021                add_filter( //phpcs:ignore WordPressVIPMinimum.Hooks.RestrictedHooks.http_request_args
     1022                    'http_request_args',
     1023                    array(
     1024                        $this,
     1025                        'disable_wporg_update',
     1026                    ),
     1027                    5,
     1028                    2
    10071029                );
    10081030            }
    1009 
    1010             return $this;
    1011         }
    1012         if ( $this->product->is_theme() ) {
    1013             add_filter( 'site_transient_update_themes', array( &$this, 'theme_update_transient' ) );
    1014             add_action( 'delete_site_transient_update_themes', array( &$this, 'delete_theme_update_transient' ) );
    1015             add_action( 'load-update-core.php', array( &$this, 'delete_theme_update_transient' ) );
    1016             add_action( 'load-themes.php', array( &$this, 'delete_theme_update_transient' ) );
    1017             add_action( 'load-themes.php', array( &$this, 'load_themes_screen' ) );
    1018             add_filter( //phpcs:ignore WordPressVIPMinimum.Hooks.RestrictedHooks.http_request_args
    1019                 'http_request_args',
    1020                 array(
    1021                     $this,
    1022                     'disable_wporg_update',
    1023                 ),
    1024                 5,
    1025                 2
    1026             );
    10271031
    10281032            return $this;
  • visualizer/trunk/vendor/codeinwp/themeisle-sdk/src/Modules/Promotions.php

    r3183867 r3240066  
    3333     * @var array
    3434     */
    35     private $promotions = array();
     35    public $promotions = array();
    3636
    3737    /**
     
    100100
    101101    /**
     102     * Option key for Feedzy.
     103     *
     104     * @var string
     105     */
     106    private $option_feedzy = 'themeisle_sdk_promotions_feedzy_installed';
     107
     108    /**
    102109     * Loaded promotion.
    103110     *
     
    135142        }
    136143
    137         $this->debug          = apply_filters( 'themeisle_sdk_promo_debug', $this->debug );
    138         $promotions_to_load   = apply_filters( $product->get_key() . '_load_promotions', array() );
     144        $this->debug        = apply_filters( 'themeisle_sdk_promo_debug', $this->debug );
     145        $promotions_to_load = apply_filters( $product->get_key() . '_load_promotions', array() );
     146
    139147        $promotions_to_load[] = 'optimole';
    140148        $promotions_to_load[] = 'rop';
     
    144152        $promotions_to_load[] = 'hyve';
    145153        $promotions_to_load[] = 'wp_full_pay';
    146 
     154        $promotions_to_load[] = 'feedzy_import';
     155
     156        if ( defined( 'NEVE_VERSION' ) || defined( 'WPMM_PATH' ) || defined( 'OTTER_BLOCKS_VERSION' ) || defined( 'OBFX_URL' ) ) {
     157            $promotions_to_load[] = 'feedzy_embed';
     158        }
    147159        $promotions_to_load = array_unique( $promotions_to_load );
    148160
     
    156168            }
    157169        }
    158 
    159170        add_action( 'init', array( $this, 'register_settings' ), 99 );
    160171        add_action( 'admin_init', array( $this, 'register_reference' ), 99 );
     
    246257        if ( isset( $_GET['wp_full_pay_reference_key'] ) ) {
    247258            update_option( 'wp_full_pay_reference_key', sanitize_key( $_GET['wp_full_pay_reference_key'] ) );
     259        }
     260        if ( isset( $_GET['feedzy_reference_key'] ) || ( isset( $_GET['from'], $_GET['plugin'] ) && $_GET['from'] === 'import' && str_starts_with( sanitize_key( $_GET['plugin'] ), 'feedzy' ) ) ) {
     261            update_option( 'feedzy_reference_key', sanitize_key( $_GET['feedzy_reference_key'] ?? 'i-' . $this->product->get_key() ) );
     262            update_option( $this->option_feedzy, 1 );
    248263        }
    249264    }
     
    394409        $has_wfp_full_pay          = defined( 'WP_FULL_STRIPE_BASENAME' ) || $this->is_plugin_installed( 'wp-full-stripe-free' );
    395410        $had_wfp_from_promo        = get_option( $this->option_wp_full_pay, false );
     411        $has_wfp_conditions        = $this->has_donate_page();
    396412        $is_min_req_v              = version_compare( get_bloginfo( 'version' ), '5.8', '>=' );
    397413        $current_theme             = wp_get_theme();
     
    402418        $is_min_php_8_1            = version_compare( PHP_VERSION, '8.1', '>=' );
    403419
     420        $has_feedzy            = defined( 'FEEDZY_BASEFILE' ) || $this->is_plugin_installed( 'feedzy-rss-feedss' );
     421        $had_feedzy_from_promo = get_option( $this->option_feedzy, false );
     422
    404423        $all = [
    405424            'optimole'        => [
     
    428447                ],
    429448            ],
     449            'feedzy_import'   => [
     450                'feedzy-import' => [
     451                    'env'    => true,
     452                    'screen' => 'import',
     453                    'always' => true,
     454                ],
     455            ],
     456            'feedzy_embed'    => [
     457                'feedzy-editor' => [
     458                    'env'    => ! $has_feedzy && is_main_site() && ! $had_feedzy_from_promo,
     459                    'screen' => 'editor',
     460                ],
     461            ],
    430462            'otter'           => [
    431463                'blocks-css'        => [
     
    491523            'wp_full_pay'     => [
    492524                'wp-full-pay-plugins-install' => [
    493                     'env'    => ! $has_wfp_full_pay && ! $had_wfp_from_promo,
     525                    'env'    => ! $has_wfp_full_pay && ! $had_wfp_from_promo && $has_wfp_conditions,
    494526                    'screen' => 'plugin-install',
    495527                ],
     
    514546            }
    515547        }
    516 
    517548        return $all;
    518549    }
     
    564595        $is_plugin_install = isset( $current_screen->id ) && ( $current_screen->id === 'plugin-install' );
    565596        $is_product        = isset( $current_screen->id ) && $current_screen->id === 'product';
     597        $is_import         = isset( $current_screen->id ) && $current_screen->id === 'import';
    566598        $is_cf7_install    = isset( $current_screen->id ) && function_exists( 'str_contains' ) ? str_contains( $current_screen->id, 'page_wpcf7' ) : false;
    567599
    568         $return = [];
    569        
     600        $return               = [];
    570601        $product_install_time = (int) $this->product->get_install_time();
    571602        $is_older             = time() > ( $product_install_time + ( 3 * DAY_IN_SECONDS ) );
    572603        $is_newer             = time() < ( $product_install_time + ( 6 * HOUR_IN_SECONDS ) );
    573 
    574604        foreach ( $this->promotions as $slug => $promos ) {
    575605            foreach ( $promos as $key => $data ) {
    576606
    577                 $data = wp_parse_args( $data, [ 'delayed' => false ] );
     607                $data = wp_parse_args(
     608                    $data,
     609                    [
     610                        'delayed' => false,
     611                        'always'  => false,
     612                    ]
     613                );
    578614
    579615                if (
    580                     ! $this->debug && 
     616                    ! $this->debug &&
    581617                    (
    582618                        ( $data['delayed'] === true && ! $is_older ) || // Skip promotions that are delayed for 3 days.
    583619                        $is_newer // Skip promotions for the first 6 hours after install.
    584620                    )
     621                    && ! $data['always']
    585622                ) {
    586623                    unset( $this->promotions[ $slug ][ $key ] );
     
    588625                    continue;
    589626                }
    590 
    591627                switch ( $data['screen'] ) {
    592628                    case 'media-editor':
     
    602638                    case 'editor':
    603639                        if ( ! $is_editor || $is_elementor ) {
     640                            unset( $this->promotions[ $slug ][ $key ] );
     641                        }
     642                        break;
     643                    case 'import':
     644                        if ( ! $is_import ) {
    604645                            unset( $this->promotions[ $slug ][ $key ] );
    605646                        }
     
    683724            }
    684725
     726            add_action( 'load-import.php', [ $this, 'add_import' ] );
    685727            $this->load_woo_promos();
    686728
    687729            return;
    688730        }
    689 
    690731        switch ( $slug ) {
    691732            case 'om-editor':
     
    706747                add_action( 'admin_enqueue_scripts', [ $this, 'enqueue' ] );
    707748                add_action( 'admin_notices', [ $this, 'render_rop_dash_notice' ] );
     749                break;
     750            case 'feedzy-import':
     751                add_action( 'load-import.php', [ $this, 'add_import' ] );
     752
     753                break;
     754            case 'feedzy-editor':
     755                add_action( 'enqueue_block_editor_assets', [ $this, 'enqueue' ] );
    708756                break;
    709757            case 'ppom':
     
    745793
    746794    /**
     795     * Add import row.
     796     *
     797     * @return void
     798     */
     799    public function add_import() {
     800        global $wp_importers;
     801        if ( isset( $wp_importers['feedzy-rss-feeds'] ) ) {
     802            return;
     803        }
     804        $wp_importers['feedzy-rss-feeds'] = array( // phpcs:ignore WordPress.WP.GlobalVariablesOverride.Prohibited
     805            'Feedzy',
     806            sprintf( Loader::$labels['promotions']['feedzy']['import_desc'], '<span style="float: left; font-style: italic;margin-top:0.4em;">', $this->product->get_friendly_name(), '</span>' ),
     807            'install' => 'feedzy-rss-feeds',
     808        );
     809        if ( defined( 'FEEDZY_BASEFILE' ) ) {
     810            unset( $wp_importers['feedzy-rss-feeds']['install'] );
     811        }
     812    }
     813    /**
    747814     * Render dashboard notice.
    748815     */
     
    769836        $deps              = array_merge( $asset_file['dependencies'], [ 'updates' ] );
    770837
    771         $themes      = wp_get_themes();
    772         $neve_action = isset( $themes['neve'] ) ? 'activate' : 'install';
    773 
     838        $themes                                = wp_get_themes();
     839        $neve_action                           = isset( $themes['neve'] ) ? 'activate' : 'install';
     840        $labels                                = Loader::$labels['promotions'];
     841        $labels['feedzy']['editor_recommends'] = sprintf(
     842            $labels['feedzy']['editor_recommends'],
     843            $this->product->get_friendly_name(),
     844            '<a target="_blank" href="' . add_query_arg(
     845                array(
     846                    'tab'                  => 'plugin-information',
     847                    'plugin'               => 'feedzy-rss-feeds',
     848                    '_wpnonce'             => wp_create_nonce( 'activate-plugin_feedzy-rss-feeds' ),
     849                    'feedzy_reference_key' => 'e-' . $this->product->get_key(),
     850                ),
     851                network_admin_url( 'plugin-install.php' )
     852            ) . '">',
     853            '</a>'
     854        );
    774855        wp_register_script( $handle, $themeisle_sdk_src . 'assets/js/build/promos/index.js', $deps, $asset_file['version'], true );
    775856        wp_localize_script(
     
    778859            [
    779860                'debug'                  => $this->debug,
    780                 'labels'                 => Loader::$labels['promotions'],
     861                'labels'                 => $labels,
    781862                'email'                  => $user->user_email,
    782863                'showPromotion'          => $this->loaded_promo,
     
    810891                            '_wpnonce'   => wp_create_nonce( 'switch-theme_neve' ),
    811892                        ],
    812                         admin_url( 'themes.php' ) 
     893                        admin_url( 'themes.php' )
    813894                    )
    814895                ),
  • visualizer/trunk/vendor/codeinwp/themeisle-sdk/src/Modules/Translations.php

    r3183867 r3240066  
    190190     */
    191191    public function add_theme_translations( $_transient_data ) {
    192         return $this->add_translations( $_transient_data, 'theme' );
     192        return $this->add_translations( $_transient_data, 'themes' );
    193193    }
    194194
  • visualizer/trunk/vendor/codeinwp/themeisle-sdk/src/Product.php

    r3072683 r3240066  
    347347     */
    348348    public function get_friendly_name() {
    349         $name = apply_filters( $this->get_key() . '_friendly_name', trim( str_replace( 'Lite', '', $this->get_name() ) ) );
     349        $name = trim( str_replace( 'Lite', '', $this->get_name() ) );
     350        if ( defined( 'OTTER_BLOCKS_BASEFILE' ) && OTTER_BLOCKS_BASEFILE === $this->basefile ) {
     351            $name = 'Otter Blocks';
     352        }
     353        if ( defined( 'OPTML_BASEFILE' ) && OPTML_BASEFILE === $this->basefile ) {
     354            $name = 'Optimole';
     355        }
     356        if ( defined( 'WPMM_FILE' ) && WPMM_FILE === $this->basefile ) {
     357            $name = 'LightStart';
     358        }
     359        $name = apply_filters( $this->get_key() . '_friendly_name', $name );
    350360        $name = rtrim( $name, '- ()' );
    351361
  • visualizer/trunk/vendor/composer/InstalledVersions.php

    r2890438 r3240066  
    3232     */
    3333    private static $installed;
     34
     35    /**
     36     * @var bool
     37     */
     38    private static $installedIsLocalDir;
    3439
    3540    /**
     
    310315        self::$installed = $data;
    311316        self::$installedByVendor = array();
     317
     318        // when using reload, we disable the duplicate protection to ensure that self::$installed data is
     319        // always returned, but we cannot know whether it comes from the installed.php in __DIR__ or not,
     320        // so we have to assume it does not, and that may result in duplicate data being returned when listing
     321        // all installed packages for example
     322        self::$installedIsLocalDir = false;
    312323    }
    313324
     
    323334
    324335        $installed = array();
     336        $copiedLocalDir = false;
    325337
    326338        if (self::$canGetVendors) {
     339            $selfDir = strtr(__DIR__, '\\', '/');
    327340            foreach (ClassLoader::getRegisteredLoaders() as $vendorDir => $loader) {
     341                $vendorDir = strtr($vendorDir, '\\', '/');
    328342                if (isset(self::$installedByVendor[$vendorDir])) {
    329343                    $installed[] = self::$installedByVendor[$vendorDir];
     
    331345                    /** @var array{root: array{name: string, pretty_version: string, version: string, reference: string|null, type: string, install_path: string, aliases: string[], dev: bool}, versions: array<string, array{pretty_version?: string, version?: string, reference?: string|null, type?: string, install_path?: string, aliases?: string[], dev_requirement: bool, replaced?: string[], provided?: string[]}>} $required */
    332346                    $required = require $vendorDir.'/composer/installed.php';
    333                     $installed[] = self::$installedByVendor[$vendorDir] = $required;
    334                     if (null === self::$installed && strtr($vendorDir.'/composer', '\\', '/') === strtr(__DIR__, '\\', '/')) {
    335                         self::$installed = $installed[count($installed) - 1];
     347                    self::$installedByVendor[$vendorDir] = $required;
     348                    $installed[] = $required;
     349                    if (self::$installed === null && $vendorDir.'/composer' === $selfDir) {
     350                        self::$installed = $required;
     351                        self::$installedIsLocalDir = true;
    336352                    }
     353                }
     354                if (self::$installedIsLocalDir && $vendorDir.'/composer' === $selfDir) {
     355                    $copiedLocalDir = true;
    337356                }
    338357            }
     
    351370        }
    352371
    353         if (self::$installed !== array()) {
     372        if (self::$installed !== array() && !$copiedLocalDir) {
    354373            $installed[] = self::$installed;
    355374        }
  • visualizer/trunk/vendor/composer/installed.json

    r3183867 r3240066  
    33        {
    44            "name": "codeinwp/themeisle-sdk",
    5             "version": "3.3.37",
    6             "version_normalized": "3.3.37.0",
     5            "version": "3.3.41",
     6            "version_normalized": "3.3.41.0",
    77            "source": {
    88                "type": "git",
    99                "url": "https://github.com/Codeinwp/themeisle-sdk.git",
    10                 "reference": "73e9010fb4e30ad8835f00a0df802733f98c4094"
     10                "reference": "b194c872933882f4e5780eae56c59698d01623fc"
    1111            },
    1212            "dist": {
    1313                "type": "zip",
    14                 "url": "https://api.github.com/repos/Codeinwp/themeisle-sdk/zipball/73e9010fb4e30ad8835f00a0df802733f98c4094",
    15                 "reference": "73e9010fb4e30ad8835f00a0df802733f98c4094",
     14                "url": "https://api.github.com/repos/Codeinwp/themeisle-sdk/zipball/b194c872933882f4e5780eae56c59698d01623fc",
     15                "reference": "b194c872933882f4e5780eae56c59698d01623fc",
    1616                "shasum": ""
    1717            },
     
    2020                "yoast/phpunit-polyfills": "^2.0"
    2121            },
    22             "time": "2024-11-06T14:44:53+00:00",
     22            "time": "2025-02-05T10:30:34+00:00",
    2323            "type": "library",
    2424            "installation-source": "dist",
     
    4141            "support": {
    4242                "issues": "https://github.com/Codeinwp/themeisle-sdk/issues",
    43                 "source": "https://github.com/Codeinwp/themeisle-sdk/tree/v3.3.37"
     43                "source": "https://github.com/Codeinwp/themeisle-sdk/tree/v3.3.41"
    4444            },
    4545            "install-path": "../codeinwp/themeisle-sdk"
  • visualizer/trunk/vendor/composer/installed.php

    r3187394 r3240066  
    22    'root' => array(
    33        'name' => 'codeinwp/visualizer',
    4         'pretty_version' => 'v3.11.8',
    5         'version' => '3.11.8.0',
    6         'reference' => 'f6ee7b18c82876241b6c87d7eae02264c2da18ae',
     4        'pretty_version' => 'v3.11.9',
     5        'version' => '3.11.9.0',
     6        'reference' => 'c8438ce5adee0aa82c862922f6809f315f486ff4',
    77        'type' => 'wordpress-plugin',
    88        'install_path' => __DIR__ . '/../../',
     
    1212    'versions' => array(
    1313        'codeinwp/themeisle-sdk' => array(
    14             'pretty_version' => '3.3.37',
    15             'version' => '3.3.37.0',
    16             'reference' => '73e9010fb4e30ad8835f00a0df802733f98c4094',
     14            'pretty_version' => '3.3.41',
     15            'version' => '3.3.41.0',
     16            'reference' => 'b194c872933882f4e5780eae56c59698d01623fc',
    1717            'type' => 'library',
    1818            'install_path' => __DIR__ . '/../codeinwp/themeisle-sdk',
     
    2121        ),
    2222        'codeinwp/visualizer' => array(
    23             'pretty_version' => 'v3.11.8',
    24             'version' => '3.11.8.0',
    25             'reference' => 'f6ee7b18c82876241b6c87d7eae02264c2da18ae',
     23            'pretty_version' => 'v3.11.9',
     24            'version' => '3.11.9.0',
     25            'reference' => 'c8438ce5adee0aa82c862922f6809f315f486ff4',
    2626            'type' => 'wordpress-plugin',
    2727            'install_path' => __DIR__ . '/../../',
Note: See TracChangeset for help on using the changeset viewer.