Plugin Directory

Changeset 1686130


Ignore:
Timestamp:
06/27/2017 10:22:02 AM (9 years ago)
Author:
momen2009
Message:

version 1.5 release.
I made it possible to set a password on a demo page.

Location:
wp-post-demo/trunk
Files:
2 edited

Legend:

Unmodified
Added
Removed
  • wp-post-demo/trunk/readme.txt

    r1073143 r1686130  
    33Tags: posts,plugin,page,demo,already,published,simple
    44Requires at least: 3.5
    5 Tested up to: 4.1
    6 Stable tag: 1.4
     5Tested up to: 4.8
     6Stable tag: 1.5
    77License: GPLv2 or later
    88License URI: http://www.gnu.org/licenses/gpl-2.0.html
     
    3636= 1.4 =
    3737* Added the View Demo button in admin bar.
     38
     39= 1.5 =
     40* I made it possible to set a password on a demo page.
  • wp-post-demo/trunk/wp-post-demo.php

    r1073148 r1686130  
    22/*
    33Plugin Name: WP Post Demo
    4 Plugin URI: http://www.elegants.biz/products/wp-post-demo/
     4Plugin URI: http://www.elegants.biz/wp-post-demo.php
    55Description: Plug-in to create simple to post demo page that is already published.
    6 Version: 1.4
     6Version: 1.5
    77Author: momen2009
    88Author URI: http://www.elegants.biz/
     
    2020    global $wpdb;
    2121    $wp_post_demo = $wpdb->escape($_GET["wp-post-demo"]);
     22    $wp_post_demo_input_pass = get_post_meta(get_the_ID(),"wp_post_demo_input_pass",true);
     23    if(isset($wp_post_demo_input_pass) && $wp_post_demo_input_pass != ""){
     24        if($wp_post_demo == $wp_post_demo_input_pass){
     25            $wp_post_demo = "true";
     26        }else{
     27            $wp_post_demo = "false";
     28        }
     29    }
     30
    2231    $meta_values = get_post_meta(get_the_ID(), "_demo_content" ,true);
    2332    if($wp_post_demo == "true" && $meta_values != ""){
     
    3544        foreach(get_post_types(array("show_ui"=>true)) as $value){
    3645            add_meta_box('wp_post_demo', __('WP Demo Editor', 'wp-post-demo'),'wp_post_demo_inner_custom_box', $value,'advanced');
     46            add_meta_box('wp_post_demo_input_pass', __('WP Post Demo Password', 'wp-post-demo'),'wp_post_demo_input_pass', $value, 'side');
    3747        }
    3848    }
     
    4050
    4151function wp_post_demo_inner_custom_box($post) {
    42     $permalink = add_query_arg('wp-post-demo', 'true', get_permalink(get_the_ID()));
     52    $wp_post_demo_input_pass = get_post_meta(get_the_ID(),"wp_post_demo_input_pass",true);
     53    $permalink = "";
     54   
     55    if(isset($wp_post_demo_input_pass) && $wp_post_demo_input_pass != ""){
     56        $permalink = add_query_arg('wp-post-demo', $wp_post_demo_input_pass, get_permalink(get_the_ID()));
     57    }else{
     58        $permalink = add_query_arg('wp-post-demo', 'true', get_permalink(get_the_ID()));
     59    }
     60
    4361    if($post -> post_status != "auto-draft"){
    4462        echo "<script>var wp_post_demo = document.getElementById(\"edit-slug-box\");var wp_post_demo_btn = document.createElement('a');wp_post_demo_btn.innerHTML = \"";
     
    7795            __('View Demo','wp-post-demo')
    7896        );
    79         $permalink = add_query_arg('wp-post-demo', 'true', get_permalink(get_the_ID()));
     97       
     98        $wp_post_demo_input_pass = get_post_meta(get_the_ID(),"wp_post_demo_input_pass",true);
     99        $permalink = "";
     100       
     101        if(isset($wp_post_demo_input_pass) && $wp_post_demo_input_pass != ""){
     102            $permalink = add_query_arg('wp-post-demo', $wp_post_demo_input_pass, get_permalink(get_the_ID()));
     103        }else{
     104            $permalink = add_query_arg('wp-post-demo', 'true', get_permalink(get_the_ID()));
     105        }
    80106        $wp_admin_bar->add_menu(array(
    81107            'id'    => 'wp-post-demo',
     
    87113}
    88114
     115function wp_post_demo_input_pass(){
     116     global $post;
     117     wp_nonce_field(wp_create_nonce(__FILE__), 'wp_post_demo_input_pass_nonce');
     118     echo '<label class="hidden" for="wp_post_demo_input_pass">WP Post Demo Password</label>';
     119     echo '<input type="text" name="wp_post_demo_input_pass" value="' . esc_html(get_post_meta($post->ID, 'wp_post_demo_input_pass', true)) . '" style="width:100%">';
     120     echo '<p>Please enter the password. This password is used for browsing the demo page. If there is no input, you can browse the demo page by entering "true". e.g. http://wordpress_install_domain/page_name/?wp-post-demo=true</p>';
     121     echo '<style>#metakeyselect option[value="wp_post_demo_input_pass"]{display:none;}</style><script>jQuery(document).ready(function(){jQuery("table input[value=wp_post_demo_input_pass]").parent().parent().css("display","none");});</script>';
     122}
     123
     124function wp_post_demo_save_pass($post_id){
     125    $wp_post_demo_input_pass = isset($_POST['wp_post_demo_input_pass_nonce']) ? $_POST['wp_post_demo_input_pass_nonce'] : null;
     126    if(!wp_verify_nonce($wp_post_demo_input_pass, wp_create_nonce(__FILE__))) {
     127        return $post_id;
     128    }
     129    if(defined('DOING_AUTOSAVE') && DOING_AUTOSAVE) { return $post_id; }
     130    if(!current_user_can('edit_post', $post_id)) { return $post_id; }
     131
     132    $data = $_POST['wp_post_demo_input_pass'];
     133
     134    if(get_post_meta($post_id, 'wp_post_demo_input_pass') == ""){
     135        add_post_meta($post_id, 'wp_post_demo_input_pass', $data, true);
     136    }elseif($data != get_post_meta($post_id, 'wp_post_demo_input_pass', true)){
     137        update_post_meta($post_id, 'wp_post_demo_input_pass', $data);
     138    }elseif($data == ""){
     139        delete_post_meta($post_id, 'wp_post_demo_input_pass', get_post_meta($post_id, 'wp_post_demo_input_pass', true));
     140    }
     141}
     142
    89143add_filter("the_content","wp_post_demo_the_content", 10, 3 );
    90144add_action("admin_menu", "wp_post_demo_add_custom_box", 10, 3 );
    91145add_action("save_post","wp_post_demo_save_demo_editor", 10, 3 );
     146add_action('save_post',"wp_post_demo_save_pass", 10, 3 );
    92147add_action('admin_bar_menu', "wp_post_demo_admin_bar_menu", 9999);
    93148?>
Note: See TracChangeset for help on using the changeset viewer.