Plugin Directory

Changeset 3482963


Ignore:
Timestamp:
03/15/2026 08:52:19 AM (13 days ago)
Author:
wpclever
Message:

Update 1.1.2

Location:
wpc-advanced-password-protect
Files:
53 added
8 edited

Legend:

Unmodified
Added
Removed
  • wpc-advanced-password-protect/trunk/includes/class-backend.php

    r3396500 r3482963  
    2525            // Settings
    2626            add_action( 'admin_init', [ $this, 'register_settings' ] );
     27            add_filter( 'pre_update_option', [ $this, 'last_saved' ], 10, 2 );
    2728            add_action( 'admin_menu', [ $this, 'admin_menu' ] );
    2829
     
    4647
    4748        function register_settings() {
     49            // settings
     50            register_setting( 'wpcpp_settings', 'wpcpp_settings', [
     51                    'type'              => 'array',
     52                    'sanitize_callback' => [ $this, 'sanitize_array' ],
     53            ] );
    4854            // rules
    4955            register_setting( 'wpcpp_settings', 'wpcpp_rules', [
     
    5157                    'sanitize_callback' => [ $this, 'sanitize_array' ],
    5258            ] );
    53             // settings
    54             register_setting( 'wpcpp_settings', 'wpcpp_settings', [
    55                     'type'              => 'array',
    56                     'sanitize_callback' => [ $this, 'sanitize_array' ],
    57             ] );
     59        }
     60
     61        function last_saved( $value, $option ) {
     62            if ( $option == 'wpcpp_settings' ) {
     63                $value['_last_saved']    = current_time( 'timestamp' );
     64                $value['_last_saved_by'] = get_current_user_id();
     65            }
     66
     67            return $value;
    5868        }
    5969
     
    267277                                <tr class="submit">
    268278                                    <th colspan="2">
    269                                         <?php settings_fields( 'wpcpp_settings' ); ?><?php submit_button(); ?>
     279                                        <div class="wpclever_submit">
     280                                            <?php
     281                                            settings_fields( 'wpcpp_settings' );
     282                                            submit_button( '', 'primary', 'submit', false );
     283
     284                                            if ( function_exists( 'wpc_last_saved' ) ) {
     285                                                wpc_last_saved( self::get_settings() );
     286                                            }
     287                                            ?>
     288                                        </div>
    270289                                        <a style="display: none;" class="wpclever_export" data-key="wpcpp_settings"
    271290                                           data-name="settings"
  • wpc-advanced-password-protect/trunk/includes/dashboard/css/dashboard.css

    r3396500 r3482963  
    287287}
    288288
     289.wpclever_settings_page .wpclever_settings_page_content table tr.submit .wpclever_submit {
     290  display: flex;
     291  align-items: center;
     292}
     293
     294.wpclever_settings_page .wpclever_settings_page_content table tr.submit .wpc-last-saved {
     295  font-weight: 400;
     296  font-size: 12px;
     297  color: #999;
     298  margin-left: 10px;
     299  display: flex;
     300  align-items: center;
     301}
     302
     303.wpclever_settings_page .wpclever_settings_page_content table tr.submit .wpc-last-saved .dashicons {
     304  font-size: 15px;
     305  width: 15px;
     306  height: 15px;
     307  margin-right: 5px;
     308  color: #22c55e;
     309}
     310
    289311.wpclever_settings_page .wpclever_settings_page_content table tr.submit .wpclever_export {
    290312  position: absolute;
     
    293315  transform: translateY(-50%);
    294316  font-weight: 400;
     317}
     318
     319#wpclever_export .wpclever_export_data {
     320  width: 100%;
     321  font-family: "SFMono-Regular", Consolas, "Liberation Mono", Menlo, monospace;
     322  font-size: 12.5px;
     323  line-height: 20px;
     324  padding: 0 12px;
     325  background-image: repeating-linear-gradient(to bottom, #ffffff 0px, #ffffff 20px, #fafafa 20px, #fafafa 40px);
     326  background-attachment: local;
     327  resize: vertical;
     328  box-sizing: border-box;
     329  outline: none;
    295330}
    296331
     
    462497  border-left: none;
    463498  border-right: 4px solid #23282d;
     499}
     500
     501body.rtl .wpclever_settings_page .wpclever_settings_page_content table tr.submit .wpclever_export {
     502  left: 20px;
     503  right: auto;
    464504}
    465505
  • wpc-advanced-password-protect/trunk/includes/dashboard/css/dashboard.css.map

    r3396500 r3482963  
    1 {"version":3,"sourceRoot":"","sources":["dashboard.scss"],"names":[],"mappings":";AAAA;EACE;IACE;;;AAIJ;EACE;IACE;;;AAIJ;EACE;EACA;;;AAGF;EACE;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;;;AAGF;AAEA;EACE;;;AAGF;EACE;EACA;;;AAGF;EACE;;;AAGF;AAEA;EACE;EACA;EACA;EACA;EACA;EACA;;;AAGF;EACE;;;AAGF;EACE;EACA;EACA;EACA;;;AAGF;EACE;;;AAGF;EACE;;;AAGF;EACE;EACA;EACA;EACA;EACA;EACA;;;AAGF;EACE;EACA;EACA;EACA;EACA;;;AAGF;EACE;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;;;AAGF;EACE;;;AAGF;AAEA;EACE;EACA;;;AAGF;EACE;EACA;;;AAGF;AAEA;EACE;IACE;IACA;IACA;IACA;;;AAIJ;EACE;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;;AAEA;EACE;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;;AAGF;EACE;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;;AAGF;EACE;EACA;;AAGF;EACE;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;;AAEA;EACE;;AAIJ;EACE;EACA;EACA;EACA;;;AAIJ;EACE;EACA;;;AAGF;EACE;EACA;;;AAGF;EACE;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;;;AAGF;EACE;EACA;;;AAGF;EACE;;;AAGF;EACE;EACA;EACA;EACA;EACA;EACA;;;AAGF;EACE;EACA;;;AAGF;EACE;EACA;EACA;EACA;EACA;EACA;EACA;;;AAGF;EACE;;;AAGF;EACE;;;AAGF;EACE;EACA;EACA;EACA;;;AAGF;EACE;EACA;EACA;;;AAGF;EACE;;;AAGF;EACE;EACA;;;AAGF;EACE;EACA;EACA;EACA;EACA;;;AAGF;EACE;;;AAGF;EACE;EACA;;;AAGF;EACE;;;AAGF;EACE;EACA;;;AAGF;EACE;;;AAGF;EACE;EACA;;;AAGF;EACE;;;AAGF;EACE;;;AAGF;EACE;EACA;EACA;EACA;EACA;EACA;EACA;;;AAGF;EACE;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;;;AAGF;EACE;;;AAGF;EACE;;;AAGF;EACE;EACA;;;AAGF;EACE;;;AAGF;EACE;EACA;;;AAGF;EACE;EACA;EACA;;;AAGF;EACE;EACA;EACA;EACA;EACA;;;AAGF;EACE;IACE;;;AAIJ;EACE;IACE;;;AAIJ;EACE;IACE;;;AAIJ;EACE;;;AAGF;EACE;;;AAGF;EACE;EACA;EACA;EACA;EACA;EACA;;;AAGF;EACE;EACA;EACA;EACA;EACA;;;AAGF;EACE;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;;;AAGF;EACE;;;AAGF;AAEA;EACE;EACA;EACA;;;AAGF;EACE;EACA;;;AAGF;EACE;EACA;;;AAGF;AAEA;EACE;;;AAGF;AAEA;EACE;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;;;AAGF;EACE;EACA;EACA;EACA;EACA;EACA;EACA;EACA;;;AAGF;EACE;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;;;AAGF;EACE;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;;;AAGF;EACE;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;;;AAGF;EACE;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;;;AAGF;EACE;;;AAGF;EACE;;;AAGF;EACE;EACA","file":"dashboard.css"}
     1{"version":3,"sourceRoot":"","sources":["dashboard.scss"],"names":[],"mappings":";AAAA;EACE;IACE;;;AAIJ;EACE;IACE;;;AAIJ;EACE;EACA;;;AAGF;EACE;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;;;AAGF;AAEA;EACE;;;AAGF;EACE;EACA;;;AAGF;EACE;;;AAGF;AAEA;EACE;EACA;EACA;EACA;EACA;EACA;;;AAGF;EACE;;;AAGF;EACE;EACA;EACA;EACA;;;AAGF;EACE;;;AAGF;EACE;;;AAGF;EACE;EACA;EACA;EACA;EACA;EACA;;;AAGF;EACE;EACA;EACA;EACA;EACA;;;AAGF;EACE;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;;;AAGF;EACE;;;AAGF;AAEA;EACE;EACA;;;AAGF;EACE;EACA;;;AAGF;AAEA;EACE;IACE;IACA;IACA;IACA;;;AAIJ;EACE;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;;AAEA;EACE;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;;AAGF;EACE;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;;AAGF;EACE;EACA;;AAGF;EACE;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;;AAEA;EACE;;AAIJ;EACE;EACA;EACA;EACA;;;AAIJ;EACE;EACA;;;AAGF;EACE;EACA;;;AAGF;EACE;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;;;AAGF;EACE;EACA;;;AAGF;EACE;;;AAGF;EACE;EACA;EACA;EACA;EACA;EACA;;;AAGF;EACE;EACA;;;AAGF;EACE;EACA;EACA;EACA;EACA;EACA;EACA;;;AAGF;EACE;;;AAGF;EACE;;;AAGF;EACE;EACA;EACA;EACA;;;AAGF;EACE;EACA;EACA;;;AAGF;EACE;;;AAGF;EACE;EACA;;;AAGF;EACE;EACA;;;AAGF;EACE;EACA;EACA;EACA;EACA;EACA;;;AAGF;EACE;EACA;EACA;EACA;EACA;;;AAGF;EACE;EACA;EACA;EACA;EACA;;;AAGF;EACE;EACA;EACA;EACA;EACA;EACA;EAOA;EACA;EACA;EACA;;;AAGF;EACE;;;AAGF;EACE;EACA;;;AAGF;EACE;;;AAGF;EACE;EACA;;;AAGF;EACE;;;AAGF;EACE;EACA;;;AAGF;EACE;;;AAGF;EACE;;;AAGF;EACE;EACA;EACA;EACA;EACA;EACA;EACA;;;AAGF;EACE;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;;;AAGF;EACE;;;AAGF;EACE;;;AAGF;EACE;EACA;;;AAGF;EACE;;;AAGF;EACE;EACA;;;AAGF;EACE;EACA;EACA;;;AAGF;EACE;EACA;EACA;EACA;EACA;;;AAGF;EACE;IACE;;;AAIJ;EACE;IACE;;;AAIJ;EACE;IACE;;;AAIJ;EACE;;;AAGF;EACE;;;AAGF;EACE;EACA;EACA;EACA;EACA;EACA;;;AAGF;EACE;EACA;EACA;EACA;EACA;;;AAGF;EACE;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;;;AAGF;EACE;;;AAGF;AAEA;EACE;EACA;EACA;;;AAGF;EACE;EACA;;;AAGF;EACE;EACA;;;AAGF;EACE;EACA;;;AAGF;AAEA;EACE;;;AAGF;AAEA;EACE;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;;;AAGF;EACE;EACA;EACA;EACA;EACA;EACA;EACA;EACA;;;AAGF;EACE;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;;;AAGF;EACE;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;;;AAGF;EACE;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;;;AAGF;EACE;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;;;AAGF;EACE;;;AAGF;EACE;;;AAGF;EACE;EACA","file":"dashboard.css"}
  • wpc-advanced-password-protect/trunk/includes/dashboard/css/dashboard.scss

    r3396500 r3482963  
    299299}
    300300
     301.wpclever_settings_page .wpclever_settings_page_content table tr.submit .wpclever_submit {
     302  display: flex;
     303  align-items: center;
     304}
     305
     306.wpclever_settings_page .wpclever_settings_page_content table tr.submit .wpc-last-saved {
     307  font-weight: 400;
     308  font-size: 12px;
     309  color: #999;
     310  margin-left: 10px;
     311  display: flex;
     312  align-items: center;
     313}
     314
     315.wpclever_settings_page .wpclever_settings_page_content table tr.submit .wpc-last-saved .dashicons {
     316  font-size: 15px;
     317  width: 15px;
     318  height: 15px;
     319  margin-right: 5px;
     320  color: #22c55e;
     321}
     322
    301323.wpclever_settings_page .wpclever_settings_page_content table tr.submit .wpclever_export {
    302324  position: absolute;
     
    305327  transform: translateY(-50%);
    306328  font-weight: 400;
     329}
     330
     331#wpclever_export .wpclever_export_data {
     332  width: 100%;
     333  font-family: 'SFMono-Regular', Consolas, 'Liberation Mono', Menlo, monospace;
     334  font-size: 12.5px;
     335  line-height: 20px;
     336  padding: 0 12px;
     337  background-image: repeating-linear-gradient(
     338                  to bottom,
     339                  #ffffff 0px,
     340                  #ffffff 20px,
     341                  #fafafa 20px,
     342                  #fafafa 40px
     343  );
     344  background-attachment: local;
     345  resize: vertical;
     346  box-sizing: border-box;
     347  outline: none;
    307348}
    308349
     
    478519  border-left: none;
    479520  border-right: 4px solid #23282d;
     521}
     522
     523body.rtl .wpclever_settings_page .wpclever_settings_page_content table tr.submit .wpclever_export {
     524  left: 20px;
     525  right: auto;
    480526}
    481527
  • wpc-advanced-password-protect/trunk/includes/dashboard/wpc-dashboard.php

    r3396500 r3482963  
    11<?php
    22defined( 'ABSPATH' ) || exit;
    3 
    4 if ( ! class_exists( 'WPCleverMenu' ) ) {
    5     class WPCleverMenu {
    6         function __construct() {
    7             // do nothing, moved to WPCleverDashboard
    8         }
    9     }
    10 
    11     new WPCleverMenu();
    12 }
    133
    144if ( ! class_exists( 'WPCleverDashboard' ) ) {
     
    232222
    233223            if ( ! empty( $key ) && ( $settings = get_option( $key ) ) ) {
     224                unset( $settings['_last_saved'] );
     225                unset( $settings['_last_saved_by'] );
     226
    234227                echo '<textarea class="wpclever_export_data" id="wpclever_export_data" style="width: 100%; height: 200px; margin-bottom: 10px;" data-key="' . esc_attr( $key ) . '">' . esc_textarea( wp_json_encode( $settings, JSON_PRETTY_PRINT ) ) . '</textarea>';
    235228                echo '<div style="display: flex; align-items: center"><button class="button button-primary wpclever_import" data-key="' . esc_attr( $key ) . '">Update</button>';
     
    265258    new WPCleverDashboard();
    266259}
     260
     261if ( ! function_exists( 'wpc_last_saved' ) ) {
     262    function wpc_last_saved( $settings ) {
     263        $last_saved = isset( $settings['_last_saved'] ) ? (int) $settings['_last_saved'] : 0;
     264
     265        if ( $last_saved ) {
     266            $time_diff = human_time_diff( $last_saved, current_time( 'timestamp' ) );
     267            $time_full = date_i18n( get_option( 'date_format' ) . ' ' . get_option( 'time_format' ), $last_saved );
     268
     269            // Who saved it
     270            $saved_by_id   = isset( $settings['_last_saved_by'] ) ? (int) $settings['_last_saved_by'] : 0;
     271            $saved_by_name = '';
     272
     273            if ( $saved_by_id ) {
     274                $user = get_userdata( $saved_by_id );
     275
     276                if ( $user ) {
     277                    $saved_by_name = $user->display_name;
     278                }
     279            }
     280
     281            $by_text = $saved_by_name ? ' ' . sprintf( 'by %s', esc_html( $saved_by_name ) ) : '';
     282
     283            echo '<span class="wpc-last-saved" title="' . esc_attr( $time_full ) . '"><span class="dashicons dashicons-saved"></span> '
     284                 . sprintf(
     285                         'Saved %1$s ago',
     286                         esc_html( $time_diff )
     287                 )
     288                 . $by_text
     289                 . '</span>';
     290        }
     291    }
     292}
  • wpc-advanced-password-protect/trunk/languages/wpc-advanced-password-protect.pot

    r3396500 r3482963  
    1 # Copyright (C) 2025 WPClever
     1# Copyright (C) 2026 WPClever
    22# This file is distributed under the GPLv2 or later.
    33msgid ""
    44msgstr ""
    5 "Project-Id-Version: WPC Advanced Password Protect for WooCommerce 1.1.1\n"
     5"Project-Id-Version: WPC Advanced Password Protect for WooCommerce 1.1.2\n"
    66"Report-Msgid-Bugs-To: https://wordpress.org/support/plugin/wpc-advanced-password-protect\n"
    77"Last-Translator: FULL NAME <EMAIL@ADDRESS>\n"
     
    1010"Content-Type: text/plain; charset=UTF-8\n"
    1111"Content-Transfer-Encoding: 8bit\n"
    12 "POT-Creation-Date: 2025-11-16T09:09:25+00:00\n"
     12"POT-Creation-Date: 2026-03-15T08:50:19+00:00\n"
    1313"PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n"
    1414"X-Generator: WP-CLI 2.12.0\n"
     
    4040msgstr ""
    4141
    42 #: includes/class-backend.php:61
    43 #: includes/class-backend.php:75
     42#: includes/class-backend.php:71
     43#: includes/class-backend.php:85
    4444msgid "WPC Advanced Password Protect"
    4545msgstr ""
    4646
    47 #: includes/class-backend.php:61
     47#: includes/class-backend.php:71
    4848msgid "Advanced Password Protect"
    4949msgstr ""
    5050
    51 #: includes/class-backend.php:75
     51#: includes/class-backend.php:85
    5252msgid "Premium"
    5353msgstr ""
    5454
    5555#. translators: stars
    56 #: includes/class-backend.php:78
     56#: includes/class-backend.php:88
    5757#, php-format
    5858msgid "Thank you for using our plugin! If you are satisfied, please reward it a full five-star %s rating."
    5959msgstr ""
    6060
    61 #: includes/class-backend.php:81
     61#: includes/class-backend.php:91
    6262msgid "Reviews"
    6363msgstr ""
    6464
    65 #: includes/class-backend.php:84
     65#: includes/class-backend.php:94
    6666msgid "Changelog"
    6767msgstr ""
    6868
    69 #: includes/class-backend.php:87
     69#: includes/class-backend.php:97
    7070msgid "Discussion"
    7171msgstr ""
    7272
    73 #: includes/class-backend.php:95
     73#: includes/class-backend.php:105
    7474msgid "Settings updated."
    7575msgstr ""
    7676
    77 #: includes/class-backend.php:102
    78 #: includes/class-backend.php:344
     77#: includes/class-backend.php:112
     78#: includes/class-backend.php:363
    7979msgid "Settings"
    8080msgstr ""
    8181
    82 #: includes/class-backend.php:107
    83 #: includes/class-backend.php:345
     82#: includes/class-backend.php:117
     83#: includes/class-backend.php:364
    8484msgid "Premium Version"
    8585msgstr ""
    8686
    87 #: includes/class-backend.php:110
     87#: includes/class-backend.php:120
    8888msgid "Essential Kit"
    8989msgstr ""
    9090
    91 #: includes/class-backend.php:129
     91#: includes/class-backend.php:139
    9292msgid "Protection rules"
    9393msgstr ""
    9494
    95 #: includes/class-backend.php:133
     95#: includes/class-backend.php:143
    9696msgid "Rules"
    9797msgstr ""
    9898
    99 #: includes/class-backend.php:136
     99#: includes/class-backend.php:146
    100100msgid "Rules will be checked from the top of the list down to end. When matched conditions are found, the chosen protect method(s), (be it passwords, user roles and/or users) will be activated for applicable subjects."
    101101msgstr ""
    102102
    103 #: includes/class-backend.php:138
     103#: includes/class-backend.php:148
    104104msgid "Current time"
    105105msgstr ""
    106106
    107 #: includes/class-backend.php:142
     107#: includes/class-backend.php:152
    108108msgid "Week No."
    109109msgstr ""
    110110
    111 #: includes/class-backend.php:144
     111#: includes/class-backend.php:154
    112112msgid "Date/time settings"
    113113msgstr ""
    114114
    115 #: includes/class-backend.php:160
     115#: includes/class-backend.php:170
    116116msgid "+ Add rule"
    117117msgstr ""
    118118
    119 #: includes/class-backend.php:162
     119#: includes/class-backend.php:172
    120120msgid "Expand All"
    121121msgstr ""
    122122
    123 #: includes/class-backend.php:164
     123#: includes/class-backend.php:174
    124124msgid "Collapse All"
    125125msgstr ""
    126126
    127 #: includes/class-backend.php:170
    128 #: includes/class-backend.php:272
     127#: includes/class-backend.php:180
     128#: includes/class-backend.php:291
    129129msgid "import / export"
    130130msgstr ""
    131131
    132 #: includes/class-backend.php:176
     132#: includes/class-backend.php:186
    133133msgid "General"
    134134msgstr ""
    135135
    136 #: includes/class-backend.php:179
     136#: includes/class-backend.php:189
    137137msgid "Force unpurchasable"
    138138msgstr ""
    139139
    140 #: includes/class-backend.php:182
     140#: includes/class-backend.php:192
    141141msgid "Yes"
    142142msgstr ""
    143143
    144 #: includes/class-backend.php:183
     144#: includes/class-backend.php:193
    145145msgid "No"
    146146msgstr ""
    147147
    148 #: includes/class-backend.php:185
     148#: includes/class-backend.php:195
    149149msgid "Force all protected products to become unpurchasable. This offers additional protection in case protected products appear in special product listings."
    150150msgstr ""
    151151
    152 #: includes/class-backend.php:189
     152#: includes/class-backend.php:199
    153153msgid "Password authentication interval"
    154154msgstr ""
    155155
    156 #: includes/class-backend.php:193
     156#: includes/class-backend.php:203
    157157msgid "How long does it take for users to be required to enter the password again? Enter “0” to make the authentication expire immediately at the end of the browsing session (or when users close the browser)."
    158158msgstr ""
    159159
    160 #: includes/class-backend.php:197
     160#: includes/class-backend.php:207
    161161msgid "Login attempt limit"
    162162msgstr ""
    163163
    164 #: includes/class-backend.php:206
     164#: includes/class-backend.php:216
    165165msgid "Limit how many successive failed login attempts can be made. When the limit is reached, users have to wait 30 minutes before they can try again. Choose “0” to disable this feature."
    166166msgstr ""
    167167
    168 #: includes/class-backend.php:210
     168#: includes/class-backend.php:220
    169169msgid "Incorrect password alert"
    170170msgstr ""
    171171
    172 #: includes/class-backend.php:215
     172#: includes/class-backend.php:225
    173173#: includes/class-frontend.php:235
    174174msgid "Incorrect password! Please try again."
    175175msgstr ""
    176176
    177 #: includes/class-backend.php:216
     177#: includes/class-backend.php:226
    178178msgid "The message displayed when the entered password is incorrect."
    179179msgstr ""
    180180
    181 #: includes/class-backend.php:220
     181#: includes/class-backend.php:230
    182182msgid "Exceed attempt limit alert"
    183183msgstr ""
    184184
    185 #: includes/class-backend.php:225
     185#: includes/class-backend.php:235
    186186#: includes/class-frontend.php:226
    187187msgid "You have reached the attempt limit! Please try again after 30 minutes."
    188188msgstr ""
    189189
    190 #: includes/class-backend.php:226
     190#: includes/class-backend.php:236
    191191msgid "The message displayed when users reach the limit of failed login attempts."
    192192msgstr ""
    193193
    194 #: includes/class-backend.php:230
    195 #: includes/class-backend.php:583
     194#: includes/class-backend.php:240
     195#: includes/class-backend.php:602
    196196msgid "Password form"
    197197msgstr ""
    198198
    199 #: includes/class-backend.php:233
    200 #: includes/class-backend.php:587
     199#: includes/class-backend.php:243
     200#: includes/class-backend.php:606
    201201msgid "Title"
    202202msgstr ""
    203203
    204 #: includes/class-backend.php:237
     204#: includes/class-backend.php:247
    205205#: includes/class-frontend.php:170
    206206msgid "Login Required"
    207207msgstr ""
    208208
    209 #: includes/class-backend.php:238
     209#: includes/class-backend.php:248
    210210msgid "The title of the login page. You can use the placeholder {title} to show the name of the current product or category. You can configure a custom title for each rule."
    211211msgstr ""
    212212
    213 #: includes/class-backend.php:242
    214 #: includes/class-backend.php:595
     213#: includes/class-backend.php:252
     214#: includes/class-backend.php:614
    215215msgid "Message"
    216216msgstr ""
    217217
    218 #: includes/class-backend.php:245
     218#: includes/class-backend.php:255
    219219#: includes/class-frontend.php:187
    220220msgid "This content is password protected. To view it please enter your password below:"
    221221msgstr ""
    222222
    223 #: includes/class-backend.php:246
     223#: includes/class-backend.php:256
    224224msgid "The message for the login form. You can configure a custom message for each rule."
    225225msgstr ""
    226226
    227 #: includes/class-backend.php:250
     227#: includes/class-backend.php:260
    228228msgid "Label"
    229229msgstr ""
    230230
    231 #: includes/class-backend.php:254
     231#: includes/class-backend.php:264
    232232#: includes/class-frontend.php:210
    233233msgid "Password:"
    234234msgstr ""
    235235
    236 #: includes/class-backend.php:255
     236#: includes/class-backend.php:265
    237237msgid "The label shown next to the password box."
    238238msgstr ""
    239239
    240 #: includes/class-backend.php:259
     240#: includes/class-backend.php:269
    241241msgid "Button text"
    242242msgstr ""
    243243
    244 #: includes/class-backend.php:263
     244#: includes/class-backend.php:273
    245245#: includes/class-frontend.php:246
    246246msgid "Login"
    247247msgstr ""
    248248
    249 #: includes/class-backend.php:264
     249#: includes/class-backend.php:274
    250250msgid "The text for the login button."
    251251msgstr ""
    252252
    253 #: includes/class-backend.php:361
     253#: includes/class-backend.php:380
    254254msgid "Community support"
    255255msgstr ""
    256256
    257 #: includes/class-backend.php:406
     257#: includes/class-backend.php:425
    258258msgid "duplicate"
    259259msgstr ""
    260260
    261 #: includes/class-backend.php:408
     261#: includes/class-backend.php:427
    262262msgid "remove"
    263263msgstr ""
    264264
    265 #: includes/class-backend.php:412
     265#: includes/class-backend.php:431
    266266msgid "Name"
    267267msgstr ""
    268268
    269 #: includes/class-backend.php:414
     269#: includes/class-backend.php:433
    270270msgid "For management use only."
    271271msgstr ""
    272272
    273 #: includes/class-backend.php:423
     273#: includes/class-backend.php:442
    274274msgid "Applicable conditions"
    275275msgstr ""
    276276
    277 #: includes/class-backend.php:427
     277#: includes/class-backend.php:446
    278278msgid "Apply for"
    279279msgstr ""
    280280
    281 #: includes/class-backend.php:433
     281#: includes/class-backend.php:452
    282282msgid "All products"
    283283msgstr ""
    284284
    285 #: includes/class-backend.php:434
     285#: includes/class-backend.php:453
    286286msgid "Selected products"
    287287msgstr ""
    288288
    289 #: includes/class-backend.php:446
     289#: includes/class-backend.php:465
    290290msgid "Products"
    291291msgstr ""
    292292
    293 #: includes/class-backend.php:451
     293#: includes/class-backend.php:470
    294294msgid "Search for a product&hellip;"
    295295msgstr ""
    296296
    297 #: includes/class-backend.php:467
     297#: includes/class-backend.php:486
    298298msgid "Terms"
    299299msgstr ""
    300300
    301 #: includes/class-backend.php:489
     301#: includes/class-backend.php:508
    302302msgid "Time"
    303303msgstr ""
    304304
    305 #: includes/class-backend.php:492
     305#: includes/class-backend.php:511
    306306msgid "* Configure date and time of the rule that must match all listed conditions."
    307307msgstr ""
    308308
    309 #: includes/class-backend.php:505
     309#: includes/class-backend.php:524
    310310msgid "+ Add time"
    311311msgstr ""
    312312
    313 #: includes/class-backend.php:511
     313#: includes/class-backend.php:530
    314314msgid "Protect by password or restrict to"
    315315msgstr ""
    316316
    317 #: includes/class-backend.php:515
     317#: includes/class-backend.php:534
    318318msgid "Password"
    319319msgstr ""
    320320
    321 #: includes/class-backend.php:532
     321#: includes/class-backend.php:551
    322322msgid "User roles"
    323323msgstr ""
    324324
    325 #: includes/class-backend.php:546
     325#: includes/class-backend.php:565
    326326msgid "User (logged in)"
    327327msgstr ""
    328328
    329 #: includes/class-backend.php:547
     329#: includes/class-backend.php:566
    330330msgid "Guest (not logged in)"
    331331msgstr ""
    332332
    333 #: includes/class-backend.php:562
     333#: includes/class-backend.php:581
    334334msgid "Users"
    335335msgstr ""
    336336
    337 #: includes/class-backend.php:667
     337#: includes/class-backend.php:686
    338338msgid "Choose the time"
    339339msgstr ""
    340340
    341 #: includes/class-backend.php:669
     341#: includes/class-backend.php:688
    342342msgid "On the date"
    343343msgstr ""
    344344
    345 #: includes/class-backend.php:671
     345#: includes/class-backend.php:690
    346346msgid "Before date & time"
    347347msgstr ""
    348348
    349 #: includes/class-backend.php:673
     349#: includes/class-backend.php:692
    350350msgid "After date & time"
    351351msgstr ""
    352352
    353 #: includes/class-backend.php:675
     353#: includes/class-backend.php:694
    354354msgid "Before date"
    355355msgstr ""
    356356
    357 #: includes/class-backend.php:677
     357#: includes/class-backend.php:696
    358358msgid "After date"
    359359msgstr ""
    360360
    361 #: includes/class-backend.php:679
     361#: includes/class-backend.php:698
    362362msgid "Multiple dates"
    363363msgstr ""
    364364
    365 #: includes/class-backend.php:681
     365#: includes/class-backend.php:700
    366366msgid "Date range"
    367367msgstr ""
    368368
    369 #: includes/class-backend.php:683
     369#: includes/class-backend.php:702
    370370msgid "All even dates"
    371371msgstr ""
    372372
    373 #: includes/class-backend.php:685
     373#: includes/class-backend.php:704
    374374msgid "All odd dates"
    375375msgstr ""
    376376
    377 #: includes/class-backend.php:687
     377#: includes/class-backend.php:706
    378378msgid "Daily time range"
    379379msgstr ""
    380380
    381 #: includes/class-backend.php:689
     381#: includes/class-backend.php:708
    382382msgid "Daily before time"
    383383msgstr ""
    384384
    385 #: includes/class-backend.php:691
     385#: includes/class-backend.php:710
    386386msgid "Daily after time"
    387387msgstr ""
    388388
    389 #: includes/class-backend.php:693
     389#: includes/class-backend.php:712
    390390msgid "Weekly on every"
    391391msgstr ""
    392392
    393 #: includes/class-backend.php:695
     393#: includes/class-backend.php:714
    394394msgid "All even weeks"
    395395msgstr ""
    396396
    397 #: includes/class-backend.php:697
     397#: includes/class-backend.php:716
    398398msgid "All odd weeks"
    399399msgstr ""
    400400
    401 #: includes/class-backend.php:699
     401#: includes/class-backend.php:718
    402402msgid "On week No."
    403403msgstr ""
    404404
    405 #: includes/class-backend.php:701
     405#: includes/class-backend.php:720
    406406msgid "Monthly on the"
    407407msgstr ""
    408408
    409 #: includes/class-backend.php:703
     409#: includes/class-backend.php:722
    410410msgid "On month No."
    411411msgstr ""
    412412
    413 #: includes/class-backend.php:705
     413#: includes/class-backend.php:724
    414414msgid "Everyday"
    415415msgstr ""
    416416
    417 #: includes/class-backend.php:735
     417#: includes/class-backend.php:754
    418418msgid "Monday"
    419419msgstr ""
    420420
    421 #: includes/class-backend.php:736
     421#: includes/class-backend.php:755
    422422msgid "Tuesday"
    423423msgstr ""
    424424
    425 #: includes/class-backend.php:737
     425#: includes/class-backend.php:756
    426426msgid "Wednesday"
    427427msgstr ""
    428428
    429 #: includes/class-backend.php:738
     429#: includes/class-backend.php:757
    430430msgid "Thursday"
    431431msgstr ""
    432432
    433 #: includes/class-backend.php:739
     433#: includes/class-backend.php:758
    434434msgid "Friday"
    435435msgstr ""
    436436
    437 #: includes/class-backend.php:740
     437#: includes/class-backend.php:759
    438438msgid "Saturday"
    439439msgstr ""
    440440
    441 #: includes/class-backend.php:741
     441#: includes/class-backend.php:760
    442442msgid "Sunday"
    443443msgstr ""
  • wpc-advanced-password-protect/trunk/readme.txt

    r3396500 r3482963  
    33Donate link: https://wpclever.net
    44Tags: woocommerce, wpc, password, protect, private
    5 Tested up to: 6.8
    6 Version: 1.1.1
    7 Stable tag: 1.1.1
     5Tested up to: 6.9
     6Version: 1.1.2
     7Stable tag: 1.1.2
    88License: GPLv2 or later
    99License URI: http://www.gnu.org/licenses/gpl-2.0.html
     
    6868== Changelog ==
    6969
     70= 1.1.2 =
     71* Fixed: Minor JS/CSS issues in the backend
     72* Updated: Compatible with WP 6.9 & Woo 10.6
     73
    7074= 1.1.1 =
    7175* Added: Import/export settings & rules
  • wpc-advanced-password-protect/trunk/wpc-advanced-password-protect.php

    r3396500 r3482963  
    44Plugin URI: https://wpclever.net/
    55Description: WPC Advanced Password Protect provides ultimate protection for your online stores with sophisticated accessibility rules to restrict visitors.
    6 Version: 1.1.1
     6Version: 1.1.2
    77Author: WPClever
    88Author URI: https://wpclever.net
     
    1111Requires Plugins: woocommerce
    1212Requires at least: 4.0
    13 Tested up to: 6.8
     13Tested up to: 6.9
    1414WC requires at least: 3.0
    15 WC tested up to: 10.3
     15WC tested up to: 10.6
    1616License: GPLv2 or later
    1717License URI: http://www.gnu.org/licenses/gpl-2.0.html
     
    2020defined( 'ABSPATH' ) || exit;
    2121
    22 ! defined( 'WPCPP_VERSION' ) && define( 'WPCPP_VERSION', '1.1.1' );
     22! defined( 'WPCPP_VERSION' ) && define( 'WPCPP_VERSION', '1.1.2' );
    2323! defined( 'WPCPP_LITE' ) && define( 'WPCPP_LITE', __FILE__ );
    2424! defined( 'WPCPP_FILE' ) && define( 'WPCPP_FILE', __FILE__ );
     
    3131! defined( 'WPC_URI' ) && define( 'WPC_URI', WPCPP_URI );
    3232
     33include 'includes/log/wpc-log.php';
    3334include 'includes/dashboard/wpc-dashboard.php';
    3435include 'includes/kit/wpc-kit.php';
Note: See TracChangeset for help on using the changeset viewer.