Plugin Directory

Changeset 3005280


Ignore:
Timestamp:
12/04/2023 07:15:10 PM (2 years ago)
Author:
ivanp
Message:

version 1.1.0

Location:
iframely
Files:
50 added
9 edited

Legend:

Unmodified
Added
Removed
  • iframely/trunk/app/Embed/Amp.php

    r2686906 r3005280  
    2424    }
    2525
    26     public static function maybe_add_iframe_amp($provider, $args, $url)
     26    public static function maybe_add_iframe_amp($provider, $url, $args)
    2727    {
    2828        if (self::is_iframely_amp($args) && Utils::stringContains($provider, 'iframe.ly')) {
  • iframely/trunk/app/Embed/Gutenberg.php

    r2686906 r3005280  
    1616    public static function init(): void
    1717    {
     18        # Always extract &iframely={serialized options} that we append to URLs
     19        # and add these options into the oEmbed endpoint's query-string parameters
     20        add_filter('oembed_fetch_url', [self::class, 'maybe_add_iframely_url_options'], 20, 3);
     21
    1822        if (!current_user_can('edit_posts')) {
    1923            return;
     
    3236    {
    3337        add_filter('embed_defaults', [self::class, 'iframely_bust_gutenberg_cache'], 10, 1);
    34         add_filter('oembed_fetch_url', [self::class, 'maybe_add_gutenberg_1'], 10, 3);
     38        add_filter('oembed_fetch_url', [self::class, 'maybe_add_gutenberg_1'], 20, 3);
    3539        add_filter('oembed_result', [self::class, 'inject_events_proxy_to_gutenberg'], 10, 3);
    3640
     
    4549    public static function iframely_bust_gutenberg_cache($args)
    4650    {
    47         $args['gutenberg'] = 1;
     51        $args['gutenberg'] = 2;
    4852        return $args;
    4953    }
    5054
    51     public static function maybe_add_gutenberg_1($provider, $args, $url)
     55    public static function maybe_add_gutenberg_1($provider, $url, $args)
    5256    {
    5357        if (Utils::stringContains($provider, 'iframe.ly')) {
    54             if (!Utils::stringContains($provider, 'iframe=card')) {
    55                 $provider = add_query_arg('iframe', '1', $provider);
     58            $provider = add_query_arg('iframe', '1', $provider);
     59            $provider = add_query_arg('import', '0', $provider);
     60            $provider = add_query_arg('ssl', '1', $provider);
     61            $provider = add_query_arg('gutenberg', '2', $provider);
     62        }
     63        return $provider;
     64    }
     65
     66    public static function maybe_add_iframely_url_options($provider, $url, $args)
     67    {
     68        # Options are added to URL the URL in utils.js this way:
     69        # 'iframely=' + encodeURIComponent(window.btoa(JSON.stringify(query)));
     70        if (Utils::stringContains($provider, 'iframe.ly') && Utils::stringContains($url, 'iframely=')) {
     71            $parsed_url = parse_url($url);
     72            if (isset($parsed_url['query'])) {
     73                $params = array();
     74                parse_str($parsed_url['query'], $params);
     75
     76                if (isset($params['iframely'])) {
     77                    $options_str = base64_decode(urldecode($params['iframely']));
     78                    $options_query = json_decode($options_str);
     79
     80                    foreach ($options_query as $key => $value) {
     81                        $provider = add_query_arg($key, $value, $provider);
     82                    }
     83                }
    5684            }
    57             $provider = add_query_arg('gutenberg', '1', $provider);
    5885        }
    5986        return $provider;
     
    6289    public static function inject_events_proxy_to_gutenberg($html, $url, $args)
    6390    {
    64         if (!empty(trim($html))) { // != trims $html
    65             return $html . '<script type="text/javascript">window.addEventListener("message",function(e){window.parent.postMessage(e.data,"*");},false);</script>';
     91        if (!empty(trim($html))) {
     92            return $html .
     93                '<style>body{overflow: hidden}</style>' .
     94                '<script type="text/javascript">window.addEventListener("message",function(e){window.top.postMessage(e.data,"*");},false);</script>';
    6695        }
    6796        return $html;
  • iframely/trunk/app/Embed/Oembed.php

    r2686906 r3005280  
    55use Iframely\Embed;
    66use Iframely\Options;
     7use Iframely\Utils;
    78
    89class Oembed
     
    2425        # Always add iframely as oembed provider for any iframe.ly short link
    2526        wp_oembed_add_provider('#https?://iframe\.ly/.+#i', Embed::createApiLink(), true);
     27
     28        # Fix URL query-string settings by replacing &iframe=card into &iframe=1&card=1
     29        add_filter('oembed_fetch_url', [self::class, 'maybe_replace_iframe_card'], 10, 3);
    2630    }
    2731
     
    4145        return $providers;
    4246    }
     47
     48    public static function maybe_replace_iframe_card($provider, $url, $args)
     49    {
     50        if (Utils::stringContains($provider, 'iframe.ly') && Utils::stringContains($provider, 'iframe=card')) {
     51            if (Utils::stringContains($provider, 'iframe=card-small')) {
     52                $provider = add_query_arg('card', 'small', $provider);
     53            } else {
     54                $provider = add_query_arg('card', '1', $provider);
     55            }
     56            $provider = add_query_arg('iframe', '1', $provider);
     57        }
     58        return $provider;
     59    }
    4360}
    44 
    45 
    46 
    47 
    48 
    49 
  • iframely/trunk/app/UI/Settings.php

    r2686906 r3005280  
    2323        // Load assets
    2424        add_action('admin_enqueue_scripts', [self::class, 'enqueue']);
     25        add_action('enqueue_block_editor_assets', [self::class, 'enqueueEditor']);
    2526    }
    2627
     
    2829    {
    2930        if (is_multisite()) {
    30             add_submenu_page('settings.php', __('Iframely', 'iframely'), __('Iframely', 'iframely'), 'install_plugins', 'iframely', [self::class, 'render']);
     31            add_submenu_page('settings.php', __('Iframely', 'iframely'), __('Iframely', 'iframely'), 'manage_network_options', 'iframely', [self::class, 'render']);
    3132        } else {
    3233            add_options_page(__('Iframely', 'iframely'), __('Iframely', 'iframely'), 'manage_options', 'iframely', [self::class, 'render']);
     
    3738    {
    3839        $screen = get_current_screen();
    39         $screens = ['post', 'settings_page_iframely-network', 'settings_page_iframely'];
     40        $screens = ['settings_page_iframely-network', 'settings_page_iframely'];
    4041        if (!($screen !== null && in_array($screen->id, $screens))) {
    4142            return;
    4243        }
    43         wp_enqueue_style('iframely-admin', Plugin::asset('index.css'), [], IFRAMELY_VERSION);
     44        wp_enqueue_style('iframely-admin', Plugin::asset('admin.css'), [], IFRAMELY_VERSION);
     45    }
     46
     47    public static function enqueueEditor(): void
     48    {
     49        wp_enqueue_style('iframely-options', Plugin::asset('index.css'), [], IFRAMELY_VERSION);
    4450    }
    4551
  • iframely/trunk/build/index.asset.php

    r2910861 r3005280  
    1 <?php return array('dependencies' => array('wp-block-editor', 'wp-components', 'wp-compose', 'wp-data', 'wp-element', 'wp-hooks', 'wp-i18n'), 'version' => '2b787e75d61c1a84f7e7');
     1<?php return array('dependencies' => array('react', 'wp-block-editor', 'wp-components', 'wp-compose', 'wp-data', 'wp-element', 'wp-hooks', 'wp-i18n'), 'version' => 'a4ffcff9e90dcd142020');
  • iframely/trunk/build/index.css

    r2910861 r3005280  
    1 .iframely-activation{display:flex;flex-direction:column;gap:1.5em}@media(min-width:1100px){.iframely-activation{flex-direction:row}}.iframely-activation__form{display:flex;flex-direction:column;gap:1em;margin:.5em 0 1em}@media(min-width:783px){.iframely-activation__form{flex-direction:row}}.iframely-activation__input{display:block;flex:1}.iframely-activation__button{align-self:flex-start}.iframely-card{display:flex;flex-direction:column;margin:0;max-width:none}.iframely-card__body{flex:1;margin-bottom:1em}.iframely-card__footer{margin-top:0}@media(min-width:600px){.iframely-heading{margin-bottom:.25em!important}}.iframely-customize{display:grid;gap:1.5em}@media(min-width:800px){.iframely-customize{grid-template-columns:repeat(2,1fr)}}@media(min-width:1200px){.iframely-customize{grid-template-columns:repeat(3,1fr)}}.iframely-onboarding{border-left-width:1px;box-sizing:border-box;margin:1em 0!important;max-width:none;padding:2em!important}.iframely-onboarding.notice p{margin:0;padding:0}.iframely-onboarding h3:first-child{margin-top:0}.iframely-onboarding__title{font-size:21px;font-weight:400;margin:0 0 1.5em}.iframely-onboarding__body{display:grid;gap:2em}.iframely-onboarding__cover{order:-1}.iframely-onboarding__embed{aspect-ratio:676/420;border-radius:6px;box-shadow:0 36px 48px -32px rgba(0,0,0,.24),0 20px 60px rgba(0,0,0,.12);display:block;overflow:hidden}@media(max-width:599px){.iframely-onboarding__embed{border-radius:3px;box-shadow:0 18px 24px -16px rgba(0,0,0,.24),0 10px 30px rgba(0,0,0,.12)}}.iframely-onboarding__img{border-radius:6px;display:block;height:auto;outline:1px solid rgba(0,0,0,.2);outline-offset:-1px;width:100%}@media(max-width:599px){.iframely-onboarding__img{border-radius:3px;box-shadow:0 18px 24px -16px rgba(0,0,0,.24),0 10px 30px rgba(0,0,0,.12)}}@media(min-width:1000px){.iframely-onboarding__body{grid-template-columns:repeat(2,1fr)}.iframely-onboarding__cover{order:0}}@media(min-width:1200px){.iframely-onboarding{padding-bottom:3em!important;padding-right:3em!important}.iframely-onboarding__body{gap:4em;grid-template-columns:auto 55%}}.iframely-promo{margin-top:2.5em;max-width:none;padding:0}.iframely-promo__body{padding:2em}.iframely-promo__footer{background:#f6f7f7;border-top:1px solid #ebebeb;display:flex;gap:1em;padding:.5em 2em}.iframely-promo__logo{display:inline-block}.iframely-promo__tagline{margin-bottom:1.5em;max-width:54em}.iframely-promo__item{align-items:center;display:flex;margin:.5em 0}.iframely-promo__icon{fill:#fff;border-radius:50%;display:inline-block;flex-shrink:0;height:1.231em;margin-right:.5em;width:1.231em}@media(min-width:600px){.iframely-promo__list{box-sizing:border-box;display:flex;flex-wrap:wrap;max-width:560px}.iframely-promo__item{box-sizing:border-box;padding-right:1em;width:40%}.iframely-promo__item:nth-child(2n){width:60%}}.iframely-mb-05em{margin-bottom:.5em}.iframely-mb-1em{margin-bottom:1em}.iframely-mb-15em{margin-bottom:1.5em}.iframely-mb-2em{margin-bottom:2em}.iframely-mb-intro{margin:1.75em 0}.iframely-mt-05em{margin-top:.5em}.iframely-mt-1em{margin-top:1em}.iframely-mt-15em{margin-top:1.5em}.iframely-option__group{margin-bottom:1em}.iframely-option__label{display:inline-block;margin-bottom:4px}.iframely-option-check{display:flex;position:relative}.iframely-option-check:not(:last-child){margin-bottom:10px}.iframely-option-check__input{margin:0 12px 0 0!important;opacity:.0001;padding:0!important}.iframely-option-check__input,.iframely-option-check__label:after,.iframely-option-check__label:before{height:20px!important;width:20px!important}.iframely-option-check__label{display:block}.iframely-option-check__label:after,.iframely-option-check__label:before{content:"";display:block;left:0;position:absolute;top:0}.iframely-option-check__label:before{background:#fff;border:1px solid #1e1e1e;border-radius:2px}.iframely-option-check__label:after{background:no-repeat url("data:image/svg+xml;charset=utf-8,%3Csvg xmlns=%27http://www.w3.org/2000/svg%27 width=%2724%27 height=%2724%27%3E%3Cpath d=%27m16.7 7.1-6.3 8.5-3.3-2.5-.9 1.2 4.5 3.4L17.9 8z%27 fill=%27%23fff%27/%3E%3C/svg%3E") 50%}.iframely-option-check__input:checked+.iframely-option-check__label:before{background:var(--wp-admin-theme-color);border-color:var(--wp-admin-theme-color)}.iframely-option-check__input:checked+.iframely-option-check__label:after{opacity:1}.iframely-option-radio .iframely-option-check__label:after,.iframely-option-radio .iframely-option-check__label:before{border-radius:50%}.iframely-option-radio .iframely-option-check__input:checked+.iframely-option-check__label:after{background:#fff;height:8px!important;left:6px;top:6px;width:8px!important}@media(max-width:599px){.iframely-option-check__input,.iframely-option-check__label:after,.iframely-option-check__label:before{height:24px!important;width:24px!important}.iframely-option-radio .iframely-option-check__input:checked+.iframely-option-check__label:after{left:8px;top:8px}.iframely-option-check__label{padding-top:2px}}.iframely-option__input.iframely-option__text{border:1px solid #757575;border-radius:2px;display:inline-block;font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Oxygen-Sans,Ubuntu,Cantarell,Helvetica Neue,sans-serif;font-size:13px;line-height:normal;padding:6px 8px;transition:box-shadow .1s linear;width:100%}.iframely-option__input.iframely-option__text:focus{border-color:var(--wp-admin-theme-color);box-shadow:0 0 0 1px var(--wp-admin-theme-color);outline:2px solid transparent}
     1.iframely-option__group{margin-bottom:1em}.iframely-option__label{display:inline-block;margin-bottom:4px}.iframely-option-check{display:flex;position:relative}.iframely-option-check:not(:last-child){margin-bottom:10px}.iframely-option-check__input{margin:0 12px 0 0!important;opacity:.0001;padding:0!important}.iframely-option-check__input,.iframely-option-check__label:after,.iframely-option-check__label:before{height:20px!important;width:20px!important}.iframely-option-check__label{display:block}.iframely-option-check__label:after,.iframely-option-check__label:before{content:"";display:block;left:0;position:absolute;top:0}.iframely-option-check__label:before{background:#fff;border:1px solid #1e1e1e;border-radius:2px}.iframely-option-check__label:after{background:no-repeat url("data:image/svg+xml;charset=utf-8,%3Csvg xmlns=%27http://www.w3.org/2000/svg%27 width=%2724%27 height=%2724%27%3E%3Cpath fill=%27%23fff%27 d=%27m16.7 7.1-6.3 8.5-3.3-2.5-.9 1.2 4.5 3.4L17.9 8z%27/%3E%3C/svg%3E") 50%}.iframely-option-check__input:checked+.iframely-option-check__label:before{background:var(--wp-admin-theme-color);border-color:var(--wp-admin-theme-color)}.iframely-option-check__input:checked+.iframely-option-check__label:after{opacity:1}.iframely-option-radio .iframely-option-check__label:after,.iframely-option-radio .iframely-option-check__label:before{border-radius:50%}.iframely-option-radio .iframely-option-check__input:checked+.iframely-option-check__label:after{background:#fff;height:8px!important;left:6px;top:6px;width:8px!important}@media(max-width:599px){.iframely-option-check__input,.iframely-option-check__label:after,.iframely-option-check__label:before{height:24px!important;width:24px!important}.iframely-option-radio .iframely-option-check__input:checked+.iframely-option-check__label:after{left:8px;top:8px}.iframely-option-check__label{padding-top:2px}}.iframely-option__input.iframely-option__text{border:1px solid #757575;border-radius:2px;display:inline-block;font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Oxygen-Sans,Ubuntu,Cantarell,Helvetica Neue,sans-serif;font-size:13px;line-height:normal;padding:6px 8px;transition:box-shadow .1s linear;width:100%}.iframely-option__input.iframely-option__text:focus{border-color:var(--wp-admin-theme-color);box-shadow:0 0 0 1px var(--wp-admin-theme-color);outline:2px solid transparent}
  • iframely/trunk/build/index.js

    r2686906 r3005280  
    1 !function(){"use strict";var e=window.wp.data,t=window.wp.element,r=window.wp.hooks;function n(){return(0,e.select)("core/block-editor").getBlockSelectionStart()}(0,r.addFilter)("blocks.registerBlockType","iframely/add-attributes",(function(e){return/^embed$/i.test(e.category)&&void 0!==e.attributes&&!e.attributes.iquery&&(e.attributes=Object.assign(e.attributes,{iquery:{type:"string",default:""}})),e})),(0,r.addFilter)("blocks.getSaveElement","iframely/save-query",(function(e,r,n){if(/^embed$/i.test(r.category)&&n.iquery&&n.url){let r=n.url,o=function(e,t){let r=e.replace(/(?:&amp;|\?|&)?iframely=(.+)$/,"");return 0!==Object.keys(t).length&&(r+=(/\?/.test(r)?"&":"?")+"iframely="+encodeURIComponent(window.btoa(JSON.stringify(t)))),r}(n.url,n.iquery);n.url=o;let a=(0,t.renderToString)(e).replace(/&amp;/g,"&").replace(r,o);return(0,t.createElement)(t.RawHTML,null,a)}return e}));var o=window.wp.compose,a=window.wp.blockEditor,i=window.wp.components,l=window.wp.i18n;class c extends t.Component{constructor(t){super(t),this.state={isAdmin:(0,e.select)("core").canUser("create","users")}}updateEmptyPlaceholder(){let e=document.getElementById("iframely-options");e.innerHTML||(e.innerHTML=this.state.isAdmin?(0,l.sprintf)((0,l.__)('If your <a href="%s" target="_blank">plan</a> supports it and config allows, Iframely will show <a href="%s" target="_blank">edit options</a> for selected URL here, whenever available.',"iframely"),"https://iframely.com/plans?utm_source=wordpress-plugin","https://iframely.com/docs/options?utm_source=wordpress-plugin"):(0,l.__)("Iframely will show edit options for selected URL here, whenever available.","iframely"))}componentDidMount(){d(),this.updateEmptyPlaceholder()}componentDidUpdate(){this.updateEmptyPlaceholder()}render(){return(0,t.createElement)("div",{id:"iframely-options",className:"iframely-options"})}}const s=(0,o.createHigherOrderComponent)((e=>r=>!0===r.isSelected&&/^core-?\/?embed/i.test(r.name)?(0,t.createElement)(t.Fragment,null,(0,t.createElement)(e,r),(0,t.createElement)(a.InspectorControls,null,(0,t.createElement)(i.PanelBody,{title:(0,l.__)("Iframely options","iframely")},(0,t.createElement)(c,null)))):(0,t.createElement)(t.Fragment,null,(0,t.createElement)(e,r))),"withInspectorControl");function d(){let e="#block-"+n(),t=jQuery(e).find("iframe"),r=jQuery(t).data(),o=n(),a=jQuery("#iframely-options"),i=2===a.length?a.get(1):a.get(0);t&&r&&iframely.buildOptionsForm(o,i,r.data)}(0,r.addFilter)("editor.BlockEdit","iframely/with-inspector-controls",s);const m=new RegExp("setIframelyEmbedOptions");iframely&&iframely.on("options-changed",(function(t,r,o){const a="#block-"+n(),i=document.querySelector(a+" iframe").contentDocument.querySelector("iframe"),l=jQuery(a).find("iframe");if(l&&l.data()&&l.data().data&&l.data().context){const t=l.data();let r=t.context;t.data.query&&t.data.query.length>0&&t.data.query.forEach((function(e){r.indexOf(e)>-1&&(r=r.replace(new RegExp("&?"+e.replace("-","\\-")+"=[^\\?\\&]+"),""))})),Object.keys(o).forEach((function(e){r+=(r.indexOf("?")>-1?"&":"?")+e+"="+o[e]})),function(e){if(e&&!e.iframely){var t=e.document.createElement("script");t.type="text/javascript",t.async=!0,t.src=("https:"===document.location.protocol?"https:":"http:")+"//if-cdn.com/embed.js";var r=e.document.getElementsByTagName("script")[0];r.parentNode.insertBefore(t,r)}}(document.querySelector(a+" iframe").contentWindow),i.src=r,(0,e.dispatch)("core/block-editor").updateBlockAttributes(n(),{iquery:o})}})),window.addEventListener("message",(function(t){if(m.test(t.data)){let r=function(e,t){let r;for(let n=0;n<e.length&&!r;n++){let o=e[n];o.contentWindow===t&&(r=o)}return r}(document.getElementsByTagName("iframe"),t.source),o=JSON.parse(t.data);jQuery(r).data(o);const a=(0,e.select)("core/block-editor").getBlock(n());a&&/^core-?\/?embed/i.test(a.name)&&d()}}),!1),(0,e.select)("core").canUser("create","users")}();
     1(()=>{"use strict";const e=window.wp.data,t=window.React,r=window.wp.element,n=window.wp.hooks;function o(){let e=document.querySelector("[name=editor-canvas]");return e?e.contentWindow.document:document}function a(){return(0,e.select)("core/block-editor").getBlockSelectionStart()}function i(e){return o().querySelector(`#block-${e} iframe`)}(0,n.addFilter)("blocks.registerBlockType","iframely/add-attributes",(function(e){return/^embed$/i.test(e.category)&&void 0!==e.attributes&&!e.attributes.iquery&&(e.attributes=Object.assign(e.attributes,{iquery:{type:"string",default:""}})),e})),(0,n.addFilter)("blocks.getSaveElement","iframely/save-query",(function(e,n,o){if(/^embed$/i.test(n.category)&&o.iquery&&o.url){let n=o.url,a=function(e,t){let r=e.replace(/(?:&amp;|\?|&)?iframely=(.+)$/,"");return 0!==Object.keys(t).length&&(r+=(/\?/.test(r)?"&":"?")+"iframely="+encodeURIComponent(window.btoa(JSON.stringify(t)))),r}(o.url,o.iquery);o.url=a;let i=(0,r.renderToString)(e).replace(/&amp;/g,"&").replace(n,a);return(0,t.createElement)(r.RawHTML,null,i)}return e}));const l=window.wp.compose,c=window.wp.blockEditor,s=window.wp.components,d=window.wp.i18n;class u extends r.Component{constructor(t){super(t),this.state={isAdmin:(0,e.select)("core").canUser("create","users")}}updateEmptyPlaceholder(){let e=document.getElementById("iframely-options");e&&!e.innerHTML&&(e.innerHTML=this.state.isAdmin?(0,d.sprintf)((0,d.__)('If your <a href="%s" target="_blank">plan</a> supports it and config allows, Iframely will show <a href="%s" target="_blank">edit options</a> for selected URL here, whenever available.',"iframely"),"https://iframely.com/plans?utm_source=wordpress-plugin","https://iframely.com/docs/options?utm_source=wordpress-plugin"):(0,d.__)("Iframely will show edit options for selected URL here, whenever available.","iframely"))}componentDidMount(){setTimeout((()=>{m(),this.updateEmptyPlaceholder()}),10)}componentDidUpdate(){setTimeout((()=>{this.updateEmptyPlaceholder()}),10)}render(){return(0,t.createElement)("div",{id:"iframely-options",className:"iframely-options"})}}function m(){const e=a(),t=i(e),r=jQuery(t).data();let n=jQuery("#iframely-options"),o=2===n.length?n.get(1):n.get(0);t&&r&&iframely.buildOptionsForm(e,o,r.data)}const p=(0,l.createHigherOrderComponent)((e=>n=>!0===n.isSelected&&/^core-?\/?embed/i.test(n.name)?(0,t.createElement)(r.Fragment,null,(0,t.createElement)(e,{...n}),(0,t.createElement)(c.InspectorControls,null,(0,t.createElement)(s.PanelBody,{title:(0,d.__)("Iframely options","iframely")},(0,t.createElement)(u,null)))):(0,t.createElement)(r.Fragment,null,(0,t.createElement)(e,{...n}))),"withInspectorControl");(0,n.addFilter)("editor.BlockEdit","iframely/with-inspector-controls",p),iframely&&iframely.on("options-changed",(function(t,r,n){const o=a(),l=i(o),c=function(e){return i(e).contentWindow.document.querySelector("iframe")}(o),s=jQuery(l)?.data();let d=s?.context;l&&d&&s?.data&&(s.data.query&&s.data.query.length>0&&s.data.query.forEach((function(e){d.indexOf(e)>-1&&(d=d.replace(new RegExp("&?"+e.replace("-","\\-")+"=[^\\?\\&]+"),""))})),Object.keys(n).forEach((function(e){d+=(d.indexOf("?")>-1?"&":"?")+e+"="+n[e]})),c.src=d,(0,e.dispatch)("core/block-editor").updateBlockAttributes(o,{iquery:n}))})),window.addEventListener("message",(function(t){const r=(n=t?.data,null===n||"function"!=typeof n&&"object"!=typeof n?JSON.parse(t?.data)||{}:t.data);var n;if("setIframelyEmbedOptions"!==r?.method)return;let i=function(e){const t=o().querySelectorAll("iframe");let r=null;return t.forEach((t=>{t.contentWindow===e&&(r=t)})),r}(t.source);if(!i)return;jQuery(i).data(r);const l=(0,e.select)("core/block-editor").getBlock(a());l&&/^core-?\/?embed/i.test(l.name)&&m()})),(0,e.select)("core").canUser("create","users")})();
  • iframely/trunk/iframely.php

    r2910861 r3005280  
    44 * Plugin URI: https://iframely.com/wordpress
    55 * Description: WP media embeds, cards and blocks.
    6  * Version: 1.0.2
     6 * Version: 1.1.0
    77 * Requires at least: 5.8
    88 * Requires PHP: 7.4
     
    2020}
    2121
    22 define('IFRAMELY_VERSION', '1.0.2');
     22define('IFRAMELY_VERSION', '1.1.0');
    2323define('IFRAMELY_PLUGIN_DIR', plugin_dir_path(__FILE__));
    2424define('IFRAMELY_PLUGIN_URL', plugin_dir_url(__FILE__));
  • iframely/trunk/readme.txt

    r2910861 r3005280  
    44License URI: http://www.gnu.org/licenses/gpl.html
    55Tags: gutenberg, facebook, instagram, twitter, youtube, tiktok, twitch
    6 Tested up to: 6.2
    7 Stable tag: 1.0.2
     6Tested up to: 6.4.1
     7Stable tag: 1.1.0
    88Requires at least: 3.8
    99Requires PHP: 7.2
     
    123123== Changelog ==
    124124
     125= 1.1.0 =
     126
     127* WordPress 6.3 compatibility
     128* Lower multisite option management capability requirements
     129
    125130= 1.0.2 =
    126131
Note: See TracChangeset for help on using the changeset viewer.