Plugin Directory

Changeset 3482861


Ignore:
Timestamp:
03/15/2026 03:39:24 AM (13 days ago)
Author:
wpclever
Message:

Update 2.3.2

Location:
wpc-price-by-user-role
Files:
44 added
9 edited

Legend:

Unmodified
Added
Removed
  • wpc-price-by-user-role/trunk/includes/class-backend.php

    r3398649 r3482861  
    2121            // Settings
    2222            add_action( 'admin_init', [ $this, 'register_settings' ] );
     23            add_filter( 'pre_update_option', [ $this, 'last_saved' ], 10, 2 );
    2324            add_action( 'admin_menu', [ $this, 'admin_menu' ] );
    2425
     
    122123        function register_settings() {
    123124            // settings
     125            register_setting( 'wpcpu_settings', 'wpcpu_settings', [
     126                    'type'              => 'array',
     127                    'sanitize_callback' => [ 'Wpcpu_Helper', 'sanitize_array' ],
     128            ] );
    124129            register_setting( 'wpcpu_settings', 'wpcpu_prices', [
    125130                    'type'              => 'array',
    126131                    'sanitize_callback' => [ 'Wpcpu_Helper', 'sanitize_array' ],
    127132            ] );
     133        }
     134
     135        function last_saved( $value, $option ) {
     136            if ( $option == 'wpcpu_settings' ) {
     137                $value['_last_saved']    = current_time( 'timestamp' );
     138                $value['_last_saved_by'] = get_current_user_id();
     139            }
     140
     141            return $value;
    128142        }
    129143
  • wpc-price-by-user-role/trunk/includes/dashboard/css/dashboard.css

    r3398649 r3482861  
    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-price-by-user-role/trunk/includes/dashboard/css/dashboard.css.map

    r3398649 r3482861  
    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-price-by-user-role/trunk/includes/dashboard/css/dashboard.scss

    r3398649 r3482861  
    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-price-by-user-role/trunk/includes/dashboard/wpc-dashboard.php

    r3398649 r3482861  
    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-price-by-user-role/trunk/includes/templates/settings.php

    r3366849 r3482861  
    1313            <div class="wpclever_settings_page_desc about-text">
    1414                <p>
    15                     <?php printf( /* translators: stars */ esc_html__( 'Thank you for using our plugin! If you are satisfied, please reward it a full five-star %s rating.', 'wpc-price-by-user-role' ), '<span style="color:#ffb900">&#9733;&#9733;&#9733;&#9733;&#9733;</span>' ); ?>
     15                    <?php printf( /* translators: stars */ esc_html__( 'Thank you for using our plugin! If you are satisfied, please reward it a full five-star %s rating.', 'wpc-price-by-user-role' ), '<span style="color:#ffb900">&#9733;&#9733;&#9733;&#9733;&#9733;</span>' ); ?>
    1616                    <br/>
    1717                    <a href="<?php echo esc_url( WPCPU_REVIEWS ); ?>"
     
    2626    </div>
    2727    <h2></h2>
    28     <?php if ( isset( $_GET['settings-updated'] ) && $_GET['settings-updated'] ) { ?>
     28    <?php if ( isset( $_GET['settings-updated'] ) && $_GET['settings-updated'] ) { ?>
    2929        <div class="notice notice-success is-dismissible">
    3030            <p><?php esc_html_e( 'Settings updated.', 'wpc-price-by-user-role' ); ?></p>
    3131        </div>
    32     <?php } ?>
     32    <?php } ?>
    3333    <div class="wpclever_settings_page_nav">
    3434        <h2 class="nav-tab-wrapper">
    3535            <a href="<?php echo esc_url( admin_url( 'admin.php?page=wpclever-wpcpu&tab=settings' ) ); ?>"
    3636               class="<?php echo esc_attr( $active_tab === 'settings' ? 'nav-tab nav-tab-active' : 'nav-tab' ); ?>">
    37                 <?php esc_html_e( 'Settings', 'wpc-price-by-user-role' ); ?>
     37                <?php esc_html_e( 'Settings', 'wpc-price-by-user-role' ); ?>
    3838            </a>
    3939            <a href="<?php echo esc_url( admin_url( 'admin.php?page=wpclever-wpcpu&tab=premium' ) ); ?>"
    4040               class="<?php echo esc_attr( $active_tab === 'premium' ? 'nav-tab nav-tab-active' : 'nav-tab' ); ?>"
    4141               style="color: #c9356e">
    42                 <?php esc_html_e( 'Premium Version', 'wpc-price-by-user-role' ); ?>
     42                <?php esc_html_e( 'Premium Version', 'wpc-price-by-user-role' ); ?>
    4343            </a>
    4444            <a href="<?php echo esc_url( admin_url( 'admin.php?page=wpclever-kit' ) ); ?>" class="nav-tab">
    45                 <?php esc_html_e( 'Essential Kit', 'wpc-price-by-user-role' ); ?>
     45                <?php esc_html_e( 'Essential Kit', 'wpc-price-by-user-role' ); ?>
    4646            </a>
    4747        </h2>
    4848    </div>
    4949    <div class="wpclever_settings_page_content">
    50         <?php if ( $active_tab === 'settings' ) { ?>
     50        <?php if ( $active_tab === 'settings' ) { ?>
    5151            <form method="post" action="options.php">
    5252                <table class="form-table">
     
    5555                            <div class="wpcpu-items-wrapper">
    5656                                <div class="wpcpu-items wpcpu-roles">
    57                                     <?php
    58                                     if ( is_array( $prices ) && ! empty( $prices ) ) {
    59                                         $i = 0;
     57                                    <?php
     58                                    if ( is_array( $prices ) && ! empty( $prices ) ) {
     59                                        $i = 0;
    6060
    61                                         foreach ( $prices as $key => $price ) {
    62                                             $active = $i === 0;
    63                                             include WPCPU_DIR . 'includes/templates/role-price.php';
    64                                             $i ++;
    65                                         }
    66                                     }
    67                                     ?>
     61                                        foreach ( $prices as $key => $price ) {
     62                                            $active = $i === 0;
     63                                            include WPCPU_DIR . 'includes/templates/role-price.php';
     64                                            $i ++;
     65                                        }
     66                                    }
     67                                    ?>
    6868                                </div>
    6969                            </div>
    70                             <?php include WPCPU_DIR . 'includes/templates/add-new.php'; ?>
     70                            <?php include WPCPU_DIR . 'includes/templates/add-new.php'; ?>
    7171                        </td>
    7272                    </tr>
    7373                    <tr class="submit">
    7474                        <th colspan="2">
    75                             <?php settings_fields( 'wpcpu_settings' ); ?><?php submit_button(); ?>
     75                            <div class="wpclever_submit">
     76                                <?php
     77                                echo '<input type="hidden" name="wpcpu_settings[version]" value="' . esc_attr( WPCPU_VERSION ) . '"/>';
     78                                settings_fields( 'wpcpu_settings' );
     79                                submit_button( '', 'primary', 'submit', false );
     80
     81                                if ( function_exists( 'wpc_last_saved' ) ) {
     82                                    wpc_last_saved( get_option( 'wpcpu_settings', [] ) );
     83                                }
     84                                ?>
     85                            </div>
    7686                        </th>
    7787                    </tr>
    7888                </table>
    7989            </form>
    80         <?php } elseif ( $active_tab == 'premium' ) { ?>
     90        <?php } elseif ( $active_tab == 'premium' ) { ?>
    8191            <div class="wpclever_settings_page_content_text">
    8292                <p>Get the Premium Version just $29!
     
    90100                </ul>
    91101            </div>
    92         <?php } ?>
     102        <?php } ?>
    93103    </div><!-- /.wpclever_settings_page_content -->
    94104    <div class="wpclever_settings_page_suggestion">
  • wpc-price-by-user-role/trunk/languages/wpc-price-by-user-role.pot

    r3398649 r3482861  
    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 Price by User Role for WooCommerce 2.3.1\n"
     5"Project-Id-Version: WPC Price by User Role for WooCommerce 2.3.2\n"
    66"Report-Msgid-Bugs-To: https://wordpress.org/support/plugin/wpc-price-by-user-role\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-19T08:34:47+00:00\n"
     12"POT-Creation-Date: 2026-03-15T03:37:35+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:60
    43 #: includes/class-backend.php:94
    44 #: includes/class-backend.php:231
     42#: includes/class-backend.php:61
     43#: includes/class-backend.php:95
     44#: includes/class-backend.php:245
    4545msgid "Price by User Role"
    4646msgstr ""
    4747
    48 #: includes/class-backend.php:83
     48#: includes/class-backend.php:84
    4949msgid "Product wasn't returned."
    5050msgstr ""
    5151
    52 #: includes/class-backend.php:96
     52#: includes/class-backend.php:97
    5353msgid "Global"
    5454msgstr ""
    5555
    56 #: includes/class-backend.php:97
    57 #: includes/class-backend.php:245
     56#: includes/class-backend.php:98
     57#: includes/class-backend.php:259
    5858msgid "Disable"
    5959msgstr ""
    6060
    61 #: includes/class-backend.php:99
    62 #: includes/class-backend.php:249
     61#: includes/class-backend.php:100
     62#: includes/class-backend.php:263
    6363msgid "Override"
    6464msgstr ""
    6565
    66 #: includes/class-backend.php:139
     66#: includes/class-backend.php:153
    6767#: includes/templates/global-settings.php:15
    6868#: includes/templates/settings.php:12
     
    7070msgstr ""
    7171
    72 #: includes/class-backend.php:166
     72#: includes/class-backend.php:180
    7373#: includes/templates/global-settings.php:40
    7474#: includes/templates/settings.php:37
     
    7676msgstr ""
    7777
    78 #: includes/class-backend.php:167
     78#: includes/class-backend.php:181
    7979#: includes/templates/settings.php:42
    8080msgid "Premium Version"
    8181msgstr ""
    8282
    83 #: includes/class-backend.php:183
     83#: includes/class-backend.php:197
    8484msgid "Community support"
    8585msgstr ""
    8686
    87 #: includes/class-backend.php:272
    88 #: includes/class-backend.php:274
     87#: includes/class-backend.php:286
     88#: includes/class-backend.php:288
    8989msgid "Default price:"
    9090msgstr ""
    9191
    92 #: includes/class-backend.php:274
     92#: includes/class-backend.php:288
    9393msgid "Not set"
    9494msgstr ""
    9595
    96 #: includes/class-backend.php:294
     96#: includes/class-backend.php:308
    9797#: includes/templates/add-new.php:9
    9898#: includes/templates/role-price.php:19
     
    100100msgstr ""
    101101
    102 #: includes/class-backend.php:317
     102#: includes/class-backend.php:331
    103103msgid "User role:"
    104104msgstr ""
    105105
    106 #: includes/class-backend.php:321
    107 #: includes/class-backend.php:323
     106#: includes/class-backend.php:335
     107#: includes/class-backend.php:337
    108108msgid "Apply for:"
    109109msgstr ""
    110110
    111 #: includes/class-backend.php:321
     111#: includes/class-backend.php:335
    112112msgid "all products"
    113113msgstr ""
    114114
    115 #: includes/class-backend.php:328
    116 #: includes/class-backend.php:330
     115#: includes/class-backend.php:342
     116#: includes/class-backend.php:344
    117117msgid "Price"
    118118msgstr ""
    119119
    120 #: includes/class-backend.php:328
     120#: includes/class-backend.php:342
    121121#: includes/templates/role-price.php:86
    122122msgid "Hide price"
  • wpc-price-by-user-role/trunk/readme.txt

    r3398649 r3482861  
    33Donate link: https://wpclever.net
    44Tags: woocommerce, wpc, role price, user role, user roles
    5 Tested up to: 6.8
    6 Version: 2.3.1
    7 Stable tag: 2.3.1
     5Tested up to: 6.9
     6Version: 2.3.2
     7Stable tag: 2.3.2
    88License: GPLv2 or later
    99License URI: http://www.gnu.org/licenses/gpl-2.0.html
     
    9090
    9191== Changelog ==
     92
     93= 2.3.2 =
     94* Fixed: Minor CSS/JS issues in the backend
     95* Updated: Compatible with WP 6.9 & Woo 10.6
    9296
    9397= 2.3.1 =
  • wpc-price-by-user-role/trunk/wpc-price-by-user-role.php

    r3398649 r3482861  
    44Plugin URI: https://wpclever.net/
    55Description: WPC Price by User Role helps you configure discounts and adjust prices in bulk based on user roles.
    6 Version: 2.3.1
     6Version: 2.3.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
    1818*/
    1919
    20 ! defined( 'WPCPU_VERSION' ) && define( 'WPCPU_VERSION', '2.3.1' );
     20! defined( 'WPCPU_VERSION' ) && define( 'WPCPU_VERSION', '2.3.2' );
    2121! defined( 'WPCPU_LITE' ) && define( 'WPCPU_LITE', __FILE__ );
    2222! defined( 'WPCPU_FILE' ) && define( 'WPCPU_FILE', __FILE__ );
     
    2929! defined( 'WPC_URI' ) && define( 'WPC_URI', WPCPU_URI );
    3030
     31include 'includes/log/wpc-log.php';
    3132include 'includes/dashboard/wpc-dashboard.php';
    3233include 'includes/kit/wpc-kit.php';
Note: See TracChangeset for help on using the changeset viewer.