Members - Version 3.1.7

Version Description

Download this release

Release Info

Developer caseproof
Plugin Icon 128x128 Members
Version 3.1.7
Comparing to
See all releases

Code changes from version 3.1.6 to 3.1.7

addons/members-block-permissions/resources/js/editor/controls/upgrade-prompt.js CHANGED
@@ -21,7 +21,7 @@ class UpgradePrompt extends Component {
21
  {this.props.message}
22
  </div>
23
  <div className="members-bp-memberpress-upgrade__cta">
24
- <a href="https://memberpress.com/plans/pricing" target="_blank" className="members-bp-memberpress-upgrade__cta-button">Upgrade to MemberPress</a>
25
  </div>
26
  </div>
27
  );
21
  {this.props.message}
22
  </div>
23
  <div className="members-bp-memberpress-upgrade__cta">
24
+ <a href="https://memberpress.com/plans/pricing" target="_blank" className="members-bp-memberpress-upgrade__cta-button">Add MemberPress</a>
25
  </div>
26
  </div>
27
  );
addons/members-block-permissions/src/Editor.php CHANGED
@@ -128,8 +128,8 @@ class Editor {
128
  ];
129
 
130
  $labels['notices']['notAllowed'] = __( 'Your user account does not have access to assign permissions to this block.', 'members' );
131
- $labels['paidMembership'] = __( 'To protect this block by paid membership or centrally with a content protection rule, upgrade to MemberPress.', 'members' );
132
- $labels['contentRule'] = __( 'To protect this block by paid membership or centrally with a content protection rule, upgrade to MemberPress.', 'members' );
133
 
134
  $data = [
135
  'roles' => [],
128
  ];
129
 
130
  $labels['notices']['notAllowed'] = __( 'Your user account does not have access to assign permissions to this block.', 'members' );
131
+ $labels['paidMembership'] = __( 'To protect this block by paid membership or centrally with a content protection rule, add MemberPress.', 'members' );
132
+ $labels['contentRule'] = __( 'To protect this block by paid membership or centrally with a content protection rule, add MemberPress.', 'members' );
133
 
134
  $data = [
135
  'roles' => [],
addons/members-role-hierarchy/admin/functions-settings.php CHANGED
@@ -30,7 +30,7 @@ function mrh_register_settings() {
30
  'mrh_role_hierarchy',
31
  esc_html__( 'Role Hierarchy', 'members' ),
32
  'mrh_settings_field_hierarchy',
33
- 'admin_page_members-settings',
34
  'roles_caps'
35
  );
36
  }
30
  'mrh_role_hierarchy',
31
  esc_html__( 'Role Hierarchy', 'members' ),
32
  'mrh_settings_field_hierarchy',
33
+ 'members-settings',
34
  'roles_caps'
35
  );
36
  }
