Plugin Directory

Changeset 3285863


Ignore:
Timestamp:
05/01/2025 08:45:44 PM (11 months ago)
Author:
rsvpify
Message:

3.06: bump version and fix syntax error in embedder file

Location:
rsvpify-oembed/trunk
Files:
2 edited

Legend:

Unmodified
Added
Removed
  • rsvpify-oembed/trunk/readme.txt

    r3285859 r3285863  
    88Requires at least: 5.6
    99Tested up to:      6.8
    10 Stable tag:        3.05
     10Stable tag:        3.06
    1111Requires PHP:      7.0
    1212License:           GNU General Public License v3
  • rsvpify-oembed/trunk/rsvpify-embedder.php

    r3285859 r3285863  
    44 * Plugin URI:      https://wordpress.org/plugins/rsvpify-oembed/
    55 * Description:     Easily embed your RSVPify event RSVP and ticket forms by pasting your event URL.
    6  * Version:         3.05
     6 * Version:         3.06
    77 * Author:          RSVPify Inc.
    88 * Author URI:      https://www.rsvpify.com
     
    1414 */
    1515
    16 if ( ! defined( 'ABSPATH' ) ) exit;
     16if ( ! defined( 'ABSPATH' ) ) {
     17    exit;
     18}
    1719
    1820class RsvpifyEmbedder {
     
    7779        </div>
    7880
    79         <script>
     81        <script type="text/javascript">
    8082        document.addEventListener('DOMContentLoaded', function(){
     83            // Generate new shortcode
    8184            document.getElementById('rsvpify_generate').addEventListener('click', function(){
    8285                var url = document.getElementById('rsvpify_url').value.trim();
    83                 if (!url) return;
    84                 var sc = '[rsvpify_form url="'+url+'"]';
    85                 var item = document.createElement('div');
    86                 item.className = 'rsvpify-item';
    87                 item.innerHTML = '<code>'+sc+'</code>'
    88                                + '<button class="button copy-button">Copy</button>'
    89                                + '<button class="button delete-button"><span class="dashicons dashicons-trash"></span></button>';
    90                 document.getElementById('rsvpify_list').appendChild(item);
     86                if (! url ) return;
     87                var sc  = '[rsvpify_form url="'+ url +'"]';
     88                var div = document.createElement('div');
     89                div.className = 'rsvpify-item';
     90                div.innerHTML =
     91                    '<code>' + sc + '</code>' +
     92                    '<button class="button copy-button">Copy</button>' +
     93                    '<button class="button delete-button">' +
     94                    '<span class="dashicons dashicons-trash"></span></button>';
     95                document.getElementById('rsvpify_list').appendChild(div);
    9196            });
    9297
     98            // Delegate Copy & Delete
    9399            document.getElementById('rsvpify_list').addEventListener('click', function(e){
    94                 var cb = e.target.closest('.copy-button');
    95                 if (cb) {
    96                     var code = cb.parentNode.querySelector('code').innerText;
    97                     navigator.clipboard.writeText(code).then(function(){
    98                         var old = cb.innerText;
    99                         cb.innerText = 'Copied!';
    100                         setTimeout(function(){ cb.innerText = old; }, 2000);
     100                var copyBtn = e.target.closest('.copy-button');
     101                if ( copyBtn ) {
     102                    var code = copyBtn.parentNode.querySelector('code').innerText;
     103                    navigator.clipboard.writeText( code ).then(function(){
     104                        var old = copyBtn.innerText;
     105                        copyBtn.innerText = 'Copied!';
     106                        setTimeout(function(){ copyBtn.innerText = old; }, 2000);
    101107                    });
    102108                    return;
    103109                }
    104                 var db = e.target.closest('.delete-button');
    105                 if (db) {
    106                     db.closest('.rsvpify-item').remove();
     110                var delBtn = e.target.closest('.delete-button');
     111                if ( delBtn ) {
     112                    delBtn.closest('.rsvpify-item').remove();
    107113                }
    108114            });
     
    113119
    114120    public function set_sandbox_attribute( $result, $data, $url ) {
    115         if ( empty($data->provider_url) || 'https://www.rsvpify.com' !== $data->provider_url ) {
     121        if ( empty( $data->provider_url ) || 'https://www.rsvpify.com' !== $data->provider_url ) {
    116122            return $result;
    117123        }
    118         if ( preg_match('/sandbox=["\']([^"\']+)["\']/', $data->html, $m) ) {
     124        if ( preg_match( '/sandbox=["\']([^"\']+)["\']/', $data->html, $matches ) ) {
    119125            $result = preg_replace(
    120126                '/sandbox=["\']allow-scripts["\']/',
    121                 'sandbox="'.esc_attr($m[1]).'"',
     127                'sandbox="'. esc_attr( $matches[1] ) .'"',
    122128                $result
    123129            );
    124130        }
    125         return str_replace('security="restricted"','',$result);
     131        return str_replace( 'security="restricted"', '', $result );
    126132    }
    127133}
Note: See TracChangeset for help on using the changeset viewer.