Plugin Directory

Changeset 3349084


Ignore:
Timestamp:
08/23/2025 11:01:35 PM (7 months ago)
Author:
pluginsandsnippets
Message:

trunk 1.0.33

Location:
simple-page-access-restriction/trunk
Files:
9 edited

Legend:

Unmodified
Added
Removed
  • simple-page-access-restriction/trunk/assets/css/admin/settings.css

    r3105724 r3349084  
    118118}
    119119
    120 .simple-par-subscription-callout-main .simple-par-subscription-form input {
     120.simple-par-subscription-callout-main .simple-par-subscription-form .simple-par-email {
    121121    width: 100%;
    122122    max-width: 350px;
  • simple-page-access-restriction/trunk/assets/css/admin/settings.min.css

    r3105724 r3349084  
    1 #simple-par-settings-tabs-header{display:flex;flex-wrap:wrap;list-style:none;margin:0;position:relative;top:1px}#simple-par-settings-tabs-header a{display:inline-block;text-decoration:none;background:#f1f1f1;padding:6px 16px;margin-right:4px;border:1px solid #dfdfdf;border-top-right-radius:4px;border-top-left-radius:4px;color:#333}#simple-par-settings-tabs-header li,.simple-par-subscription-callout h3{margin:0}.simple-par-tab-content{padding:18px;border:1px solid #ddd;background:#fff}.ps_simple_par_setting_hidden,.simple-par-tab-content:not(.simple-par-tab-active){display:none}#simple-par-settings-tabs-header a.simple-par-tab-active{background:#fff;border-bottom-color:#fff}#simple-par-settings-tabs-header a:hover{background:#fff}.simple-par-other-plugins{margin-top:50px;max-width:1500px;display:flex;flex-wrap:wrap}.simple-par-other-plugins img{max-width:100%;height:auto}.simple-par-other-plugin{width:31.5%;background:#fff;box-shadow:0 0 4px rgba(0,0,0,.15);margin-bottom:24px;margin-right:1.83%}.simple-par-other-plugin-title a{padding:12px 10px 0;color:#000;font-weight:500;text-decoration:none;background:#fefefe;font-size:19px;line-height:1.5;min-height:56px;display:flex;align-items:center;flex-wrap:wrap}.simple-par-other-plugin-links{display:flex;align-items:center;padding:0 10px 10px}.simple-par-other-plugin-links a{text-decoration:none}.simple-par-other-plugin-links div:not(:last-child):after{content:' | ';padding:0 5px}.simple-par-other-plugin-desc{padding:14px;line-height:1.6}.simple-par-other-plugin-image{max-height:320px;overflow:hidden;height:320px}.simple-par-subscription-callout{background:#fff;border:1px solid #ddd;padding:10px}.simple-par-subscription-callout-main .simple-par-subscription-form{display:flex;align-items:center}.simple-par-subscription-callout-main .simple-par-subscription-form input{width:100%;max-width:350px;margin-bottom:0;height:30px}.simple-par-subscription-callout.ajaxing{position:relative}.simple-par-subscription-callout.ajaxing:before{content:'';display:block;width:100%;height:100%;background:#fff;opacity:.8;position:absolute;top:0;left:0}.simple-par-subscription-callout.ajaxing:after{content:'';display:block;width:16px;height:16px;position:absolute;right:15px;top:15px;border:2px solid #000;border-radius:50%;border-right-color:transparent;animation:1s linear infinite ajaxing}@keyframes ajaxing{to{transform:rotate(360deg)}}.simple-par-tab-content input[type=text]{width:100%;max-width:600px}
     1#simple-par-settings-tabs-header{display:flex;flex-wrap:wrap;list-style:none;margin:0;position:relative;top:1px}#simple-par-settings-tabs-header a{display:inline-block;text-decoration:none;background:#f1f1f1;padding:6px 16px;margin-right:4px;border:1px solid #dfdfdf;border-top-right-radius:4px;border-top-left-radius:4px;color:#333}#simple-par-settings-tabs-header li,.simple-par-subscription-callout h3{margin:0}.simple-par-tab-content{padding:18px;border:1px solid #ddd;background:#fff}.ps_simple_par_setting_hidden,.simple-par-tab-content:not(.simple-par-tab-active){display:none}#simple-par-settings-tabs-header a.simple-par-tab-active{background:#fff;border-bottom-color:#fff}#simple-par-settings-tabs-header a:hover{background:#fff}.simple-par-other-plugins{margin-top:50px;max-width:1500px;display:flex;flex-wrap:wrap}.simple-par-other-plugins img{max-width:100%;height:auto}.simple-par-other-plugin{width:31.5%;background:#fff;box-shadow:0 0 4px rgba(0,0,0,.15);margin-bottom:24px;margin-right:1.83%}.simple-par-other-plugin-title a{padding:12px 10px 0;color:#000;font-weight:500;text-decoration:none;background:#fefefe;font-size:19px;line-height:1.5;min-height:56px;display:flex;align-items:center;flex-wrap:wrap}.simple-par-other-plugin-links{display:flex;align-items:center;padding:0 10px 10px}.simple-par-other-plugin-links a{text-decoration:none}.simple-par-other-plugin-links div:not(:last-child):after{content:' | ';padding:0 5px}.simple-par-other-plugin-desc{padding:14px;line-height:1.6}.simple-par-other-plugin-image{max-height:320px;overflow:hidden;height:320px}.simple-par-subscription-callout{background:#fff;border:1px solid #ddd;padding:10px}.simple-par-subscription-callout-main .simple-par-subscription-form{display:flex;align-items:center}.simple-par-subscription-callout-main .simple-par-subscription-form .simple-par-email{width:100%;max-width:350px;margin-bottom:0;height:30px}.simple-par-subscription-callout.ajaxing{position:relative}.simple-par-subscription-callout.ajaxing:before{content:'';display:block;width:100%;height:100%;background:#fff;opacity:.8;position:absolute;top:0;left:0}.simple-par-subscription-callout.ajaxing:after{content:'';display:block;width:16px;height:16px;position:absolute;right:15px;top:15px;border:2px solid #000;border-radius:50%;border-right-color:transparent;animation:1s linear infinite ajaxing}@keyframes ajaxing{to{transform:rotate(360deg)}}.simple-par-tab-content input[type=text]{width:100%;max-width:600px}
  • simple-page-access-restriction/trunk/assets/js/admin/settings.js

    r3105724 r3349084  
    5252                    data: {
    5353                        action: 'ps_simple_par_handle_subscription_request',
    54                         email: $( '.simple-par-subscription-form input' ).val(),
     54                        nonce: $( '.simple-par-subscription-form .simple-par-nonce' ).val(),
     55                        email: $( '.simple-par-subscription-form .simple-par-email' ).val(),
    5556                        from_callout: 1,
    5657                    },
  • simple-page-access-restriction/trunk/assets/js/admin/settings.min.js

    r3105724 r3349084  
    1 !function(a,i,s){a(function(){a("#simple-par-settings-tabs-header a").on("click",function(i){i.preventDefault(),!a(this).hasClass("simple-par-tab-active")&&(a(this).addClass("simple-par-tab-active").siblings("a").removeClass("simple-par-tab-active"),a(a(this).attr("href")).addClass("simple-par-tab-active").siblings(".simple-par-tab-content").removeClass("simple-par-tab-active"))}),a(".simple-par-redirect-type-choices input").on("change",function(){"page"===a(".simple-par-redirect-type-choices input:checked").attr("value")?(a('tr[data-simple-par-redirect-type="page"]').show(),a('tr[data-simple-par-redirect-type="url"]').hide()):(a('tr[data-simple-par-redirect-type="url"]').show(),a('tr[data-simple-par-redirect-type="page"]').hide())}),a(".simple-par-subscription-callout-wrapper").length>0&&(i.setTimeout(function(){a(".simple-par-subscription-callout-wrapper").addClass("open")},5e3),a(".simple-par-subscription-form").on("submit",function(i){i.preventDefault(),!a(".simple-par-subscription-callout").hasClass("ajaxing")&&(a(".simple-par-subscription-callout").addClass("ajaxing"),a.ajax({url:ajaxurl,type:"POST",dataType:"JSON",data:{action:"ps_simple_par_handle_subscription_request",email:a(".simple-par-subscription-form input").val(),from_callout:1},success:function(i){a(".simple-par-subscription-callout-main").hide(),a(".simple-par-subscription-callout-thanks").show()}}).fail(function(){a(".simple-par-subscription-error").show()}).always(function(){a(".simple-par-subscription-callout").removeClass("ajaxing")}))}),a(".simple-par-subscription-skip").on("click",function(i){i.preventDefault(),a(".simple-par-subscription-callout-wrapper").removeClass("open"),a.ajax({url:ajaxurl,type:"POST",dataType:"JSON",data:{action:"ps_simple_par_subscription_popup_shown"}})}))})}(jQuery,window);
     1!function(a,i,s){a(function(){a("#simple-par-settings-tabs-header a").on("click",function(i){i.preventDefault(),!a(this).hasClass("simple-par-tab-active")&&(a(this).addClass("simple-par-tab-active").siblings("a").removeClass("simple-par-tab-active"),a(a(this).attr("href")).addClass("simple-par-tab-active").siblings(".simple-par-tab-content").removeClass("simple-par-tab-active"))}),a(".simple-par-redirect-type-choices input").on("change",function(){"page"===a(".simple-par-redirect-type-choices input:checked").attr("value")?(a('tr[data-simple-par-redirect-type="page"]').show(),a('tr[data-simple-par-redirect-type="url"]').hide()):(a('tr[data-simple-par-redirect-type="url"]').show(),a('tr[data-simple-par-redirect-type="page"]').hide())}),a(".simple-par-subscription-callout-wrapper").length>0&&(i.setTimeout(function(){a(".simple-par-subscription-callout-wrapper").addClass("open")},5e3),a(".simple-par-subscription-form").on("submit",function(i){i.preventDefault(),!a(".simple-par-subscription-callout").hasClass("ajaxing")&&(a(".simple-par-subscription-callout").addClass("ajaxing"),a.ajax({url:ajaxurl,type:"POST",dataType:"JSON",data:{action:"ps_simple_par_handle_subscription_request",nonce:a(".simple-par-subscription-form .simple-par-nonce").val(),email:a(".simple-par-subscription-form .simple-par-email").val(),from_callout:1},success:function(i){a(".simple-par-subscription-callout-main").hide(),a(".simple-par-subscription-callout-thanks").show()}}).fail(function(){a(".simple-par-subscription-error").show()}).always(function(){a(".simple-par-subscription-callout").removeClass("ajaxing")}))}),a(".simple-par-subscription-skip").on("click",function(i){i.preventDefault(),a(".simple-par-subscription-callout-wrapper").removeClass("open"),a.ajax({url:ajaxurl,type:"POST",dataType:"JSON",data:{action:"ps_simple_par_subscription_popup_shown"}})}))})}(jQuery,window);
  • simple-page-access-restriction/trunk/changelog.txt

    r3300680 r3349084  
     1= Version 1.0.33 - August 23, 2025 =
     2* Security: Fix CSRF issues
     3
    14= Version 1.0.32 - May 24, 2025 =
    25* Security: Add nonce validation to settings and metabox handling
  • simple-page-access-restriction/trunk/includes/admin/admin.php

    r3300680 r3349084  
    151151         */
    152152        public function process_subscription() {
     153            // Check the nonce.
     154            check_ajax_referer( 'ps_simple_par_subscription_nonce', 'nonce' );
     155
     156            // Check the user.
     157            if ( ! is_user_logged_in() ) {
     158                wp_die( __( 'You must be logged in to subscribe.', 'simple-page-access-restriction' ) );
     159            }
     160
     161            // Check the capabities.
     162            if ( ! current_user_can( 'manage_options' ) ) {
     163                wp_die( __( 'You do not have sufficient permissions to subscribe.', 'simple-page-access-restriction' ) );
     164            }
     165
    153166            // Get the email from options
    154167            $email = get_option( 'admin_email' );
  • simple-page-access-restriction/trunk/includes/admin/functions-posts.php

    r3105724 r3349084  
    1818function ps_simple_par_admin_render_inline_edit( $args ) {
    1919    ?>
    20     <fieldset class="inline-edit-col ps-simple-par-inline-edit" id="ps-simple-par-<?php echo esc_attr( str_replace( '_', '-', $args['edit_action'] ) ); ?>">
     20    <fieldset class="inline-edit-col ps-simple-par-inline-edit" id="ps-simple-par-<?php echo esc_attr( str_replace( '_', '-', $args['edit_action'] ) ); ?>" style="display: none;">
    2121        <legend class="inline-edit-legend"><?php esc_html_e( 'Simple Page Access Restriction', 'simple-page-access-restriction' ); ?></legend>
    2222        <div class="inline-edit-col ps-simple-par-fields">
  • simple-page-access-restriction/trunk/includes/admin/templates/subscription.php

    r3043193 r3349084  
    1515
    1616            <form method="POST" class="simple-par-subscription-form">
    17                 <input type="email" required value="<?php echo esc_attr( get_option( 'admin_email' ) ); ?>">
     17                <input class="simple-par-nonce" name="nonce" type="hidden" value="<?php echo wp_create_nonce( 'ps_simple_par_subscription_nonce' ); ?>" />
     18                <input class="simple-par-email" required type="email" value="<?php echo esc_attr( get_option( 'admin_email' ) ); ?>" />
    1819               
    1920                <div class="simple-par-subscription-actions">
  • simple-page-access-restriction/trunk/simple-page-access-restriction.php

    r3300680 r3349084  
    44 * Plugin URI:        https://www.pluginsandsnippets.com/downloads/simple-page-access-restriction/
    55 * Description:       This plugin offers a simple way to restrict visits to select pages only to logged-in users and allows for page redirection to a defined (login) page of your choice.
    6  * Version:           1.0.32
     6 * Version:           1.0.33
    77 * Author:            Plugins & Snippets
    88 * Author URI:        https://www.pluginsandsnippets.com/
     
    7777
    7878            // Plugin related constants
    79             define( 'SIMPLE_PAGE_ACCESS_RESTRICTION_VER', '1.0.32' );
     79            define( 'SIMPLE_PAGE_ACCESS_RESTRICTION_VER', '1.0.33' );
    8080            define( 'SIMPLE_PAGE_ACCESS_RESTRICTION_NAME', 'Simple Page Access Restriction' );
    8181            define( 'SIMPLE_PAGE_ACCESS_RESTRICTION_DIR', trailingslashit( plugin_dir_path( __FILE__ ) ) );
Note: See TracChangeset for help on using the changeset viewer.