admin/class-meta-box-content-permissions.php CHANGED
@@ -189,12 +189,14 @@ final class Meta_Box_Content_Permissions {
189
  <span class="label"><?php esc_html_e( 'Roles', 'members' ); ?></span>
190
  </a>
191
  </li>
192
- <li class="members-tab-title">
193
- <a href="#members-tab-paid-memberships">
194
- <svg width="15px" clip-rule="evenodd" fill-rule="evenodd" stroke-linejoin="round" stroke-miterlimit="2" viewBox="0 0 640 512" xmlns="http://www.w3.org/2000/svg"><path d="m621.16 54.46c-38.79-16.27-77.61-22.46-116.41-22.46-123.17-.01-246.33 62.34-369.5 62.34-30.89 0-61.76-3.92-92.65-13.72-3.47-1.1-6.95-1.62-10.35-1.62-17.21 0-32.25 13.32-32.25 31.81v317.26c0 12.63 7.23 24.6 18.84 29.46 38.79 16.28 77.61 22.47 116.41 22.47 123.17 0 246.34-62.35 369.51-62.35 30.89 0 61.76 3.92 92.65 13.72 3.47 1.1 6.95 1.62 10.35 1.62 17.21 0 32.25-13.32 32.25-31.81v-317.25c-.01-12.64-7.24-24.6-18.85-29.47zm-573.16 77.76c20.12 5.04 41.12 7.57 62.72 8.93-5.88 29.39-31.72 51.54-62.72 51.54zm0 285v-47.78c34.37 0 62.18 27.27 63.71 61.4-22.53-1.81-43.59-6.31-63.71-13.62zm272-65.22c-44.19 0-80-42.99-80-96 0-53.02 35.82-96 80-96s80 42.98 80 96c0 53.03-35.83 96-80 96zm272 27.78c-17.52-4.39-35.71-6.85-54.32-8.44 5.87-26.08 27.5-45.88 54.32-49.28zm0-236.11c-30.89-3.91-54.86-29.7-55.81-61.55 19.54 2.17 38.09 6.23 55.81 12.66z" fill-rule="nonzero"/></svg>
195
- <span class="label"><?php esc_html_e( 'Paid Memberships', 'members' ); ?></span>
196
- </a>
197
- </li>
 
 
198
  <li class="members-tab-title">
199
  <a href="#members-tab-cp-message">
200
  <i class="dashicons dashicons-edit"></i>
@@ -233,14 +235,16 @@ final class Meta_Box_Content_Permissions {
233
 
234
  </div>
235
 
236
- <div id="members-tab-paid-memberships" class="members-tab-content">
 
237
 
238
- <div class="memberpress-paid-memberships">
239
- <p><?php _e( 'To protect this block by paid membership or centrally with <br> a content protection rule, upgrade to MemberPress.', 'members' ); ?></p>
240
- <p><a href="https://memberpress.com/plans/pricing/?utm_source=members&utm_medium=link&utm_campaign=in_plugin&utm_content=content_protection"><?php esc_html_e( 'Upgrade to MemberPress', 'members' ); ?></a></p>
241
- </div>
242
 
243
- </div>
 
244
 
245
  <div id="members-tab-cp-message" class="members-tab-content">
246
 
@@ -304,12 +308,14 @@ final class Meta_Box_Content_Permissions {
304
  <span class="label"><?php esc_html_e( 'Roles', 'members' ); ?></span>
305
  </a>
306
  </li>
307
- <li class="members-tab-title">
308
- <a href="#members-tab-paid-memberships">
309
- <svg width="15px" clip-rule="evenodd" fill-rule="evenodd" stroke-linejoin="round" stroke-miterlimit="2" viewBox="0 0 640 512" xmlns="http://www.w3.org/2000/svg"><path d="m621.16 54.46c-38.79-16.27-77.61-22.46-116.41-22.46-123.17-.01-246.33 62.34-369.5 62.34-30.89 0-61.76-3.92-92.65-13.72-3.47-1.1-6.95-1.62-10.35-1.62-17.21 0-32.25 13.32-32.25 31.81v317.26c0 12.63 7.23 24.6 18.84 29.46 38.79 16.28 77.61 22.47 116.41 22.47 123.17 0 246.34-62.35 369.51-62.35 30.89 0 61.76 3.92 92.65 13.72 3.47 1.1 6.95 1.62 10.35 1.62 17.21 0 32.25-13.32 32.25-31.81v-317.25c-.01-12.64-7.24-24.6-18.85-29.47zm-573.16 77.76c20.12 5.04 41.12 7.57 62.72 8.93-5.88 29.39-31.72 51.54-62.72 51.54zm0 285v-47.78c34.37 0 62.18 27.27 63.71 61.4-22.53-1.81-43.59-6.31-63.71-13.62zm272-65.22c-44.19 0-80-42.99-80-96 0-53.02 35.82-96 80-96s80 42.98 80 96c0 53.03-35.83 96-80 96zm272 27.78c-17.52-4.39-35.71-6.85-54.32-8.44 5.87-26.08 27.5-45.88 54.32-49.28zm0-236.11c-30.89-3.91-54.86-29.7-55.81-61.55 19.54 2.17 38.09 6.23 55.81 12.66z" fill-rule="nonzero"/></svg>
310
- <span class="label"><?php esc_html_e( 'Paid Memberships', 'members' ); ?></span>
311
- </a>
312
- </li>
 
 
313
  <li class="members-tab-title">
314
  <a href="#members-tab-cp-message">
315
  <i class="dashicons dashicons-edit"></i>
@@ -349,15 +355,17 @@ final class Meta_Box_Content_Permissions {
349
 
350
  </div>
351
 
352
- <div id="members-tab-paid-memberships" class="members-tab-content">
353
- <h3><?php esc_html_e( 'Paid Memberships', 'members' ); ?></h3>
 
354
 
355
- <div class="memberpress-paid-memberships">
356
- <p><?php _e( 'To protect this block by paid membership or centrally with <br> a content protection rule, upgrade to MemberPress.', 'members' ); ?></p>
357
- <p><a href="https://memberpress.com/plans/pricing/?utm_source=members&utm_medium=link&utm_campaign=in_plugin&utm_content=paid_memberships"><?php esc_html_e( 'Upgrade to MemberPress', 'members' ); ?></a></p>
358
- </div>
359
 
360
- </div>
 
361
 
362
  <div id="members-tab-cp-message" class="members-tab-content">
363
  <h3><?php esc_html_e( 'Error Message', 'members' ); ?></h3>
189
  <span class="label"><?php esc_html_e( 'Roles', 'members' ); ?></span>
190
  </a>
191
  </li>
192
+ <?php if ( ! members_is_memberpress_active() ) : ?>
193
+ <li class="members-tab-title">
194
+ <a href="#members-tab-paid-memberships">
195
+ <svg width="15px" clip-rule="evenodd" fill-rule="evenodd" stroke-linejoin="round" stroke-miterlimit="2" viewBox="0 0 640 512" xmlns="http://www.w3.org/2000/svg"><path d="m621.16 54.46c-38.79-16.27-77.61-22.46-116.41-22.46-123.17-.01-246.33 62.34-369.5 62.34-30.89 0-61.76-3.92-92.65-13.72-3.47-1.1-6.95-1.62-10.35-1.62-17.21 0-32.25 13.32-32.25 31.81v317.26c0 12.63 7.23 24.6 18.84 29.46 38.79 16.28 77.61 22.47 116.41 22.47 123.17 0 246.34-62.35 369.51-62.35 30.89 0 61.76 3.92 92.65 13.72 3.47 1.1 6.95 1.62 10.35 1.62 17.21 0 32.25-13.32 32.25-31.81v-317.25c-.01-12.64-7.24-24.6-18.85-29.47zm-573.16 77.76c20.12 5.04 41.12 7.57 62.72 8.93-5.88 29.39-31.72 51.54-62.72 51.54zm0 285v-47.78c34.37 0 62.18 27.27 63.71 61.4-22.53-1.81-43.59-6.31-63.71-13.62zm272-65.22c-44.19 0-80-42.99-80-96 0-53.02 35.82-96 80-96s80 42.98 80 96c0 53.03-35.83 96-80 96zm272 27.78c-17.52-4.39-35.71-6.85-54.32-8.44 5.87-26.08 27.5-45.88 54.32-49.28zm0-236.11c-30.89-3.91-54.86-29.7-55.81-61.55 19.54 2.17 38.09 6.23 55.81 12.66z" fill-rule="nonzero"/></svg>
196
+ <span class="label"><?php esc_html_e( 'Paid Memberships', 'members' ); ?></span>
197
+ </a>
198
+ </li>
199
+ <?php endif; ?>
200
  <li class="members-tab-title">
201
  <a href="#members-tab-cp-message">
202
  <i class="dashicons dashicons-edit"></i>
235
 
236
  </div>
237
 
238
+ <?php if ( ! members_is_memberpress_active() ) : ?>
239
+ <div id="members-tab-paid-memberships" class="members-tab-content">
240
 
241
+ <div class="memberpress-paid-memberships">
242
+ <p><?php _e( 'To protect this block by paid membership or centrally with <br> a content protection rule, add MemberPress.', 'members' ); ?></p>
243
+ <p><a href="https://memberpress.com/plans/pricing/?utm_source=members&utm_medium=link&utm_campaign=in_plugin&utm_content=content_protection"><?php esc_html_e( 'Add MemberPress', 'members' ); ?></a></p>
244
+ </div>
245
 
246
+ </div>
247
+ <?php endif; ?>
248
 
249
  <div id="members-tab-cp-message" class="members-tab-content">
250
 
308
  <span class="label"><?php esc_html_e( 'Roles', 'members' ); ?></span>
309
  </a>
310
  </li>
311
+ <?php if ( ! members_is_memberpress_active() ) : ?>
312
+ <li class="members-tab-title">
313
+ <a href="#members-tab-paid-memberships">
314
+ <svg width="15px" clip-rule="evenodd" fill-rule="evenodd" stroke-linejoin="round" stroke-miterlimit="2" viewBox="0 0 640 512" xmlns="http://www.w3.org/2000/svg"><path d="m621.16 54.46c-38.79-16.27-77.61-22.46-116.41-22.46-123.17-.01-246.33 62.34-369.5 62.34-30.89 0-61.76-3.92-92.65-13.72-3.47-1.1-6.95-1.62-10.35-1.62-17.21 0-32.25 13.32-32.25 31.81v317.26c0 12.63 7.23 24.6 18.84 29.46 38.79 16.28 77.61 22.47 116.41 22.47 123.17 0 246.34-62.35 369.51-62.35 30.89 0 61.76 3.92 92.65 13.72 3.47 1.1 6.95 1.62 10.35 1.62 17.21 0 32.25-13.32 32.25-31.81v-317.25c-.01-12.64-7.24-24.6-18.85-29.47zm-573.16 77.76c20.12 5.04 41.12 7.57 62.72 8.93-5.88 29.39-31.72 51.54-62.72 51.54zm0 285v-47.78c34.37 0 62.18 27.27 63.71 61.4-22.53-1.81-43.59-6.31-63.71-13.62zm272-65.22c-44.19 0-80-42.99-80-96 0-53.02 35.82-96 80-96s80 42.98 80 96c0 53.03-35.83 96-80 96zm272 27.78c-17.52-4.39-35.71-6.85-54.32-8.44 5.87-26.08 27.5-45.88 54.32-49.28zm0-236.11c-30.89-3.91-54.86-29.7-55.81-61.55 19.54 2.17 38.09 6.23 55.81 12.66z" fill-rule="nonzero"/></svg>
315
+ <span class="label"><?php esc_html_e( 'Paid Memberships', 'members' ); ?></span>
316
+ </a>
317
+ </li>
318
+ <?php endif; ?>
319
  <li class="members-tab-title">
320
  <a href="#members-tab-cp-message">
321
  <i class="dashicons dashicons-edit"></i>
355
 
356
  </div>
357
 
358
+ <?php if ( ! members_is_memberpress_active() ) : ?>
359
+ <div id="members-tab-paid-memberships" class="members-tab-content">
360
+ <h3><?php esc_html_e( 'Paid Memberships', 'members' ); ?></h3>
361
 
362
+ <div class="memberpress-paid-memberships">
363
+ <p><?php _e( 'To protect this block by paid membership or centrally with <br> a content protection rule, add MemberPress.', 'members' ); ?></p>
364
+ <p><a href="https://memberpress.com/plans/pricing/?utm_source=members&utm_medium=link&utm_campaign=in_plugin&utm_content=paid_memberships"><?php esc_html_e( 'Add MemberPress', 'members' ); ?></a></p>
365
+ </div>
366
 
367
+ </div>
368
+ <?php endif; ?>
369
 
370
  <div id="members-tab-cp-message" class="members-tab-content">
371
  <h3><?php esc_html_e( 'Error Message', 'members' ); ?></h3>
admin/class-settings.php CHANGED
@@ -221,7 +221,7 @@ final class Settings_Page {
221
  // Create the settings page.
222
  $this->settings_page = add_submenu_page( 'members', esc_html_x( 'Settings', 'admin screen', 'members' ), esc_html_x( 'Settings', 'admin screen', 'members' ), apply_filters( 'members_settings_capability', 'manage_options' ), 'members-settings', array( $this, 'settings_page' ) );
223
  $this->addons_page = add_submenu_page( 'members', esc_html_x( 'Add-Ons', 'admin screen', 'members' ), _x( '<span style="color: #8CBD5A;">Add-Ons</span>', 'admin screen', 'members' ), apply_filters( 'members_settings_capability', 'manage_options' ), 'members-settings&view=add-ons', array( $this, 'settings_page' ) );
224
- if ( ! defined( 'MEPR_PLUGIN_SLUG' ) ) { // MemberPress not active
225
  $this->payments_page = add_submenu_page( 'members', esc_html_x( 'Payments', 'admin screen', 'members' ), esc_html_x( 'Payments', 'admin screen', 'members' ), apply_filters( 'members_settings_capability', 'manage_options' ), 'members-payments', array( $this, 'payments_page' ) );
226
  }
227
  $this->about_page = add_submenu_page( 'members', esc_html_x( 'About Us', 'admin screen', 'members' ), esc_html_x( 'About Us', 'admin screen', 'members' ), apply_filters( 'members_settings_capability', 'manage_options' ), 'members-about', array( $this, 'about_page' ) );
@@ -635,7 +635,7 @@ final class Settings_Page {
635
  </div>
636
  </div>
637
  <div class="plugin-card-bottom">
638
- <?php if ( defined( 'MEPR_PLUGIN_SLUG' ) ) : // Installed and active ?>
639
  <div class="column-rating column-status">Status: <span class="active">Active</span></div>
640
  <div class="column-updated"><a href="https://memberpress.com/?utm_source=members_plugin&utm_medium=link&utm_campaign=about_us&utm_content=memberpress_learn_more" target="_blank" class="button button-secondary">Learn More</a></div>
641
  <?php elseif ( array_key_exists( 'memberpress/memberpress.php', $installed_plugins ) ) : // Installed but inactive ?>
221
  // Create the settings page.
222
  $this->settings_page = add_submenu_page( 'members', esc_html_x( 'Settings', 'admin screen', 'members' ), esc_html_x( 'Settings', 'admin screen', 'members' ), apply_filters( 'members_settings_capability', 'manage_options' ), 'members-settings', array( $this, 'settings_page' ) );
223
  $this->addons_page = add_submenu_page( 'members', esc_html_x( 'Add-Ons', 'admin screen', 'members' ), _x( '<span style="color: #8CBD5A;">Add-Ons</span>', 'admin screen', 'members' ), apply_filters( 'members_settings_capability', 'manage_options' ), 'members-settings&view=add-ons', array( $this, 'settings_page' ) );
224
+ if ( ! members_is_memberpress_active() ) { // MemberPress not active
225
  $this->payments_page = add_submenu_page( 'members', esc_html_x( 'Payments', 'admin screen', 'members' ), esc_html_x( 'Payments', 'admin screen', 'members' ), apply_filters( 'members_settings_capability', 'manage_options' ), 'members-payments', array( $this, 'payments_page' ) );
226
  }
227
  $this->about_page = add_submenu_page( 'members', esc_html_x( 'About Us', 'admin screen', 'members' ), esc_html_x( 'About Us', 'admin screen', 'members' ), apply_filters( 'members_settings_capability', 'manage_options' ), 'members-about', array( $this, 'about_page' ) );
635
  </div>
636
  </div>
637
  <div class="plugin-card-bottom">
638
+ <?php if ( members_is_memberpress_active() ) : // Installed and active ?>
639
  <div class="column-rating column-status">Status: <span class="active">Active</span></div>
640
  <div class="column-updated"><a href="https://memberpress.com/?utm_source=members_plugin&utm_medium=link&utm_campaign=about_us&utm_content=memberpress_learn_more" target="_blank" class="button button-secondary">Learn More</a></div>
641
  <?php elseif ( array_key_exists( 'memberpress/memberpress.php', $installed_plugins ) ) : // Installed but inactive ?>
admin/config/addons.php CHANGED
@@ -77,28 +77,28 @@ return array(
77
  'memberpress-payments' => array(
78
  'url' => 'https://memberpress.com/?utm_source=members_plugin&utm_medium=link&utm_campaign=addons&utm_content=activate_payments',
79
  'title' => 'Payments',
80
- 'excerpt' => '<p>Accept payments for your protected membership content.</p>',
81
  'is_memberpress' => true,
82
  ),
83
 
84
  'memberpress-subscriptions' => array(
85
  'url' => 'https://memberpress.com/?utm_source=members_plugin&utm_medium=link&utm_campaign=addons&utm_content=activate_subscriptions',
86
  'title' => 'Subscriptions',
87
- 'excerpt' => '<p>Allows you to charge users on a recurring schedule.</p>',
88
  'is_memberpress' => true,
89
  ),
90
 
91
  'memberpress-email' => array(
92
  'url' => 'https://memberpress.com/?utm_source=members_plugin&utm_medium=link&utm_campaign=addons&utm_content=activate_email_marketing',
93
  'title' => 'Email Marketing',
94
- 'excerpt' => '<p>Connect with popular email marketing services, such as Mailchimp, to email your members.</p>',
95
  'is_memberpress' => true,
96
  ),
97
 
98
  'memberpress-advanced' => array(
99
  'url' => 'https://memberpress.com/?utm_source=members_plugin&utm_medium=link&utm_campaign=addons&utm_content=activate_advanced_protection',
100
  'title' => 'Advanced Content Protection',
101
- 'excerpt' => '<p>Allows you to create sophisticated rules to protect your membership content.</p>',
102
  'is_memberpress' => true,
103
  )
104
  );
77
  'memberpress-payments' => array(
78
  'url' => 'https://memberpress.com/?utm_source=members_plugin&utm_medium=link&utm_campaign=addons&utm_content=activate_payments',
79
  'title' => 'Payments',
80
+ 'excerpt' => '<p>Add MemberPress to accept payments for your protected membership content.</p>',
81
  'is_memberpress' => true,
82
  ),
83
 
84
  'memberpress-subscriptions' => array(
85
  'url' => 'https://memberpress.com/?utm_source=members_plugin&utm_medium=link&utm_campaign=addons&utm_content=activate_subscriptions',
86
  'title' => 'Subscriptions',
87
+ 'excerpt' => '<p>MemberPress allows you to charge users on a recurring schedule.</p>',
88
  'is_memberpress' => true,
89
  ),
90
 
91
  'memberpress-email' => array(
92
  'url' => 'https://memberpress.com/?utm_source=members_plugin&utm_medium=link&utm_campaign=addons&utm_content=activate_email_marketing',
93
  'title' => 'Email Marketing',
94
+ 'excerpt' => '<p>MemberPress can connect with popular email marketing services, such as Mailchimp, to email your members.</p>',
95
  'is_memberpress' => true,
96
  ),
97
 
98
  'memberpress-advanced' => array(
99
  'url' => 'https://memberpress.com/?utm_source=members_plugin&utm_medium=link&utm_campaign=addons&utm_content=activate_advanced_protection',
100
  'title' => 'Advanced Content Protection',
101
+ 'excerpt' => '<p>MemberPress allows you to create sophisticated rules to protect your membership content.</p>',
102
  'is_memberpress' => true,
103
  )
104
  );
admin/functions-admin.php CHANGED
@@ -127,6 +127,15 @@ function members_get_user_meta_keys() {
127
  return $wpdb->get_col( "SELECT meta_key FROM $wpdb->usermeta GROUP BY meta_key ORDER BY meta_key" );
128
  }
129
 
 
 
 
 
 
 
 
 
 
130
  add_action( 'admin_enqueue_scripts', 'members_add_pointers' );
131
  /**
132
  * Adds helper pointers to the admin
@@ -144,24 +153,24 @@ function members_add_pointers() {
144
  // Get dismissed pointers
145
  $dismissed = explode( ',', (string) get_user_meta( get_current_user_id(), 'dismissed_wp_pointers', true ) );
146
  $valid_pointers =array();
147
-
148
  // Check pointers and remove dismissed ones.
149
  foreach ( $pointers as $pointer_id => $pointer ) {
150
-
151
  // Sanity check
152
  if ( in_array( $pointer_id, $dismissed ) || empty( $pointer ) || empty( $pointer_id ) || empty( $pointer['target'] ) || empty( $pointer['options'] ) ) {
153
  continue;
154
  }
155
-
156
  $pointer['pointer_id'] = $pointer_id;
157
-
158
  $valid_pointers['pointers'][] = $pointer;
159
  }
160
-
161
  if ( empty( $valid_pointers ) ) {
162
  return;
163
  }
164
-
165
  wp_enqueue_style( 'wp-pointer' );
166
  wp_enqueue_script( 'members-pointers', members_plugin()->uri . '/js/members-pointers.min.js', array( 'wp-pointer' ) );
167
  wp_localize_script( 'members-pointers', 'membersPointers', $valid_pointers );
@@ -175,7 +184,7 @@ add_action( 'in_admin_header', 'members_admin_header', 0 );
175
  */
176
  function members_admin_header() {
177
 
178
- if ( defined( 'MEPR_PLUGIN_SLUG' ) || empty( $_GET['page'] ) || ! in_array( $_GET['page'], array( 'roles', 'members', 'members-settings', 'members-about' ) ) ) {
179
  return;
180
  }
181
 
@@ -189,7 +198,7 @@ function members_admin_header() {
189
 
190
  <div class="members-upgrade-header" id="members-upgrade-header">
191
  <span id="close-members-upgrade-header">X</span>
192
- <?php _e( 'You\'re using Members. To unlock more features, consider <a href="https://memberpress.com/plans/pricing/?utm_source=members&utm_medium=link&utm_campaign=in_plugin&utm_content=pro_features">upgrading to MemberPress.</a>' ); ?>
193
  </div>
194
 
195
  <div id="members-admin-header"><img class="members-logo" src="<?php echo members_plugin()->uri . 'img/Members-header.svg'; ?>" /></div>
127
  return $wpdb->get_col( "SELECT meta_key FROM $wpdb->usermeta GROUP BY meta_key ORDER BY meta_key" );
128
  }
129
 
130
+ /**
131
+ * Check whether the MemberPress plugin is active.
132
+ *
133
+ * @return boolean
134
+ */
135
+ function members_is_memberpress_active() {
136
+ return defined( 'MEPR_PLUGIN_SLUG' );
137
+ }
138
+
139
  add_action( 'admin_enqueue_scripts', 'members_add_pointers' );
140
  /**
141
  * Adds helper pointers to the admin
153
  // Get dismissed pointers
154
  $dismissed = explode( ',', (string) get_user_meta( get_current_user_id(), 'dismissed_wp_pointers', true ) );
155
  $valid_pointers =array();
156
+
157
  // Check pointers and remove dismissed ones.
158
  foreach ( $pointers as $pointer_id => $pointer ) {
159
+
160
  // Sanity check
161
  if ( in_array( $pointer_id, $dismissed ) || empty( $pointer ) || empty( $pointer_id ) || empty( $pointer['target'] ) || empty( $pointer['options'] ) ) {
162
  continue;
163
  }
164
+
165
  $pointer['pointer_id'] = $pointer_id;
166
+
167
  $valid_pointers['pointers'][] = $pointer;
168
  }
169
+
170
  if ( empty( $valid_pointers ) ) {
171
  return;
172
  }
173
+
174
  wp_enqueue_style( 'wp-pointer' );
175
  wp_enqueue_script( 'members-pointers', members_plugin()->uri . '/js/members-pointers.min.js', array( 'wp-pointer' ) );
176
  wp_localize_script( 'members-pointers', 'membersPointers', $valid_pointers );
184
  */
185
  function members_admin_header() {
186
 
187
+ if ( members_is_memberpress_active() || empty( $_GET['page'] ) || ! in_array( $_GET['page'], array( 'roles', 'members', 'members-settings', 'members-about' ) ) ) {
188
  return;
189
  }
190
 
198
 
199
  <div class="members-upgrade-header" id="members-upgrade-header">
200
  <span id="close-members-upgrade-header">X</span>
201
+ <?php _e( 'You\'re using Members. To unlock more features, consider <a href="https://memberpress.com/plans/pricing/?utm_source=members&utm_medium=link&utm_campaign=in_plugin&utm_content=pro_features">adding MemberPress.</a>' ); ?>
202
  </div>
203
 
204
  <div id="members-admin-header"><img class="members-logo" src="<?php echo members_plugin()->uri . 'img/Members-header.svg'; ?>" /></div>
admin/functions-help.php CHANGED
@@ -184,7 +184,7 @@ function members_memberpress_upgrade( $link = 'https://memberpress.com/plans/pri
184
  <div class="mepr-upgrade-content">
185
  <h2>Charge Members for Your Protected Content</h2>
186
  <h4>Members Lite cannot access payments.</h4>
187
- <p>Once you upgrade to MemberPress, you'll be able to charge your members for access to your content.</p>
188
  <ul class="features">
189
  <li>Charge for Access to Content</li>
190
  <li>Create Memberships</li>
@@ -197,7 +197,7 @@ function members_memberpress_upgrade( $link = 'https://memberpress.com/plans/pri
197
  </ul>
198
  </div>
199
  <div class="mepr-upgrade-cta">
200
- <a href="<?php echo esc_url( $link ); ?>" id="mepr_cta_upgrade_link" class="mepr-cta-button">Upgrade to MemberPress Now</a>
201
  and start charging for access!
202
  </div>
203
  </div>
184
  <div class="mepr-upgrade-content">
185
  <h2>Charge Members for Your Protected Content</h2>
186
  <h4>Members Lite cannot access payments.</h4>
187
+ <p>Once you add MemberPress, you'll be able to charge your members for access to your content.</p>
188
  <ul class="features">
189
  <li>Charge for Access to Content</li>
190
  <li>Create Memberships</li>
197
  </ul>
198
  </div>
199
  <div class="mepr-upgrade-cta">
200
+ <a href="<?php echo esc_url( $link ); ?>" id="mepr_cta_upgrade_link" class="mepr-cta-button">Add MemberPress Now</a>
201
  and start charging for access!
202
  </div>
203
  </div>
admin/views/class-view-addons.php CHANGED
@@ -55,14 +55,14 @@ class View_Addons extends View {
55
  <div class="widefat">
56
 
57
  <div class="members-addons">
58
-
59
  <?php if ( $addons ) : ?>
60
 
61
  <?php foreach ( $addons as $addon ) : ?>
62
-
63
  <?php
64
  if ( $addon->is_memberpress ) {
65
- if ( ! defined( 'MEPR_PLUGIN_SLUG' ) ) {
66
  $this->addon_card( $addon );
67
  }
68
  } else {
@@ -115,6 +115,9 @@ class View_Addons extends View {
115
  <div class="name column-name">
116
  <h3>
117
  <?php if ( $addon->url ) : ?>
 
 
 
118
  <a href="<?php echo esc_url( $addon->url ); ?>" target="_blank">
119
  <?php endif; ?>
120
 
55
  <div class="widefat">
56
 
57
  <div class="members-addons">
58
+
59
  <?php if ( $addons ) : ?>
60
 
61
  <?php foreach ( $addons as $addon ) : ?>
62
+
63
  <?php
64
  if ( $addon->is_memberpress ) {
65
+ if ( ! members_is_memberpress_active() ) {
66
  $this->addon_card( $addon );
67
  }
68
  } else {
115
  <div class="name column-name">
116
  <h3>
117
  <?php if ( $addon->url ) : ?>
118
+ <?php if ($addon->is_memberpress) : ?>
119
+ <img src="<?php echo members_plugin()->uri . "img/mp-icon-RGB.jpg"; ?>" class="plugin-icon-small" alt="">
120
+ <?php endif; ?>
121
  <a href="<?php echo esc_url( $addon->url ); ?>" target="_blank">
122
  <?php endif; ?>
123
 
changelog.md CHANGED
@@ -1,5 +1,16 @@
1
  # Change Log
2
 
 
 
 
 
 
 
 
 
 
 
 
3
  ## 3.1.6 - 2021-10-28
4
 
5
  ### Fixed
@@ -64,7 +75,7 @@
64
 
65
  ### Changed
66
 
67
- - Admin UI
68
 
69
  ## 3.0.10 - 2020-06-23
70
 
@@ -74,7 +85,7 @@
74
 
75
  ## 3.0.9 - 2020-06-22
76
 
77
- ### Fixed
78
 
79
  - Fixed issue with ACF integration trying to bump priority on ACF menu
80
 
1
  # Change Log
2
 
3
+ ## 3.1.7 - 2021-12-30
4
+
5
+ ### Fixed
6
+ - Hierarchical roles missing settings
7
+
8
+ ### Changed
9
+
10
+ - Refactored checks for whether MemberPress is active; added `members_is_memberpress_active()`
11
+ - "Paid Memberships" section of Content Permissions meta box should not show when MemberPress is active
12
+ - Changed wording from "Upgrade to MemberPress" to "Add MemberPress"
13
+
14
  ## 3.1.6 - 2021-10-28
15
 
16
  ### Fixed
75
 
76
  ### Changed
77
 
78
+ - Admin UI
79
 
80
  ## 3.0.10 - 2020-06-23
81
 
85
 
86
  ## 3.0.9 - 2020-06-22
87
 
88
+ ### Fixed
89
 
90
  - Fixed issue with ACF integration trying to bump priority on ACF menu
91
 
css/admin.css CHANGED
@@ -418,6 +418,11 @@
418
  height: auto;
419
  }
420
 
 
 
 
 
 
421
  .members-plugin-card.plugin-card .name,
422
  .members-plugin-card.plugin-card .desc {
423
  margin-right: 0;
418
  height: auto;
419
  }
420
 
421
+ .plugin-icon-small {
422
+ width: 32px;
423
+ height: auto;
424
+ }
425
+
426
  .members-plugin-card.plugin-card .name,
427
  .members-plugin-card.plugin-card .desc {
428
  margin-right: 0;
css/admin.min.css CHANGED
@@ -1 +1 @@
1
- #members-cp h2.hndle,#members-cp-side h2.hndle{border-bottom:none !important;-webkit-box-pack:start;-ms-flex-pack:start;justify-content:flex-start}#members-cp h2.hndle svg,#members-cp-side h2.hndle svg{margin-right:5px}#members-cp-side .postbox-header{border-bottom:none !important}#members-cp-side .handle-actions .handle-order-higher,#members-cp-side .handle-actions .handle-order-lower{display:none}#members-cp-side .handle-actions .handlediv{position:absolute;right:5px}.members-upgrade-header{text-align:center;padding:5px}.members-upgrade-header a{color:#f59431}.memberpress-paid-memberships{background-color:#f5f5f5;padding:50px 10px;text-align:center}.memberpress-paid-memberships a{background-color:#0e4598;display:inline-block;padding:10px 20px;border-radius:300px;color:#fff;text-decoration:none;margin-top:20px}#members-cp-side .members-tabs{position:relative}#members-cp-side .members-tab-nav{background-color:transparent;margin-bottom:20px;border-right:none !important}#members-cp-side .members-tab-nav .members-tab-title{width:33.333%;height:50px;border-right:none !important}#members-cp-side .members-tab-nav .members-tab-title a{border:0}#members-cp-side .members-tab-content h3{font-weight:bold;font-size:15px;margin-top:0;color:#000;margin-bottom:10px}#members-cp-side .members-tab-content .memberpress-paid-memberships{text-align:left;padding:20px}#members-cp-side .members-tab-content .memberpress-paid-memberships a{display:block;text-align:center}#members-cp-side .members-tabs .members-tab-nav li a i,#members-cp-side .members-tabs .members-tab-nav li[aria-selected="false"] a i{color:#555}#members-cp-side .members-tabs .members-tab-nav li a svg,#members-cp-side .members-tabs .members-tab-nav li[aria-selected="false"] a svg{fill:#555}#members-cp-side .members-tabs .members-tab-nav li[aria-selected="true"] a{background-color:transparent;border-bottom:2px solid #3582ae}#members-cp-side .members-tabs .members-tab-nav li[aria-selected="true"] a i{color:#3582ae}#members-cp-side .members-tabs .members-tab-nav li[aria-selected="true"] a svg{fill:#3582ae}.members-tab-title svg,.members-tab-title[aria-selected="false"] svg{fill:#0073aa}.members-tab-title[aria-selected="true"] svg{fill:#555}#wpcontent #members-admin-header{margin-left:-20px;padding:0;padding-left:22px;background-color:#f9f9f9;background-repeat:repeat;background-size:1200px 75px;min-height:36px;position:relative}#wpcontent #members-admin-header img.members-logo{height:90px}.members-upgrade-header #close-members-upgrade-header{position:absolute;right:20px;top:3px}.members-upgrade-header #close-members-upgrade-header:hover{cursor:pointer}.members_page_members-settings .welcome-panel{margin-top:0;padding:40px 20px}.members_page_members-settings .welcome-panel .about-description{margin:20px 0}.members_page_members-settings .welcome-panel-content{margin:0}@media screen and (min-width:870px){.members_page_members-settings .members-short-p{max-width:612px;margin-left:auto;margin-right:auto}.members_page_members-settings .welcome-panel-content{text-align:center}}.members_page_members-settings .welcome-panel .button.button-hero{margin-left:auto;margin-right:auto}.members_page_members-settings .members-svg-wrap{display:inline-block;margin:0 auto 20px}@media screen and (max-width:870px){.members_page_members-settings .welcome-panel{padding:20px}.members_page_members-settings .members-svg-wrap{float:left;margin-right:28px}.admin_page_members-settings.rtl .members-svg-wrap{float:right;margin-right:0;margin-left:28px}}.members_page_members-settings .members-svg-link{display:table-cell;text-align:center;width:128px;height:128px;background:#363b3f;color:#fff;padding:24px 16px 16px;border-radius:50%;-webkit-box-sizing:border-box;box-sizing:border-box;border:4px solid #fff;-webkit-box-shadow:0 0 0 4px #363b3f;box-shadow:0 0 0 4px #363b3f}.members_page_members-settings .members-svg-link svg{max-width:84px;max-height:64px;width:auto;height:auto}.members-addons{display:grid;grid-template-columns:1fr 1fr;padding-right:9px}.members-addons .plugin-card-top{width:100%}.members-addon{width:100%;position:relative;float:none;display:-webkit-box;display:-ms-flexbox;display:flex;-webkit-box-align:center;-ms-flex-align:center;align-items:center}.members-addon .desc{margin-bottom:80px}.addon-activate{text-align:center;border:1px solid #ddd;border-radius:3px;padding:5px 10px 10px;display:inline-block;width:100px;position:absolute;right:20px;bottom:20px}.activate-toggle:hover{cursor:pointer}.activate-toggle svg{max-width:20px;position:relative;top:5px}.activate-toggle svg{-webkit-transform:rotate(180deg);transform:rotate(180deg)}.activate-toggle svg.active{-webkit-transform:rotate(0);transform:rotate(0)}.activate-toggle svg path{fill:#ccc}.activate-toggle svg.active path{fill:#8cbd5a}.activate-toggle.processing{cursor:not-allowed;pointer-events:none;opacity:.5}.activate-toggle .action-label{display:inline-block;width:50px;text-align:left}.mepr_dummy_txns{-webkit-filter:blur(3px);filter:blur(3px);position:absolute;top:0;left:0;width:100%;z-index:5;pointer-events:none}.mepr_dummy_txns::after{background-color:rgba(0,0,0,.2);position:absolute;top:0;left:0;width:100%;height:100%;z-index:6}.mepr-upgrade-table{position:relative}.mepr-upgrade-table .mepr-upgrade{position:relative;top:100px;z-index:10;background:rgba(0,0,0,.2);width:100%;height:100%;max-width:600px;margin:0 auto;-webkit-box-shadow:0 0 30px #ccc;box-shadow:0 0 30px #ccc}.mepr-upgrade-content{background-color:#fff;padding:20px;text-align:center}.mepr-upgrade-content h2{font-size:24px}.mepr-upgrade-content h4{font-size:18px}.mepr-upgrade-content .features{display:grid;grid-template-columns:1fr 1fr;grid-column-gap:30px;grid-row-gap:10px;-webkit-box-align:center;-ms-flex-align:center;align-items:center;-webkit-box-pack:center;-ms-flex-pack:center;justify-content:center;text-align:left;padding:10px}.features li:before{content:"\f147";font-family:dashicons;color:green;font-size:20px;position:relative;top:4px;margin-right:10px}.mepr-upgrade-cta{text-align:center;background-color:#f2f2f2;padding:20px}.mepr-upgrade-cta .mepr-cta-button{display:block;max-width:300px;margin:0 auto 20px;background-color:#fd9c27;color:#fff;padding:15px;font-size:18px;font-weight:bold;text-decoration:none;border-radius:300px}.members-plugin-card.plugin-card:nth-child(even){margin-right:inherit}.members-plugin-card.plugin-card:nth-child(odd){clear:none;margin-left:inherit}.members-plugin-card.plugin-card .plugin-card-top{min-height:0;padding:30px 20px}.members-plugin-card.plugin-card .plugin-icon{top:30px}.members-plugin-card.plugin-card .plugin-card-bottom .column-status{font-weight:bold}.members-plugin-card.plugin-card .plugin-card-bottom .column-status .active{color:#8cbd5a}.members-plugin-card.plugin-card .plugin-card-bottom .column-status .inactive{color:red}.members-plugin-card.plugin-card .plugin-icon{width:64px;height:auto}.members-plugin-card.plugin-card .name,.members-plugin-card.plugin-card .desc{margin-right:0;margin-left:84px}.memberpress-about .welcome-panel-column-container{display:-webkit-box;display:-ms-flexbox;display:flex}.memberpress-about .mp-logo{max-width:256px;margin:50px}.members-about-addons{display:grid;grid-template-columns:repeat(3,1fr);grid-column-gap:20px}.members-about-addons .members-plugin-card{margin:0;width:100%}.members-about-addons .members-plugin-card .name h3 a{text-decoration:none}.members-about-addons .members-plugin-card .plugin-card-bottom{display:-webkit-box;display:-ms-flexbox;display:flex;-webkit-box-align:center;-ms-flex-align:center;align-items:center;-webkit-box-pack:justify;-ms-flex-pack:justify;justify-content:space-between}@media only screen and (min-width:783px){.members_page_roles .column-users,.members_page_roles .column-granted_caps,.members_page_roles .column-denied_caps{width:100px;text-align:center}}.members-title-div #titlewrap input{padding:0 8px;font-size:1.7em;line-height:normal;height:1.7em;width:100%;outline:0;margin:0 0 3px;background-color:#fff}.members-title-div input[name="role"]{font-size:13px;height:22px;margin:0;width:16em}#tabcapsdiv{margin-top:1em}#tabcapsdiv>.hndle{padding:10px;border-bottom:1px solid #eee}#tabcapsdiv .inside,#members-cp .inside{margin:0;padding:0}.members-cap-tabs,.members-tabs{overflow:hidden;background:#fff;background:-webkit-gradient(linear,left top,right top,from(#fafafa),color-stop(20%,#fafafa),color-stop(20%,#fff),to(#fff));background:linear-gradient(90deg,#fafafa 0,#fafafa 20%,#fff 20%,#fff 100%)}@media only screen and (max-width:782px){.members-cap-tabs,.members-tabs{background:linear-gradient(90deg,#fafafa 0,#fafafa 48px,#fff 48px,#fff 100%)}}.members-cap-tabs .members-tab-nav,.members-tabs .members-tab-nav{position:relative;float:left;list-style:none;width:20%;line-height:1em;margin:0 0 -1px 0;padding:0;background-color:#fafafa;border-right:1px solid #eee;-webkit-box-sizing:border-box;box-sizing:border-box}.members-cap-tabs .members-tab-nav li,.members-tabs .members-tab-nav li{display:block;position:relative;margin:0;padding:0;line-height:20px}.members-cap-tabs .members-tab-nav li a,.members-tabs .members-tab-nav li a{display:block;margin:0;padding:10px;line-height:20px !important;text-decoration:none;border-bottom:1px solid #eee;-webkit-box-shadow:none;box-shadow:none}.members-cap-tabs .members-tab-nav li a .dashicons,.members-tabs .members-tab-nav li a .dashicons{line-height:20px;margin-right:3px}.members-cap-tabs .members-tab-nav li[aria-selected="true"] a,.members-tabs .members-tab-nav li[aria-selected="true"] a{position:relative;font-weight:bold;color:#555;background-color:#e0e0e0}@media only screen and (max-width:782px){.members-cap-tabs .members-tab-nav,.members-tabs .members-tab-nav{width:48px}.members-cap-tabs .members-tab-nav li a .dashicons,.members-tabs .members-tab-nav li a .dashicons{width:24px;height:24px;font-size:24px;line-height:24px}.members-tab-nav li .dashicons::before,.members-tab-nav li .dashicons::before{width:24px;height:24px}.members-tab-nav li .label{overflow:hidden;position:absolute;top:-1000em;left:-1000em;width:1px;height:1px}}.members-cap-tabs .members-tab-wrap,.members-tabs .members-tab-wrap{float:left;width:80%;margin-left:-1px}@media only screen and (max-width:782px){.members-cap-tabs .members-tab-wrap,.members-tabs .members-tab-wrap{width:calc(100% - 48px)}}#members-cp .members-tab-content{padding:10px;border-left:1px solid #e5e5e5}@media only screen and (min-width:850px){#side-sortables .members-tabs{background:#fff}#side-sortables .members-tabs .members-tab-wrap{width:100%}#side-sortables .members-tabs .members-tab-nav{display:table;width:100%}#side-sortables .members-tabs .members-tab-nav li{display:table-cell;text-align:center;border-right:1px solid #eee}#side-sortables .members-tabs .members-tab-nav li:last-of-type{border-right:0}#side-sortables .members-tabs .members-tab-nav li a{padding:10px 0}#side-sortables .members-tabs .members-tab-nav .dashicons{width:24px;height:24px;font-size:24px;line-height:24px}#side-sortables .members-tabs .members-tab-nav .dashicons::before{width:24px;height:24px}#side-sortables .members-tabs .members-tab-nav .label{overflow:hidden;position:absolute;top:-1000em;left:-1000em;width:1px;height:1px}}.members-tabs .members-tabs-label{display:block !important;font-weight:bold;display:inline-block;margin-bottom:4px}.members-tabs .butterbean-control-checkbox .members-tabs-label{display:inline !important}.members-tabs .members-tabs-description{display:block;font-style:italic;margin-top:4px}.members-tabs .members-tabs-label+.members-tabs-description{margin-top:0;margin-bottom:4px}#tabcapsdiv table{border-right:0;border-top:0;border-bottom:0}#tabcapsdiv table td,#tabcapsdiv table th{padding:10px;padding-bottom:10px;border-bottom:1px solid #eee;font-size:13px;line-height:20px}#tabcapsdiv table td{padding:9px}#tabcapsdiv tbody tr:last-of-type td{border-bottom:0}#tabcapsdiv tfoot th{border-color:#eee}@media only screen and (max-width:782px){#tabcapsdiv table td,#tabcapsdiv table th{line-height:24px}}.members-roles-select .column-grant,.members-roles-select .column-deny{width:70px !important;text-align:center;display:table-cell !important;clear:none !important}.members-cap-tabs button{display:inline;margin:-4px;line-height:inherit;padding:4px 8px;border:1px solid transparent;background:transparent;border-radius:0;outline:0;-webkit-transition:all .25s ease-out;transition:all .25s ease-out}.members-cap-tabs button:hover,.members-cap-tabs button:focus{border-color:#eee;background:#fafafa;cursor:pointer}.members-cap-tabs button:active{color:#0073aa;border-color:#0073aa}.members-cap-tabs button+.dashicons{display:none;margin-top:1px;margin-bottom:-1px;line-height:inherit}.members-cap-tabs button:hover+.dashicons,.members-cap-tabs button:focus+.dashicons{display:inline-block}.members-tab-content .members-highlight{background-color:rgba(0,115,170,0.05)}.members-tab-content tbody{-webkit-transition:all 2s ease-in-out;transition:all 2s ease-in-out}.members-cp-role-list-wrap{overflow:auto;min-height:42px;max-height:200px;padding:0 .9em;border:solid 1px #dfdfdf;background-color:#fdfdfd}
1
+ #members-cp h2.hndle,#members-cp-side h2.hndle{border-bottom:none !important;-webkit-box-pack:start;-ms-flex-pack:start;justify-content:flex-start}#members-cp h2.hndle svg,#members-cp-side h2.hndle svg{margin-right:5px}#members-cp-side .postbox-header{border-bottom:none !important}#members-cp-side .handle-actions .handle-order-higher,#members-cp-side .handle-actions .handle-order-lower{display:none}#members-cp-side .handle-actions .handlediv{position:absolute;right:5px}.members-upgrade-header{text-align:center;padding:5px}.members-upgrade-header a{color:#f59431}.memberpress-paid-memberships{background-color:#f5f5f5;padding:50px 10px;text-align:center}.memberpress-paid-memberships a{background-color:#0e4598;display:inline-block;padding:10px 20px;border-radius:300px;color:#fff;text-decoration:none;margin-top:20px}#members-cp-side .members-tabs{position:relative}#members-cp-side .members-tab-nav{background-color:transparent;margin-bottom:20px;border-right:none !important}#members-cp-side .members-tab-nav .members-tab-title{width:33.333%;height:50px;border-right:none !important}#members-cp-side .members-tab-nav .members-tab-title a{border:0}#members-cp-side .members-tab-content h3{font-weight:bold;font-size:15px;margin-top:0;color:#000;margin-bottom:10px}#members-cp-side .members-tab-content .memberpress-paid-memberships{text-align:left;padding:20px}#members-cp-side .members-tab-content .memberpress-paid-memberships a{display:block;text-align:center}#members-cp-side .members-tabs .members-tab-nav li a i,#members-cp-side .members-tabs .members-tab-nav li[aria-selected="false"] a i{color:#555}#members-cp-side .members-tabs .members-tab-nav li a svg,#members-cp-side .members-tabs .members-tab-nav li[aria-selected="false"] a svg{fill:#555}#members-cp-side .members-tabs .members-tab-nav li[aria-selected="true"] a{background-color:transparent;border-bottom:2px solid #3582ae}#members-cp-side .members-tabs .members-tab-nav li[aria-selected="true"] a i{color:#3582ae}#members-cp-side .members-tabs .members-tab-nav li[aria-selected="true"] a svg{fill:#3582ae}.members-tab-title svg,.members-tab-title[aria-selected="false"] svg{fill:#0073aa}.members-tab-title[aria-selected="true"] svg{fill:#555}#wpcontent #members-admin-header{margin-left:-20px;padding:0;padding-left:22px;background-color:#f9f9f9;background-repeat:repeat;background-size:1200px 75px;min-height:36px;position:relative}#wpcontent #members-admin-header img.members-logo{height:90px}.members-upgrade-header #close-members-upgrade-header{position:absolute;right:20px;top:3px}.members-upgrade-header #close-members-upgrade-header:hover{cursor:pointer}.members_page_members-settings .welcome-panel{margin-top:0;padding:40px 20px}.members_page_members-settings .welcome-panel .about-description{margin:20px 0}.members_page_members-settings .welcome-panel-content{margin:0}@media screen and (min-width:870px){.members_page_members-settings .members-short-p{max-width:612px;margin-left:auto;margin-right:auto}.members_page_members-settings .welcome-panel-content{text-align:center}}.members_page_members-settings .welcome-panel .button.button-hero{margin-left:auto;margin-right:auto}.members_page_members-settings .members-svg-wrap{display:inline-block;margin:0 auto 20px}@media screen and (max-width:870px){.members_page_members-settings .welcome-panel{padding:20px}.members_page_members-settings .members-svg-wrap{float:left;margin-right:28px}.admin_page_members-settings.rtl .members-svg-wrap{float:right;margin-right:0;margin-left:28px}}.members_page_members-settings .members-svg-link{display:table-cell;text-align:center;width:128px;height:128px;background:#363b3f;color:#fff;padding:24px 16px 16px;border-radius:50%;-webkit-box-sizing:border-box;box-sizing:border-box;border:4px solid #fff;-webkit-box-shadow:0 0 0 4px #363b3f;box-shadow:0 0 0 4px #363b3f}.members_page_members-settings .members-svg-link svg{max-width:84px;max-height:64px;width:auto;height:auto}.members-addons{display:grid;grid-template-columns:1fr 1fr;padding-right:9px}.members-addons .plugin-card-top{width:100%}.members-addon{width:100%;position:relative;float:none;display:-webkit-box;display:-ms-flexbox;display:flex;-webkit-box-align:center;-ms-flex-align:center;align-items:center}.members-addon .desc{margin-bottom:80px}.addon-activate{text-align:center;border:1px solid #ddd;border-radius:3px;padding:5px 10px 10px;display:inline-block;width:100px;position:absolute;right:20px;bottom:20px}.activate-toggle:hover{cursor:pointer}.activate-toggle svg{max-width:20px;position:relative;top:5px}.activate-toggle svg{-webkit-transform:rotate(180deg);transform:rotate(180deg)}.activate-toggle svg.active{-webkit-transform:rotate(0);transform:rotate(0)}.activate-toggle svg path{fill:#ccc}.activate-toggle svg.active path{fill:#8cbd5a}.activate-toggle.processing{cursor:not-allowed;pointer-events:none;opacity:.5}.activate-toggle .action-label{display:inline-block;width:50px;text-align:left}.mepr_dummy_txns{-webkit-filter:blur(3px);filter:blur(3px);position:absolute;top:0;left:0;width:100%;z-index:5;pointer-events:none}.mepr_dummy_txns::after{background-color:rgba(0,0,0,.2);position:absolute;top:0;left:0;width:100%;height:100%;z-index:6}.mepr-upgrade-table{position:relative}.mepr-upgrade-table .mepr-upgrade{position:relative;top:100px;z-index:10;background:rgba(0,0,0,.2);width:100%;height:100%;max-width:600px;margin:0 auto;-webkit-box-shadow:0 0 30px #ccc;box-shadow:0 0 30px #ccc}.mepr-upgrade-content{background-color:#fff;padding:20px;text-align:center}.mepr-upgrade-content h2{font-size:24px}.mepr-upgrade-content h4{font-size:18px}.mepr-upgrade-content .features{display:grid;grid-template-columns:1fr 1fr;grid-column-gap:30px;grid-row-gap:10px;-webkit-box-align:center;-ms-flex-align:center;align-items:center;-webkit-box-pack:center;-ms-flex-pack:center;justify-content:center;text-align:left;padding:10px}.features li:before{content:"\f147";font-family:dashicons;color:green;font-size:20px;position:relative;top:4px;margin-right:10px}.mepr-upgrade-cta{text-align:center;background-color:#f2f2f2;padding:20px}.mepr-upgrade-cta .mepr-cta-button{display:block;max-width:300px;margin:0 auto 20px;background-color:#fd9c27;color:#fff;padding:15px;font-size:18px;font-weight:bold;text-decoration:none;border-radius:300px}.members-plugin-card.plugin-card:nth-child(even){margin-right:inherit}.members-plugin-card.plugin-card:nth-child(odd){clear:none;margin-left:inherit}.members-plugin-card.plugin-card .plugin-card-top{min-height:0;padding:30px 20px}.members-plugin-card.plugin-card .plugin-icon{top:30px}.members-plugin-card.plugin-card .plugin-card-bottom .column-status{font-weight:bold}.members-plugin-card.plugin-card .plugin-card-bottom .column-status .active{color:#8cbd5a}.members-plugin-card.plugin-card .plugin-card-bottom .column-status .inactive{color:red}.members-plugin-card.plugin-card .plugin-icon{width:64px;height:auto}.plugin-icon-small{width:32px;height:auto}.members-plugin-card.plugin-card .name,.members-plugin-card.plugin-card .desc{margin-right:0;margin-left:84px}.memberpress-about .welcome-panel-column-container{display:-webkit-box;display:-ms-flexbox;display:flex}.memberpress-about .mp-logo{max-width:256px;margin:50px}.members-about-addons{display:grid;grid-template-columns:repeat(3,1fr);grid-column-gap:20px}.members-about-addons .members-plugin-card{margin:0;width:100%}.members-about-addons .members-plugin-card .name h3 a{text-decoration:none}.members-about-addons .members-plugin-card .plugin-card-bottom{display:-webkit-box;display:-ms-flexbox;display:flex;-webkit-box-align:center;-ms-flex-align:center;align-items:center;-webkit-box-pack:justify;-ms-flex-pack:justify;justify-content:space-between}@media only screen and (min-width:783px){.members_page_roles .column-users,.members_page_roles .column-granted_caps,.members_page_roles .column-denied_caps{width:100px;text-align:center}}.members-title-div #titlewrap input{padding:0 8px;font-size:1.7em;line-height:normal;height:1.7em;width:100%;outline:0;margin:0 0 3px;background-color:#fff}.members-title-div input[name="role"]{font-size:13px;height:22px;margin:0;width:16em}#tabcapsdiv{margin-top:1em}#tabcapsdiv>.hndle{padding:10px;border-bottom:1px solid #eee}#tabcapsdiv .inside,#members-cp .inside{margin:0;padding:0}.members-cap-tabs,.members-tabs{overflow:hidden;background:#fff;background:-webkit-gradient(linear,left top,right top,from(#fafafa),color-stop(20%,#fafafa),color-stop(20%,#fff),to(#fff));background:linear-gradient(90deg,#fafafa 0,#fafafa 20%,#fff 20%,#fff 100%)}@media only screen and (max-width:782px){.members-cap-tabs,.members-tabs{background:linear-gradient(90deg,#fafafa 0,#fafafa 48px,#fff 48px,#fff 100%)}}.members-cap-tabs .members-tab-nav,.members-tabs .members-tab-nav{position:relative;float:left;list-style:none;width:20%;line-height:1em;margin:0 0 -1px 0;padding:0;background-color:#fafafa;border-right:1px solid #eee;-webkit-box-sizing:border-box;box-sizing:border-box}.members-cap-tabs .members-tab-nav li,.members-tabs .members-tab-nav li{display:block;position:relative;margin:0;padding:0;line-height:20px}.members-cap-tabs .members-tab-nav li a,.members-tabs .members-tab-nav li a{display:block;margin:0;padding:10px;line-height:20px !important;text-decoration:none;border-bottom:1px solid #eee;-webkit-box-shadow:none;box-shadow:none}.members-cap-tabs .members-tab-nav li a .dashicons,.members-tabs .members-tab-nav li a .dashicons{line-height:20px;margin-right:3px}.members-cap-tabs .members-tab-nav li[aria-selected="true"] a,.members-tabs .members-tab-nav li[aria-selected="true"] a{position:relative;font-weight:bold;color:#555;background-color:#e0e0e0}@media only screen and (max-width:782px){.members-cap-tabs .members-tab-nav,.members-tabs .members-tab-nav{width:48px}.members-cap-tabs .members-tab-nav li a .dashicons,.members-tabs .members-tab-nav li a .dashicons{width:24px;height:24px;font-size:24px;line-height:24px}.members-tab-nav li .dashicons::before,.members-tab-nav li .dashicons::before{width:24px;height:24px}.members-tab-nav li .label{overflow:hidden;position:absolute;top:-1000em;left:-1000em;width:1px;height:1px}}.members-cap-tabs .members-tab-wrap,.members-tabs .members-tab-wrap{float:left;width:80%;margin-left:-1px}@media only screen and (max-width:782px){.members-cap-tabs .members-tab-wrap,.members-tabs .members-tab-wrap{width:calc(100% - 48px)}}#members-cp .members-tab-content{padding:10px;border-left:1px solid #e5e5e5}@media only screen and (min-width:850px){#side-sortables .members-tabs{background:#fff}#side-sortables .members-tabs .members-tab-wrap{width:100%}#side-sortables .members-tabs .members-tab-nav{display:table;width:100%}#side-sortables .members-tabs .members-tab-nav li{display:table-cell;text-align:center;border-right:1px solid #eee}#side-sortables .members-tabs .members-tab-nav li:last-of-type{border-right:0}#side-sortables .members-tabs .members-tab-nav li a{padding:10px 0}#side-sortables .members-tabs .members-tab-nav .dashicons{width:24px;height:24px;font-size:24px;line-height:24px}#side-sortables .members-tabs .members-tab-nav .dashicons::before{width:24px;height:24px}#side-sortables .members-tabs .members-tab-nav .label{overflow:hidden;position:absolute;top:-1000em;left:-1000em;width:1px;height:1px}}.members-tabs .members-tabs-label{display:block !important;font-weight:bold;display:inline-block;margin-bottom:4px}.members-tabs .butterbean-control-checkbox .members-tabs-label{display:inline !important}.members-tabs .members-tabs-description{display:block;font-style:italic;margin-top:4px}.members-tabs .members-tabs-label+.members-tabs-description{margin-top:0;margin-bottom:4px}#tabcapsdiv table{border-right:0;border-top:0;border-bottom:0}#tabcapsdiv table td,#tabcapsdiv table th{padding:10px;padding-bottom:10px;border-bottom:1px solid #eee;font-size:13px;line-height:20px}#tabcapsdiv table td{padding:9px}#tabcapsdiv tbody tr:last-of-type td{border-bottom:0}#tabcapsdiv tfoot th{border-color:#eee}@media only screen and (max-width:782px){#tabcapsdiv table td,#tabcapsdiv table th{line-height:24px}}.members-roles-select .column-grant,.members-roles-select .column-deny{width:70px !important;text-align:center;display:table-cell !important;clear:none !important}.members-cap-tabs button{display:inline;margin:-4px;line-height:inherit;padding:4px 8px;border:1px solid transparent;background:transparent;border-radius:0;outline:0;-webkit-transition:all .25s ease-out;transition:all .25s ease-out}.members-cap-tabs button:hover,.members-cap-tabs button:focus{border-color:#eee;background:#fafafa;cursor:pointer}.members-cap-tabs button:active{color:#0073aa;border-color:#0073aa}.members-cap-tabs button+.dashicons{display:none;margin-top:1px;margin-bottom:-1px;line-height:inherit}.members-cap-tabs button:hover+.dashicons,.members-cap-tabs button:focus+.dashicons{display:inline-block}.members-tab-content .members-highlight{background-color:rgba(0,115,170,0.05)}.members-tab-content tbody{-webkit-transition:all 2s ease-in-out;transition:all 2s ease-in-out}.members-cp-role-list-wrap{overflow:auto;min-height:42px;max-height:200px;padding:0 .9em;border:solid 1px #dfdfdf;background-color:#fdfdfd}
lang/members.pot CHANGED
@@ -33,7 +33,7 @@ msgid "Permissions"
33
  msgstr ""
34
 
35
  #: members.php:455, addons/members-block-permissions/src/Editor.php:131, addons/members-block-permissions/src/Editor.php:132
36
- msgid "To protect this block by paid membership or centrally with a content protection rule, upgrade to MemberPress."
37
  msgstr ""
38
 
39
  #: admin/class-cap-control.php:118, admin/functions-admin.php:48
33
  msgstr ""
34
 
35
  #: members.php:455, addons/members-block-permissions/src/Editor.php:131, addons/members-block-permissions/src/Editor.php:132
36
+ msgid "To protect this block by paid membership or centrally with a content protection rule, add MemberPress."
37
  msgstr ""
38
 
39
  #: admin/class-cap-control.php:118, admin/functions-admin.php:48
members.php CHANGED
@@ -3,7 +3,7 @@
3
  * Plugin Name: Members
4
  * Plugin URI: https://memberpress.com/plugins/members
5
  * Description: A user and role management plugin that puts you in full control of your site's permissions. This plugin allows you to edit your roles and their capabilities, clone existing roles, assign multiple roles per user, block post content, or even make your site completely private.
6
- * Version: 3.1.6
7
  * Author: MemberPress
8
  * Author URI: https://memberpress.com
9
  * Text Domain: members
@@ -431,7 +431,7 @@ final class Members_Plugin {
431
  public function run_addon_activator( $addon ) {
432
 
433
  if ( file_exists( trailingslashit( __DIR__ ) . "addons/{$addon}/src/Activator.php" ) ) {
434
-
435
  // Require the add-on file
436
  include "addons/{$addon}/src/Activator.php";
437
 
@@ -458,7 +458,7 @@ final class Members_Plugin {
458
  ), null, true );
459
  wp_localize_script( 'block-editor-mp-upsell', 'membersUpsell', array(
460
  'title' => __( 'Permissions', 'members' ),
461
- 'message' => __( 'To protect this block by paid membership or centrally with a content protection rule, upgrade to MemberPress.', 'members' )
462
  ) );
463
  }
464
  }
3
  * Plugin Name: Members
4
  * Plugin URI: https://memberpress.com/plugins/members
5
  * Description: A user and role management plugin that puts you in full control of your site's permissions. This plugin allows you to edit your roles and their capabilities, clone existing roles, assign multiple roles per user, block post content, or even make your site completely private.
6
+ * Version: 3.1.7
7
  * Author: MemberPress
8
  * Author URI: https://memberpress.com
9
  * Text Domain: members
431
  public function run_addon_activator( $addon ) {
432
 
433
  if ( file_exists( trailingslashit( __DIR__ ) . "addons/{$addon}/src/Activator.php" ) ) {
434
+
435
  // Require the add-on file
436
  include "addons/{$addon}/src/Activator.php";
437
 
458
  ), null, true );
459
  wp_localize_script( 'block-editor-mp-upsell', 'membersUpsell', array(
460
  'title' => __( 'Permissions', 'members' ),
461
+ 'message' => __( 'To protect this block by paid membership or centrally with a content protection rule, add MemberPress.', 'members' )
462
  ) );
463
  }
464
  }
readme.txt CHANGED
@@ -6,7 +6,7 @@ Tags: memberpress, member-type, access-control, permissions, members-only, secur
6
  Requires at least: 4.7
7
  Tested up to: 5.8
8
  Requires PHP: 5.6
9
- Stable tag: 3.1.6
10
  License: GPLv2 or later
11
  License URI: http://www.gnu.org/licenses/gpl-2.0.html
12
 
@@ -57,7 +57,7 @@ For more info, visit the [Members plugin home page](https://memberpress.com/plug
57
 
58
  The Members plugin is a massive project with 1,000s of lines of code to maintain. A major update can take weeks or months of work. We don’t make any money directly from this plugin while other, similar plugins charge substantial fees to even download them or get updates. Please consider helping the cause by:
59
 
60
- * [Upgrading to MemberPress](https://memberpress.com/?utm_source=members_plugin&utm_medium=link&utm_campaign=readme&utm_content=memberpress_upgrade).
61
  * [Rating the plugin](https://wordpress.org/support/plugin/members/reviews/?filter=5#new-post).
62
 
63
  ### Professional Support
@@ -122,4 +122,4 @@ You'll need to stop by our [support forums](https://memberpress.com/plugins/memb
122
 
123
  == Changelog ==
124
 
125
- The change log is located in the `changelog.md` file in the plugin folder. You may also [view the change log](https://github.com/caseproof/members/blob/master/changelog.md) online.
6
  Requires at least: 4.7
7
  Tested up to: 5.8
8
  Requires PHP: 5.6
9
+ Stable tag: 3.1.7
10
  License: GPLv2 or later
11
  License URI: http://www.gnu.org/licenses/gpl-2.0.html
12
 
57
 
58
  The Members plugin is a massive project with 1,000s of lines of code to maintain. A major update can take weeks or months of work. We don’t make any money directly from this plugin while other, similar plugins charge substantial fees to even download them or get updates. Please consider helping the cause by:
59
 
60
+ * [Adding MemberPress](https://memberpress.com/?utm_source=members_plugin&utm_medium=link&utm_campaign=readme&utm_content=memberpress_upgrade).
61
  * [Rating the plugin](https://wordpress.org/support/plugin/members/reviews/?filter=5#new-post).
62
 
63
  ### Professional Support
122
 
123
  == Changelog ==
124
 
125
+ The change log is located in the `changelog.md` file in the plugin folder. You may also [view the change log](https://github.com/caseproof/members/blob/master/changelog.md) online.