Plugin Directory

Changeset 3432395


Ignore:
Timestamp:
01/05/2026 05:19:42 AM (3 months ago)
Author:
davidfcarr
Message:

fix handling of meta and taxonomy data

Location:
quick-playground
Files:
66 added
7 edited

Legend:

Unmodified
Added
Removed
  • quick-playground/trunk/api.php

    r3432206 r3432395  
    169169      $json = file_get_contents($savedfile);
    170170      if($json && $cache = json_decode($json,true)) {
     171        $clone['related'] = empty($cache['related']) ? [] : $cache['related'];
    171172        if(empty($cache['posts']))
    172173          $clone['cache_posts_empty'] = true;
  • quick-playground/trunk/client-prompts.php

    r3432091 r3432395  
    5151    $key_options = '';
    5252    if(isset($_GET['key'])) $key = sanitize_text_field($_GET['key']);
    53     if($targets[$key]) {
     53    if(!empty($key)) {
     54    if(!empty($targets[$key])) {
    5455        $key_options .= sprintf('<option value="%s">%s</option>',$key,esc_html(strip_tags($targets[$key])));
     56    }
     57    else {
     58        $key_options .= sprintf('<option value="%s">%s</option>',$key,esc_html($key));
     59    }
     60 
    5561    }
    5662    foreach($targets as $target => $label) {
     
    8692    }
    8793    foreach($posts as $post) {
    88         $target = preg_replace( '/[^A-Za-z0-9]/', '-', str_replace($site_url,'',get_permalink($post->ID)));
     94        $target = trim(preg_replace( '/[^A-Za-z0-9]/', '-', str_replace($site_url,'',get_permalink($post->ID))),'-');
    8995        $keys[$target] = 'POST: '.substr($post->post_title,0,80);
    9096    }
    9197    foreach($other as $item) {
    92         $target = preg_replace( '/[^A-Za-z0-9]/', '-', str_replace($site_url,'',get_permalink($item->ID)));
     98        $target = trim(preg_replace( '/[^A-Za-z0-9]/', '-', str_replace($site_url,'',get_permalink($item->ID))),'-');
    9399        $keys[$target] = strtoupper($item->post_type).': '.substr($item->post_title,0,80);
    94100    }
  • quick-playground/trunk/qckply-loading.php

    r3431953 r3432395  
    6060            //$output = ob_get_clean();
    6161            //echo '<div id="qckply-overlay-message"><p>Loading images ...</p></div>';
    62             wp_print_inline_script_tag('window.location.href="'.esc_url($url).'"',
     62            wp_print_inline_script_tag('window.location.href="'.$url.'"',
    6363                array(
    6464                    'id'    => 'hide-sidebar-js',
  • quick-playground/trunk/qckply_upload.php

    r3432206 r3432395  
    3232<form action="<?php echo admin_url( 'admin.php?page=qckply_json_upload' ); ?>" method="post" enctype="multipart/form-data">
    3333<p>File: <input type="file" name="json_upload" id="json_upload"></p>
    34 <p><input type="submit" value="Submit" name="submit"></p>
    35 <?php wp_nonce_field('quickplayground','playground',true,true); ?>
     34<?php wp_nonce_field('quickplayground','playground',true,true);
     35submit_button('Upload'); ?>
    3636</form>
    3737    <?php
  • quick-playground/trunk/quick-playground.php

    r3432206 r3432395  
    44 * Plugin URI:  https://quickplayground.com
    55 * Description: Preview your content in different themes or test plugins using WordPress Playground. Quickly create Theme and Plugin demo, testing, and staging websites.
    6  * Version:     1.0.8
     6 * Version:     1.0.9
    77 * Author:      David F. Carr
    88*  License:     GPL2
  • quick-playground/trunk/readme.txt

    r3432206 r3432395  
    99Tested up to: 6.9
    1010
    11 Stable tag: 1.0.8
     11Stable tag: 1.0.9
    1212
    1313License: GPLv2 or later 
     
    9797== Changelog ==
    9898
     99= 1.0.9 =
     100
     101* Fix related to sync of post meta and taxonomy data
     102
    99103= 1.0.8 =
    100104
  • quick-playground/trunk/utility.php

    r3432206 r3432395  
    133133        add_menu_page('Quick Playground', 'Quick Playground', 'manage_options', 'quickplayground', 'qckply_main','data:image/svg+xml;base64,PHN2ZyBmaWxsPSIjRkZGRkZGIiBoZWlnaHQ9IjgwMHB4IiB3aWR0aD0iODAwcHgiIHZlcnNpb249IjEuMSIgaWQ9IkxheWVyXzEiIHhtbG5zPSJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2ZyIgeG1sbnM6eGxpbms9Imh0dHA6Ly93d3cudzMub3JnLzE5OTkveGxpbmsiIAoJIHZpZXdCb3g9IjAgMCA1MTIuMDAxIDUxMi4wMDEiIHhtbDpzcGFjZT0icHJlc2VydmUiPgo8Zz4KCTxnPgoJCTxwYXRoIGQ9Ik01MDEuMzM1LDE3MC41ODdoLTM1MnYtMjEuMzMzaDEwLjY2N2M0LjE4MSwwLDcuOTc5LTIuNDUzLDkuNzI4LTYuMjUxYzEuNzI4LTMuODE5LDEuMDY3LTguMjk5LTEuNjg1LTExLjQzNQoJCQlMOTMuMzc3LDQ2LjIzNWMtNC4wNTMtNC42NTEtMTIuMDExLTQuNjUxLTE2LjA2NCwwTDIuNjQ3LDEzMS41NjljLTIuNzUyLDMuMTU3LTMuNDM1LDcuNjE2LTEuNjg1LDExLjQzNQoJCQljMS43MjgsMy43OTcsNS41MjUsNi4yNTEsOS43MDcsNi4yNTFoMTAuNjY3djMwOS4zMzNjMCw1Ljg4OCw0Ljc3OSwxMC42NjcsMTAuNjY3LDEwLjY2N3MxMC42NjctNC43NzksMTAuNjY3LTEwLjY2N3YtMTAuNjY3CgkJCWg4NS4zMzN2MTAuNjY3YzAsNS44ODgsNC43NzksMTAuNjY3LDEwLjY2NywxMC42NjdzMTAuNjY3LTQuNzc5LDEwLjY2Ny0xMC42NjdWMTkxLjkyMWg2NFYzMDAuNTUKCQkJYy0xMi4zOTUsNC40MTYtMjEuMzMzLDE2LjE0OS0yMS4zMzMsMzAuMDM3YzAsMTcuNjQzLDE0LjM1NywzMiwzMiwzMnMzMi0xNC4zNTcsMzItMzJjMC0xMy44ODgtOC45MzktMjUuNjIxLTIxLjMzMy0zMC4wMzcKCQkJVjE5MS45MjFoODUuMzMzdjg3LjI5NmMtMTIuMzk1LDQuNDE2LTIxLjMzMywxNi4xNDktMjEuMzMzLDMwLjAzN2MwLDE3LjY0MywxNC4zNTcsMzIsMzIsMzJjMTcuNjQzLDAsMzItMTQuMzU3LDMyLTMyCgkJCWMwLTEzLjg4OC04LjkzOS0yNS42MjEtMjEuMzMzLTMwLjAzN3YtODcuMjk2aDY0djI2Ni42NjdjMCw1Ljg4OCw0Ljc3OSwxMC42NjcsMTAuNjY3LDEwLjY2N2M1Ljg4OCwwLDEwLjY2Ny00Ljc3OSwxMC42NjctMTAuNjY3CgkJCVYxOTEuOTIxaDQyLjY2N3YyMy41NzNjLTYuNCwyLjY2Ny0xMC42NjcsNy41MzEtMTAuNjY3LDEzLjc2YzAsNi4yMjksNC4yNjcsMTEuMDkzLDEwLjY2NywxMy43NnYzMS4xNDcKCQkJYy02LjQsMi42NjctMTAuNjY3LDcuNTMxLTEwLjY2NywxMy43NnM0LjI2NywxMS4wOTMsMTAuNjY3LDEzLjc2djMxLjE0N2MtNi40LDIuNjY3LTEwLjY2Nyw3LjUzMS0xMC42NjcsMTMuNzYKCQkJYzAsNi4yMjksNC4yNjcsMTEuMDkzLDEwLjY2NywxMy43NnYzMS4xNDdjLTYuNCwyLjY2Ny0xMC42NjcsNy41MzEtMTAuNjY3LDEzLjc2YzAsNi4yMjksNC4yNjcsMTEuMDkzLDEwLjY2NywxMy43NnYxOC4yNAoJCQljMCw1Ljg4OCw0Ljc3OSwxMC42NjcsMTAuNjY3LDEwLjY2N2M1Ljg4OCwwLDEwLjY2Ny00Ljc3OSwxMC42NjctMTAuNjY3di0xOC4yNGM2LjQtMi42NjcsMTAuNjY3LTcuNTMxLDEwLjY2Ny0xMy43NgoJCQljMC02LjIyOS00LjI2Ny0xMS4wOTMtMTAuNjY3LTEzLjc2di0zMS4xNDdjNi40LTIuNjY3LDEwLjY2Ny03LjUzMSwxMC42NjctMTMuNzZjMC02LjIyOS00LjI2Ny0xMS4wOTMtMTAuNjY3LTEzLjc2di0zMS4xNDcKCQkJYzYuNC0yLjY2NywxMC42NjctNy41MzEsMTAuNjY3LTEzLjc2YzAtNi4yMjktNC4yNjctMTEuMDkzLTEwLjY2Ny0xMy43NnYtMzEuMTQ3YzYuNC0yLjY2NywxMC42NjctNy41MzEsMTAuNjY3LTEzLjc2CgkJCXMtNC4yNjctMTEuMDkzLTEwLjY2Ny0xMy43NnYtMjMuNTczaDEwLjY2N2M1Ljg4OCwwLDEwLjY2Ny00Ljc3OSwxMC42NjctMTAuNjY3UzUwNy4yMjMsMTcwLjU4Nyw1MDEuMzM1LDE3MC41ODd6CgkJCSBNMTI4LjAwMSw0MjYuNTg3SDQyLjY2OHYtNDIuNjY3aDg1LjMzM1Y0MjYuNTg3eiBNMTI4LjAwMSwzNjIuNTg3SDQyLjY2OHYtNDIuNjY3aDg1LjMzM1YzNjIuNTg3eiBNMTI4LjAwMSwyOTguNTg3SDQyLjY2OAoJCQl2LTQyLjY2N2g4NS4zMzNWMjk4LjU4N3ogTTEyOC4wMDEsMjM0LjU4N0g0Mi42Njh2LTg1LjMzM2g4NS4zMzNWMjM0LjU4N3ogTTM0LjE3NywxMjcuOTIxbDUxLjE1Ny01OC40NzVsNTEuMTU3LDU4LjQ3NUgzNC4xNzd6CgkJCSBNMjI0LjAwMSwzNDEuMjU0Yy01Ljg4OCwwLTEwLjY2Ny00Ljc3OS0xMC42NjctMTAuNjY3czQuNzc5LTEwLjY2NywxMC42NjctMTAuNjY3czEwLjY2Nyw0Ljc3OSwxMC42NjcsMTAuNjY3CgkJCVMyMjkuODg5LDM0MS4yNTQsMjI0LjAwMSwzNDEuMjU0eiBNMzMwLjY2OCwzMTkuOTIxYy01Ljg4OCwwLTEwLjY2Ny00Ljc3OS0xMC42NjctMTAuNjY3czQuNzc5LTEwLjY2NywxMC42NjctMTAuNjY3CgkJCXMxMC42NjcsNC43NzksMTAuNjY3LDEwLjY2N1MzMzYuNTU2LDMxOS45MjEsMzMwLjY2OCwzMTkuOTIxeiIvPgoJPC9nPgo8L2c+Cjwvc3ZnPg==', 65);
    134134        add_submenu_page('quickplayground','Playground Builder', 'Playground Builder', 'manage_options', 'qckply_builder', 'qckply_builder');
    135         add_submenu_page('quickplayground','Playground Sync *', 'Playground Sync *', 'manage_options', 'qckply_sync', 'qckply_sync');
     135        add_submenu_page('quickplayground','Playground', 'Playground Sync', 'manage_options', 'qckply_sync', 'qckply_sync');
    136136        add_submenu_page('quickplayground','Json Upload', 'Json Upload', 'manage_options', 'qckply_json_upload', 'qckply_json_upload');
    137137        if(is_multisite())
     
    312312    $playground = site_url();
    313313    $json = str_replace($playground,$sync_origin,$json);
     314    $search = str_replace('/','\/',$playground);
     315    $replace = str_replace('/','\/',$sync_origin);
     316    $json = str_replace($search,$replace,$json);
    314317    return $json;
    315318}
     
    654657    $post_ids = $clone['ids'];
    655658    global $wpdb;
    656     $related = [];
     659    if(empty($clone['related']))
     660        $clone['related'] = [];
    657661    foreach($post_ids as $post_id) {
    658662      $pid = 'p'.intval($post_id);
     
    670674        if(!empty($cat))
    671675        foreach($cat as $c) {
    672             $related[$pid]['post_title'] = $c->post_title;
    673             $related[$pid]['post_type'] = $c->post_type;
    674             $related[$pid]['postmeta'] = $wpdb->get_results($wpdb->prepare("select * from %i where post_id=%d",$wpdb->postmeta,$post_id));
    675             $related[$pid]['term_join'][$c->taxonomy][] = $c;
     676            $clone['related'][$pid]['post_title'] = $c->post_title;
     677            $clone['related'][$pid]['post_type'] = $c->post_type;
     678            $clone['related'][$pid]['postmeta'] = $wpdb->get_results($wpdb->prepare("select * from %i where post_id=%d",$wpdb->postmeta,$post_id));
     679            $clone['related'][$pid]['term_join'][$c->taxonomy][] = $c;
    676680            if($c->object_id) {               
    677             $related[$pid]['term_relationships'][] = (object) array('object_id'=>$c->object_id,'term_order'=>$c->term_order,'term_taxonomy_id'=>$c->term_taxonomy_id);
     681            $clone['related'][$pid]['term_relationships'][] = (object) array('object_id'=>$c->object_id,'term_order'=>$c->term_order,'term_taxonomy_id'=>$c->term_taxonomy_id);
    678682            }
    679683            if($c->term_taxonomy_id && !in_array($c->term_taxonomy_id,$tax)) {
    680             $related[$pid]['term_taxonomy'][] = (object) array('term_taxonomy_id'=>$c->term_taxonomy_id,'term_id'=>$c->term_id,'taxonomy'=>$c->taxonomy,'description'=>$c->description,'parent'=>$c->parent,'count'=>$c->count);
     684            $clone['related'][$pid]['term_taxonomy'][] = (object) array('term_taxonomy_id'=>$c->term_taxonomy_id,'term_id'=>$c->term_id,'taxonomy'=>$c->taxonomy,'description'=>$c->description,'parent'=>$c->parent,'count'=>$c->count);
    681685            $tax[] = $c->term_taxonomy_id;
    682686            }
    683687            if($c->term_id && !in_array($c->term_id,$terms))
    684688            {
    685             $related[$pid]['terms'][] = (object) array('term_id'=>$c->term_id,'name'=>$c->name,'slug'=>$c->slug);
     689            $clone['related'][$pid]['terms'][] = (object) array('term_id'=>$c->term_id,'name'=>$c->name,'slug'=>$c->slug);
    686690            $terms[] = $c->term_id;
    687691            }
    688692        }
    689693    }
    690     $clone['related'] = $related;
    691694    return $clone;
    692695}
    693696
    694697function qckply_link($args = []) {
    695     if(empty($args))
    696         return site_url(get_option('qckply_landing','/'));
     698    if(empty($args)) {
     699        return site_url().get_option('qckply_landing','/');
     700    }
    697701    else
    698702        return add_query_arg($args,site_url());
Note: See TracChangeset for help on using the changeset viewer.