Simple Membership - Version 3.5.7

Version Description

  • Added updated German translation file.
  • Fixed a permissions check bug (thanks to Neb).
  • Fixed a potential XSS vulnerability.
Download this release

Release Info

Developer mra13
Plugin Icon 128x128 Simple Membership
Version 3.5.7
Comparing to
See all releases

Code changes from version 3.5.4 to 3.5.7

Files changed (88) hide show
  1. classes/class.simple-wp-membership.php +10 -10
  2. classes/class.swpm-auth.php +75 -28
  3. classes/class.swpm-init-time-tasks.php +4 -4
  4. classes/class.swpm-permission.php +1 -1
  5. classes/class.swpm-settings.php +13 -12
  6. classes/class.swpm-utils.php +2 -2
  7. ipn/swpm-stripe-buy-now-ipn.php +1 -1
  8. ipn/swpm-stripe-subscription-ipn.php +4 -5
  9. ipn/swpm_handle_subsc_ipn.php +35 -34
  10. languages/{swpm-ar_SA.mo → simple-membership-ar_SA.mo} +0 -0
  11. languages/{swpm-ar_SA.po → simple-membership-ar_SA.po} +0 -0
  12. languages/{swpm-bs_BA.mo → simple-membership-bs_BA.mo} +0 -0
  13. languages/{swpm-bs_BA.po → simple-membership-bs_BA.po} +0 -0
  14. languages/{swpm-ca_ES.mo → simple-membership-ca_ES.mo} +0 -0
  15. languages/{swpm-ca_ES.po → simple-membership-ca_ES.po} +0 -0
  16. languages/{swpm-cs_CZ.mo → simple-membership-cs_CZ.mo} +0 -0
  17. languages/{swpm-cs_CZ.po → simple-membership-cs_CZ.po} +0 -0
  18. languages/{swpm-da_DK.mo → simple-membership-da_DK.mo} +0 -0
  19. languages/{swpm-da_DK.po → simple-membership-da_DK.po} +0 -0
  20. languages/simple-membership-de_DE.mo +0 -0
  21. languages/simple-membership-de_DE.po +2080 -0
  22. languages/{swpm-el_GR.mo → simple-membership-el_GR.mo} +0 -0
  23. languages/{swpm-el_GR.po → simple-membership-el_GR.po} +0 -0
  24. languages/{swpm-es_ES.mo → simple-membership-es_ES.mo} +0 -0
  25. languages/{swpm-es_ES.po → simple-membership-es_ES.po} +0 -0
  26. languages/{swpm-es_MX.mo → simple-membership-es_MX.mo} +0 -0
  27. languages/{swpm-es_MX.po → simple-membership-es_MX.po} +0 -0
  28. languages/{swpm-et_EE.mo → simple-membership-et_EE.mo} +0 -0
  29. languages/{swpm-et_EE.po → simple-membership-et_EE.po} +0 -0
  30. languages/{swpm-fi_FI.mo → simple-membership-fi_FI.mo} +0 -0
  31. languages/{swpm-fi_FI.po → simple-membership-fi_FI.po} +0 -0
  32. languages/{swpm-fr_FR.mo → simple-membership-fr_FR.mo} +0 -0
  33. languages/{swpm-fr_FR.po → simple-membership-fr_FR.po} +0 -0
  34. languages/{swpm-he_IL.mo → simple-membership-he_IL.mo} +0 -0
  35. languages/{swpm-he_IL.po → simple-membership-he_IL.po} +0 -0
  36. languages/{swpm-hu_HU.mo → simple-membership-hu_HU.mo} +0 -0
  37. languages/{swpm-hu_HU.po → simple-membership-hu_HU.po} +0 -0
  38. languages/{swpm-id_ID.mo → simple-membership-id_ID.mo} +0 -0
  39. languages/{swpm-id_ID.po → simple-membership-id_ID.po} +0 -0
  40. languages/{swpm-it_IT.mo → simple-membership-it_IT.mo} +0 -0
  41. languages/{swpm-it_IT.po → simple-membership-it_IT.po} +0 -0
  42. languages/{swpm-ja.mo → simple-membership-ja.mo} +0 -0
  43. languages/{swpm-ja.po → simple-membership-ja.po} +1 -1
  44. languages/{swpm-ja_JA.mo → simple-membership-ja_JA.mo} +0 -0
  45. languages/{swpm-ja_JA.po → simple-membership-ja_JA.po} +0 -0
  46. languages/{swpm-lt_LT.mo → simple-membership-lt_LT.mo} +0 -0
  47. languages/{swpm-lt_LT.po → simple-membership-lt_LT.po} +0 -0
  48. languages/{swpm-lv_LV.mo → simple-membership-lv_LV.mo} +0 -0
  49. languages/{swpm-lv_LV.po → simple-membership-lv_LV.po} +0 -0
  50. languages/{swpm-mk_MK.mo → simple-membership-mk_MK.mo} +0 -0
  51. languages/{swpm-mk_MK.po → simple-membership-mk_MK.po} +0 -0
  52. languages/{swpm-nb_NO.mo → simple-membership-nb_NO.mo} +0 -0
  53. languages/{swpm-nb_NO.po → simple-membership-nb_NO.po} +0 -0
  54. languages/{swpm-nl_BE.mo → simple-membership-nl_BE.mo} +0 -0
  55. languages/{swpm-nl_BE.po → simple-membership-nl_BE.po} +0 -0
  56. languages/{swpm-nl_NL.mo → simple-membership-nl_NL.mo} +0 -0
  57. languages/{swpm-nl_NL.po → simple-membership-nl_NL.po} +0 -0
  58. languages/{swpm-pl_PL.mo → simple-membership-pl_PL.mo} +0 -0
  59. languages/{swpm-pl_PL.po → simple-membership-pl_PL.po} +0 -0
  60. languages/{swpm-pt_BR.mo → simple-membership-pt_BR.mo} +0 -0
  61. languages/{swpm-pt_BR.po → simple-membership-pt_BR.po} +0 -0
  62. languages/{swpm-pt_PT.mo → simple-membership-pt_PT.mo} +0 -0
  63. languages/{swpm-pt_PT.po → simple-membership-pt_PT.po} +0 -0
  64. languages/{swpm-ro_RO.mo → simple-membership-ro_RO.mo} +0 -0
  65. languages/{swpm-ro_RO.po → simple-membership-ro_RO.po} +0 -0
  66. languages/{swpm-ru_RU.mo → simple-membership-ru_RU.mo} +0 -0
  67. languages/{swpm-ru_RU.po → simple-membership-ru_RU.po} +0 -0
  68. languages/{swpm-sk_SK.mo → simple-membership-sk_SK.mo} +0 -0
  69. languages/{swpm-sk_SK.po → simple-membership-sk_SK.po} +0 -0
  70. languages/{swpm-sr_RS.mo → simple-membership-sr_RS.mo} +0 -0
  71. languages/{swpm-sr_RS.po → simple-membership-sr_RS.po} +0 -0
  72. languages/{swpm-sv_SE.mo → simple-membership-sv_SE.mo} +0 -0
  73. languages/{swpm-sv_SE.po → simple-membership-sv_SE.po} +0 -0
  74. languages/{swpm-tr_TR.mo → simple-membership-tr_TR.mo} +0 -0
  75. languages/{swpm-tr_TR.po → simple-membership-tr_TR.po} +0 -0
  76. languages/{swpm-zh_CN.mo → simple-membership-zh_CN.mo} +0 -0
  77. languages/{swpm-zh_CN.po → simple-membership-zh_CN.po} +0 -0
  78. languages/{swpm-zh_Hans.mo → simple-membership-zh_Hans.mo} +0 -0
  79. languages/{swpm-zh_Hans.po → simple-membership-zh_Hans.po} +0 -0
  80. languages/{swpm.pot → simple-membership.pot} +0 -0
  81. languages/swpm-de_DE.mo +0 -0
  82. languages/swpm-de_DE.po +0 -710
  83. readme.txt +14 -1
  84. simple-wp-membership.php +3 -2
  85. views/payments/payment-gateway/admin_paypal_buy_now_button.php +2 -0
  86. views/payments/payment-gateway/admin_paypal_subscription_button.php +10 -8
  87. views/payments/payment-gateway/admin_stripe_subscription_button.php +7 -6
  88. views/payments/payment-gateway/stripe_button_shortcode_view.php +16 -12
classes/class.simple-wp-membership.php CHANGED
@@ -375,7 +375,7 @@ class SimpleWpMembership {
375
  if (function_exists('add_meta_box')) {
376
  $post_types = get_post_types();
377
  foreach ($post_types as $post_type => $post_type) {
378
- add_meta_box('swpm_sectionid', __('Simple WP Membership Protection', 'swpm'), array(&$this, 'inner_custom_box'), $post_type, 'advanced');
379
  }
380
  } else {//older version doesn't have custom post type so modification isn't needed.
381
  add_action('dbx_post_advanced', array(&$this, 'show_old_custom_box'));
@@ -387,7 +387,7 @@ class SimpleWpMembership {
387
  echo '<div class="dbx-b-ox-wrapper">' . "\n";
388
  echo '<fieldset id="swpm_fieldsetid" class="dbx-box">' . "\n";
389
  echo '<div class="dbx-h-andle-wrapper"><h3 class="dbx-handle">' .
390
- __('Simple Membership Protection options', 'swpm') . "</h3></div>";
391
  echo '<div class="dbx-c-ontent-wrapper"><div class="dbx-content">';
392
  // output editing form
393
  $this->inner_custom_box();
@@ -405,12 +405,12 @@ class SimpleWpMembership {
405
  echo '<input type="hidden" name="swpm_post_protection_box_nonce" value="' . wp_create_nonce('swpm_post_protection_box_nonce_action') . '" />';
406
 
407
  // The actual fields for data entry
408
- echo '<h4>' . __("Do you want to protect this content?", 'swpm') . '</h4>';
409
  echo '<input type="radio" ' . ((!$is_protected) ? 'checked' : "") . ' name="swpm_protect_post" value="1" /> No, Do not protect this content. <br/>';
410
  echo '<input type="radio" ' . (($is_protected) ? 'checked' : "") . ' name="swpm_protect_post" value="2" /> Yes, Protect this content.<br/>';
411
  echo $protection_obj->get_last_message();
412
 
413
- echo '<h4>' . __("Select the membership level that can access this content:", 'swpm') . "</h4>";
414
  $query = "SELECT * FROM " . $wpdb->prefix . "swpm_membership_tbl WHERE id !=1 ";
415
  $levels = $wpdb->get_results($query, ARRAY_A);
416
  foreach ($levels as $level) {
@@ -594,12 +594,12 @@ class SimpleWpMembership {
594
  public function menu() {
595
  $menu_parent_slug = 'simple_wp_membership';
596
 
597
- add_menu_page(__("WP Membership", 'swpm'), __("WP Membership", 'swpm'), SWPM_MANAGEMENT_PERMISSION, $menu_parent_slug, array(&$this, "admin_members_menu"), 'dashicons-id');
598
- add_submenu_page($menu_parent_slug, __("Members", 'swpm'), __('Members', 'swpm'), SWPM_MANAGEMENT_PERMISSION, 'simple_wp_membership', array(&$this, "admin_members_menu"));
599
- add_submenu_page($menu_parent_slug, __("Membership Levels", 'swpm'), __("Membership Levels", 'swpm'), SWPM_MANAGEMENT_PERMISSION, 'simple_wp_membership_levels', array(&$this, "admin_membership_levels_menu"));
600
- add_submenu_page($menu_parent_slug, __("Settings", 'swpm'), __("Settings", 'swpm'), SWPM_MANAGEMENT_PERMISSION, 'simple_wp_membership_settings', array(&$this, "admin_settings_menu"));
601
- add_submenu_page($menu_parent_slug, __("Payments", 'swpm'), __("Payments", 'swpm'), SWPM_MANAGEMENT_PERMISSION, 'simple_wp_membership_payments', array(&$this, "admin_payments_menu"));
602
- add_submenu_page($menu_parent_slug, __("Add-ons", 'swpm'), __("Add-ons", 'swpm'), SWPM_MANAGEMENT_PERMISSION, 'simple_wp_membership_addons', array(&$this, "admin_add_ons_menu"));
603
 
604
  do_action('swpm_after_main_admin_menu', $menu_parent_slug);
605
 
375
  if (function_exists('add_meta_box')) {
376
  $post_types = get_post_types();
377
  foreach ($post_types as $post_type => $post_type) {
378
+ add_meta_box('swpm_sectionid', __('Simple WP Membership Protection', 'simple-membership'), array(&$this, 'inner_custom_box'), $post_type, 'advanced');
379
  }
380
  } else {//older version doesn't have custom post type so modification isn't needed.
381
  add_action('dbx_post_advanced', array(&$this, 'show_old_custom_box'));
387
  echo '<div class="dbx-b-ox-wrapper">' . "\n";
388
  echo '<fieldset id="swpm_fieldsetid" class="dbx-box">' . "\n";
389
  echo '<div class="dbx-h-andle-wrapper"><h3 class="dbx-handle">' .
390
+ __('Simple Membership Protection options', 'simple-membership') . "</h3></div>";
391
  echo '<div class="dbx-c-ontent-wrapper"><div class="dbx-content">';
392
  // output editing form
393
  $this->inner_custom_box();
405
  echo '<input type="hidden" name="swpm_post_protection_box_nonce" value="' . wp_create_nonce('swpm_post_protection_box_nonce_action') . '" />';
406
 
407
  // The actual fields for data entry
408
+ echo '<h4>' . __("Do you want to protect this content?", 'simple-membership') . '</h4>';
409
  echo '<input type="radio" ' . ((!$is_protected) ? 'checked' : "") . ' name="swpm_protect_post" value="1" /> No, Do not protect this content. <br/>';
410
  echo '<input type="radio" ' . (($is_protected) ? 'checked' : "") . ' name="swpm_protect_post" value="2" /> Yes, Protect this content.<br/>';
411
  echo $protection_obj->get_last_message();
412
 
413
+ echo '<h4>' . __("Select the membership level that can access this content:", 'simple-membership') . "</h4>";
414
  $query = "SELECT * FROM " . $wpdb->prefix . "swpm_membership_tbl WHERE id !=1 ";
415
  $levels = $wpdb->get_results($query, ARRAY_A);
416
  foreach ($levels as $level) {
594
  public function menu() {
595
  $menu_parent_slug = 'simple_wp_membership';
596
 
597
+ add_menu_page(__("WP Membership", 'simple-membership'), __("WP Membership", 'simple-membership'), SWPM_MANAGEMENT_PERMISSION, $menu_parent_slug, array(&$this, "admin_members_menu"), 'dashicons-id');
598
+ add_submenu_page($menu_parent_slug, __("Members", 'simple-membership'), __('Members', 'simple-membership'), SWPM_MANAGEMENT_PERMISSION, 'simple_wp_membership', array(&$this, "admin_members_menu"));
599
+ add_submenu_page($menu_parent_slug, __("Membership Levels", 'simple-membership'), __("Membership Levels", 'simple-membership'), SWPM_MANAGEMENT_PERMISSION, 'simple_wp_membership_levels', array(&$this, "admin_membership_levels_menu"));
600
+ add_submenu_page($menu_parent_slug, __("Settings", 'simple-membership'), __("Settings", 'simple-membership'), SWPM_MANAGEMENT_PERMISSION, 'simple_wp_membership_settings', array(&$this, "admin_settings_menu"));
601
+ add_submenu_page($menu_parent_slug, __("Payments", 'simple-membership'), __("Payments", 'simple-membership'), SWPM_MANAGEMENT_PERMISSION, 'simple_wp_membership_payments', array(&$this, "admin_payments_menu"));
602
+ add_submenu_page($menu_parent_slug, __("Add-ons", 'simple-membership'), __("Add-ons", 'simple-membership'), SWPM_MANAGEMENT_PERMISSION, 'simple_wp_membership_addons', array(&$this, "admin_add_ons_menu"));
603
 
604
  do_action('swpm_after_main_admin_menu', $menu_parent_slug);
605
 
classes/class.swpm-auth.php CHANGED
@@ -38,44 +38,43 @@ class SwpmAuth {
38
 
39
  if (!empty($swpm_user_name) && !empty($swpm_password)) {
40
  //SWPM member login request.
41
-
42
  //Trigger action hook that can be used to check stuff before the login request is processed by the plugin.
43
  $args = array('username' => $swpm_user_name, 'password' => $swpm_password);
44
  do_action('swpm_before_login_request_is_processed', $args);
45
-
46
  //First, lets make sure this user is not already logged into the site as an "Admin" user. We don't want to override that admin login session.
47
  if (current_user_can('administrator')) {
48
  //This user is logged in as ADMIN then trying to do another login as a member. Stop the login request processing (we don't want to override your admin login session).
49
  $error_msg = '';
50
- $error_msg .= '<p>'.SwpmUtils::_('Warning! Simple Membership plugin cannot process this login request to prevent you from getting logged out of WP Admin accidentally.').'</p>';
51
- $error_msg .= '<p>'.SwpmUtils::_('You are logged into the site as an ADMIN user in this browser. First, logout from WP Admin then you will be able to log in as a member.').'</p>';
52
- $error_msg .= '<p>'.SwpmUtils::_('Alternatively, you can use a different browser (where you are not logged-in as ADMIN) to test the membership login.').'</p>';
53
- $error_msg .= '<p>'.SwpmUtils::_('Your normal visitors or members will never see this message. This message is ONLY for ADMIN user.').'</p>';
54
  wp_die($error_msg);
55
  }
56
-
57
  //If captcha is present and validation failed, it returns an error string. If validation succeeds, it returns an empty string.
58
  $captcha_validation_output = apply_filters('swpm_validate_login_form_submission', '');
59
  if (!empty($captcha_validation_output)) {
60
  $this->lastStatusMsg = SwpmUtils::_('Captcha validation failed on login form.');
61
  return;
62
  }
63
-
64
- if(is_email($swpm_user_name)){//User is trying to log-in using an email address
65
  $email = sanitize_email($swpm_user_name);
66
  $query = $wpdb->prepare("SELECT user_name FROM " . $wpdb->prefix . "swpm_members_tbl WHERE email = %s", $email);
67
  $username = $wpdb->get_var($query);
68
- if($username){//Found a user record
69
- $swpm_user_name = $username;//Grab the usrename value so it can be used in the authentication process.
70
- SwpmLog::log_auth_debug("Authentication request using email address: " . $email.', Found a user record with username: '.$swpm_user_name, true);
71
  }
72
  }
73
-
74
  //Lets process the request. Check username and password
75
  $user = sanitize_user($swpm_user_name);
76
  $pass = trim($swpm_password);
77
  SwpmLog::log_auth_debug("Authentication request - Username: " . $swpm_user_name, true);
78
-
79
  $query = "SELECT * FROM " . $wpdb->prefix . "swpm_members_tbl WHERE user_name = %s";
80
  $userData = $wpdb->get_row($wpdb->prepare($query, $user));
81
  $this->userData = $userData;
@@ -98,7 +97,7 @@ class SwpmAuth {
98
  $this->set_cookie($remember);
99
  $this->isLoggedIn = true;
100
  $this->lastStatusMsg = "Logged In.";
101
- SwpmLog::log_auth_debug("Authentication successful for username: ".$user.". Executing swpm_login action hook.", true);
102
  do_action('swpm_login', $user, $pass, $remember);
103
  return true;
104
  }
@@ -116,13 +115,9 @@ class SwpmAuth {
116
  //Update the last accessed date and IP address for this login attempt. $wpdb->update(table, data, where, format, where format)
117
  $last_accessed_date = current_time('mysql');
118
  $last_accessed_ip = SwpmUtils::get_user_ip_address();
119
- $wpdb->update($wpdb->prefix . 'swpm_members_tbl',
120
- array('last_accessed' => $last_accessed_date, 'last_accessed_from_ip' => $last_accessed_ip),
121
- array('member_id' => $this->userData->member_id),
122
- array('%s', '%s'),
123
- array('%d')
124
- );
125
-
126
  //Check the member's account status.
127
  $can_login = true;
128
  if ($this->userData->account_state == 'inactive' && empty($enable_expired_login)) {
@@ -134,7 +129,7 @@ class SwpmAuth {
134
  } else if ($this->userData->account_state == 'pending') {
135
  $this->lastStatusMsg = SwpmUtils::_('Account is pending.');
136
  $can_login = false;
137
- }
138
 
139
  if (!$can_login) {
140
  $this->isLoggedIn = false;
@@ -215,7 +210,7 @@ class SwpmAuth {
215
  }
216
 
217
  setcookie("swpm_in_use", "swpm_in_use", $expire, COOKIEPATH, COOKIE_DOMAIN);
218
-
219
  $expiration_timestamp = SwpmUtils::get_expiration_timestamp($this->userData);
220
  $enable_expired_login = SwpmSettings::get_instance()->get_value('enable-expired-account-login', '');
221
  // make sure cookie doesn't live beyond account expiration date.
@@ -242,7 +237,7 @@ class SwpmAuth {
242
  if (count($cookie_elements) != 3) {
243
  return false;
244
  }
245
-
246
  //SwpmLog::log_auth_debug("validate() - " . $_COOKIE[$auth_cookie_name], true);
247
  list($username, $expiration, $hmac) = $cookie_elements;
248
  $expired = $expiration;
@@ -256,7 +251,7 @@ class SwpmAuth {
256
  SwpmLog::log_auth_debug("validate() - Session Expired", true);
257
  return false;
258
  }
259
-
260
  global $wpdb;
261
  $query = " SELECT * FROM " . $wpdb->prefix . "swpm_members_tbl WHERE user_name = %s";
262
  $user = $wpdb->get_row($wpdb->prepare($query, $username));
@@ -273,7 +268,7 @@ class SwpmAuth {
273
  SwpmLog::log_auth_debug("validate() - Bad Hash", true);
274
  return false;
275
  }
276
-
277
  if ($expiration < time()) {
278
  $GLOBALS['login_grace_period'] = 1;
279
  }
@@ -320,6 +315,58 @@ class SwpmAuth {
320
  }
321
  $user_name = $this->get('user_name');
322
  $user_id = $this->get('member_id');
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
323
  wp_clear_auth_cookie();
324
  $this->logout();
325
  SwpmMembers::delete_swpm_user_by_id($user_id);
@@ -340,7 +387,7 @@ class SwpmAuth {
340
  return null;
341
  }
342
  $account_status = $this->get('account_state');
343
- if($account_status == 'expired' || $account_status == 'inactive'){
344
  //Expired or Inactive accounts are both considered to be expired.
345
  return true;
346
  }
38
 
39
  if (!empty($swpm_user_name) && !empty($swpm_password)) {
40
  //SWPM member login request.
 
41
  //Trigger action hook that can be used to check stuff before the login request is processed by the plugin.
42
  $args = array('username' => $swpm_user_name, 'password' => $swpm_password);
43
  do_action('swpm_before_login_request_is_processed', $args);
44
+
45
  //First, lets make sure this user is not already logged into the site as an "Admin" user. We don't want to override that admin login session.
46
  if (current_user_can('administrator')) {
47
  //This user is logged in as ADMIN then trying to do another login as a member. Stop the login request processing (we don't want to override your admin login session).
48
  $error_msg = '';
49
+ $error_msg .= '<p>' . SwpmUtils::_('Warning! Simple Membership plugin cannot process this login request to prevent you from getting logged out of WP Admin accidentally.') . '</p>';
50
+ $error_msg .= '<p>' . SwpmUtils::_('You are logged into the site as an ADMIN user in this browser. First, logout from WP Admin then you will be able to log in as a member.') . '</p>';
51
+ $error_msg .= '<p>' . SwpmUtils::_('Alternatively, you can use a different browser (where you are not logged-in as ADMIN) to test the membership login.') . '</p>';
52
+ $error_msg .= '<p>' . SwpmUtils::_('Your normal visitors or members will never see this message. This message is ONLY for ADMIN user.') . '</p>';
53
  wp_die($error_msg);
54
  }
55
+
56
  //If captcha is present and validation failed, it returns an error string. If validation succeeds, it returns an empty string.
57
  $captcha_validation_output = apply_filters('swpm_validate_login_form_submission', '');
58
  if (!empty($captcha_validation_output)) {
59
  $this->lastStatusMsg = SwpmUtils::_('Captcha validation failed on login form.');
60
  return;
61
  }
62
+
63
+ if (is_email($swpm_user_name)) {//User is trying to log-in using an email address
64
  $email = sanitize_email($swpm_user_name);
65
  $query = $wpdb->prepare("SELECT user_name FROM " . $wpdb->prefix . "swpm_members_tbl WHERE email = %s", $email);
66
  $username = $wpdb->get_var($query);
67
+ if ($username) {//Found a user record
68
+ $swpm_user_name = $username; //Grab the usrename value so it can be used in the authentication process.
69
+ SwpmLog::log_auth_debug("Authentication request using email address: " . $email . ', Found a user record with username: ' . $swpm_user_name, true);
70
  }
71
  }
72
+
73
  //Lets process the request. Check username and password
74
  $user = sanitize_user($swpm_user_name);
75
  $pass = trim($swpm_password);
76
  SwpmLog::log_auth_debug("Authentication request - Username: " . $swpm_user_name, true);
77
+
78
  $query = "SELECT * FROM " . $wpdb->prefix . "swpm_members_tbl WHERE user_name = %s";
79
  $userData = $wpdb->get_row($wpdb->prepare($query, $user));
80
  $this->userData = $userData;
97
  $this->set_cookie($remember);
98
  $this->isLoggedIn = true;
99
  $this->lastStatusMsg = "Logged In.";
100
+ SwpmLog::log_auth_debug("Authentication successful for username: " . $user . ". Executing swpm_login action hook.", true);
101
  do_action('swpm_login', $user, $pass, $remember);
102
  return true;
103
  }
115
  //Update the last accessed date and IP address for this login attempt. $wpdb->update(table, data, where, format, where format)
116
  $last_accessed_date = current_time('mysql');
117
  $last_accessed_ip = SwpmUtils::get_user_ip_address();
118
+ $wpdb->update($wpdb->prefix . 'swpm_members_tbl', array('last_accessed' => $last_accessed_date, 'last_accessed_from_ip' => $last_accessed_ip), array('member_id' => $this->userData->member_id), array('%s', '%s'), array('%d')
119
+ );
120
+
 
 
 
 
121
  //Check the member's account status.
122
  $can_login = true;
123
  if ($this->userData->account_state == 'inactive' && empty($enable_expired_login)) {
129
  } else if ($this->userData->account_state == 'pending') {
130
  $this->lastStatusMsg = SwpmUtils::_('Account is pending.');
131
  $can_login = false;
132
+ }
133
 
134
  if (!$can_login) {
135
  $this->isLoggedIn = false;
210
  }
211
 
212
  setcookie("swpm_in_use", "swpm_in_use", $expire, COOKIEPATH, COOKIE_DOMAIN);
213
+
214
  $expiration_timestamp = SwpmUtils::get_expiration_timestamp($this->userData);
215
  $enable_expired_login = SwpmSettings::get_instance()->get_value('enable-expired-account-login', '');
216
  // make sure cookie doesn't live beyond account expiration date.
237
  if (count($cookie_elements) != 3) {
238
  return false;
239
  }
240
+
241
  //SwpmLog::log_auth_debug("validate() - " . $_COOKIE[$auth_cookie_name], true);
242
  list($username, $expiration, $hmac) = $cookie_elements;
243
  $expired = $expiration;
251
  SwpmLog::log_auth_debug("validate() - Session Expired", true);
252
  return false;
253
  }
254
+
255
  global $wpdb;
256
  $query = " SELECT * FROM " . $wpdb->prefix . "swpm_members_tbl WHERE user_name = %s";
257
  $user = $wpdb->get_row($wpdb->prepare($query, $username));
268
  SwpmLog::log_auth_debug("validate() - Bad Hash", true);
269
  return false;
270
  }
271
+
272
  if ($expiration < time()) {
273
  $GLOBALS['login_grace_period'] = 1;
274
  }
315
  }
316
  $user_name = $this->get('user_name');
317
  $user_id = $this->get('member_id');
318
+ $subscr_id = $this->get('subscr_id');
319
+ $email = $this->get('email');
320
+ // let's check if Stripe subscription needs to be cancelled as well
321
+ global $wpdb;
322
+ $q = $wpdb->prepare('SELECT *
323
+ FROM `' . $wpdb->prefix . 'swpm_payments_tbl`
324
+ WHERE email = %s
325
+ AND gateway = "stripe"
326
+ AND subscr_id = %s
327
+ LIMIT 1', array($email, $subscr_id));
328
+
329
+ $member = $wpdb->get_row($q, ARRAY_A);
330
+ if (!is_null($member)) {
331
+ //looks like we need to cancel Stripe subscription
332
+ $pieces = explode('|', $subscr_id);
333
+ if (!empty($pieces)) {
334
+ $subscr_id = $pieces[0];
335
+ $button_id = $pieces[1];
336
+ SwpmLog::log_simple_debug("Attempting to cancel Stripe Subscription #" . $subscr_id, true);
337
+ //check if button exists
338
+ if (get_post($button_id)) {
339
+ $settings = SwpmSettings::get_instance();
340
+ $sandbox_enabled = $settings->get_value('enable-sandbox-testing');
341
+ if ($sandbox_enabled) {
342
+ SwpmLog::log_simple_debug("Sandbox payment mode is enabled. Using test API key details.", true);
343
+ $secret_key = get_post_meta($button_id, 'stripe_test_secret_key', true);
344
+ ; //Use sandbox API key
345
+ } else {
346
+ $secret_key = get_post_meta($button_id, 'stripe_live_secret_key', true);
347
+ ; //Use live API key
348
+ }
349
+ //Include the Stripe library.
350
+ include(SIMPLE_WP_MEMBERSHIP_PATH . 'lib/stripe-gateway/init.php');
351
+ \Stripe\Stripe::setApiKey($secret_key);
352
+ // Let's try to cancel subscription
353
+ try {
354
+ $sub = \Stripe\Subscription::retrieve($subscr_id);
355
+ $sub->cancel();
356
+ } catch (Exception $e) {
357
+ SwpmLog::log_simple_debug("Error occured during Stripe Subscription cancellation. " . $e->getMessage(), false);
358
+ $body = $e->getJsonBody();
359
+ $error = $body['error'];
360
+ $error_string = print_r($error, true);
361
+ SwpmLog::log_simple_debug("Error details: " . $error_string, false);
362
+ }
363
+ if (!isset($error)) {
364
+ SwpmLog::log_simple_debug("Stripe Subscription has been cancelled.", true);
365
+ }
366
+ }
367
+ }
368
+ }
369
+
370
  wp_clear_auth_cookie();
371
  $this->logout();
372
  SwpmMembers::delete_swpm_user_by_id($user_id);
387
  return null;
388
  }
389
  $account_status = $this->get('account_state');
390
+ if ($account_status == 'expired' || $account_status == 'inactive') {
391
  //Expired or Inactive accounts are both considered to be expired.
392
  return true;
393
  }
classes/class.swpm-init-time-tasks.php CHANGED
@@ -10,9 +10,9 @@ class SwpmInitTimeTasks {
10
 
11
  //Set up localisation. First loaded ones will override strings present in later loaded file.
12
  //Allows users to have a customized language in a different folder.
13
- $locale = apply_filters('plugin_locale', get_locale(), 'swpm');
14
- load_textdomain('swpm', WP_LANG_DIR . "/swpm-$locale.mo");
15
- load_plugin_textdomain('swpm', false, SIMPLE_WP_MEMBERSHIP_DIRNAME . '/languages/');
16
 
17
  if (!isset($_COOKIE['swpm_session'])) { // give a unique ID to current session.
18
  $uid = md5(microtime());
@@ -118,7 +118,7 @@ class SwpmInitTimeTasks {
118
  }
119
  if ($auth->match_password($password)) {
120
  $auth->delete();
121
- wp_redirect(home_url());
122
  exit(0);
123
  } else {
124
  SwpmUtils::account_delete_confirmation_ui(SwpmUtils::_("Sorry, Password didn't match."));
10
 
11
  //Set up localisation. First loaded ones will override strings present in later loaded file.
12
  //Allows users to have a customized language in a different folder.
13
+ $locale = apply_filters('plugin_locale', get_locale(), 'simple-membership');
14
+ load_textdomain('simple-membership', WP_LANG_DIR . "/simple-membership-$locale.mo");
15
+ load_plugin_textdomain('simple-membership', false, SIMPLE_WP_MEMBERSHIP_DIRNAME . '/languages/');
16
 
17
  if (!isset($_COOKIE['swpm_session'])) { // give a unique ID to current session.
18
  $uid = md5(microtime());
118
  }
119
  if ($auth->match_password($password)) {
120
  $auth->delete();
121
+ wp_safe_redirect(get_home_url());
122
  exit(0);
123
  } else {
124
  SwpmUtils::account_delete_confirmation_ui(SwpmUtils::_("Sorry, Password didn't match."));
classes/class.swpm-permission.php CHANGED
@@ -11,7 +11,7 @@ class SwpmPermission extends SwpmProtectionBase {
11
  }
12
 
13
  public static function get_instance($level_id) {
14
- if ($level_id == 1 || $level_id == md5(1)) {
15
  wp_die('Invalid Membership level!');
16
  }
17
  $key = is_numeric($level_id) ? md5($level_id) : $level_id;
11
  }
12
 
13
  public static function get_instance($level_id) {
14
+ if ($level_id === 1 || $level_id === md5(1)) {
15
  wp_die('Invalid Membership level!');
16
  }
17
  $key = is_numeric($level_id) ? md5($level_id) : $level_id;
classes/class.swpm-settings.php CHANGED
@@ -18,8 +18,7 @@ class SwpmSettings {
18
  if (is_admin()) { // for frontend just load settings but dont try to render settings page.
19
 
20
  //Read the value of tab query arg.
21
- $tab = filter_input(INPUT_GET, 'tab');
22
- $tab = empty($tab) ? filter_input(INPUT_POST, 'tab') : $tab;
23
  $this->current_tab = empty($tab) ? 1 : $tab;
24
 
25
  //Setup the available settings tabs array.
@@ -303,43 +302,45 @@ class SwpmSettings {
303
  }
304
 
305
  public function general_settings_callback() {
306
- _e('General Plugin Settings.', 'swpm');
307
  }
308
 
309
  public function pages_settings_callback() {
310
- _e('Page Setup and URL Related settings.', 'swpm');
311
  }
312
 
313
  public function testndebug_settings_callback() {
314
- _e('Testing and Debug Related Settings.', 'swpm');
315
  }
316
 
317
  public function reg_email_settings_callback() {
318
- _e('This email will be sent to your users when they complete the registration and become a member.', 'swpm');
319
  }
320
 
321
  public function reset_password_settings_callback() {
322
- _e('This email will be sent to your users when they use the password reset functionality.', 'swpm');
323
  }
324
 
325
  public function email_misc_settings_callback() {
326
- _e('Settings in this section apply to all emails.', 'swpm');
327
  }
328
 
329
  public function upgrade_email_settings_callback() {
330
- _e('This email will be sent to your users after account upgrade (when an existing member pays for a new membership level).', 'swpm');
331
  }
332
 
333
  public function bulk_activate_email_settings_callback() {
334
- _e('This email will be sent to your members when you use the bulk account activate and notify action.', 'swpm');
 
 
335
  }
336
 
337
  public function reg_prompt_email_settings_callback() {
338
- _e('This email will be sent to prompt users to complete registration after the payment.', 'swpm');
339
  }
340
 
341
  public function advanced_settings_callback() {
342
- _e('This page allows you to configure some advanced features of the plugin.', 'swpm');
343
  }
344
 
345
  public function sanitize_tab_1($input) {
18
  if (is_admin()) { // for frontend just load settings but dont try to render settings page.
19
 
20
  //Read the value of tab query arg.
21
+ $tab = isset( $_REQUEST['tab'] ) ? sanitize_text_field($_REQUEST['tab']) : 1;
 
22
  $this->current_tab = empty($tab) ? 1 : $tab;
23
 
24
  //Setup the available settings tabs array.
302
  }
303
 
304
  public function general_settings_callback() {
305
+ SwpmUtils::e('General Plugin Settings.');
306
  }
307
 
308
  public function pages_settings_callback() {
309
+ SwpmUtils::e('Page Setup and URL Related settings.');
310
  }
311
 
312
  public function testndebug_settings_callback() {
313
+ SwpmUtils::e('Testing and Debug Related Settings.');
314
  }
315
 
316
  public function reg_email_settings_callback() {
317
+ SwpmUtils::e('This email will be sent to your users when they complete the registration and become a member.');
318
  }
319
 
320
  public function reset_password_settings_callback() {
321
+ SwpmUtils::e('This email will be sent to your users when they use the password reset functionality.');
322
  }
323
 
324
  public function email_misc_settings_callback() {
325
+ SwpmUtils::e('Settings in this section apply to all emails.');
326
  }
327
 
328
  public function upgrade_email_settings_callback() {
329
+ SwpmUtils::e('This email will be sent to your users after account upgrade (when an existing member pays for a new membership level).');
330
  }
331
 
332
  public function bulk_activate_email_settings_callback() {
333
+ SwpmUtils::e('This email will be sent to your members when you use the bulk account activate and notify action.');
334
+ SwpmUtils::e(' You cannot use email marge tags in this email. You can only use generic text.');
335
+
336
  }
337
 
338
  public function reg_prompt_email_settings_callback() {
339
+ SwpmUtils::e('This email will be sent to prompt users to complete registration after the payment.');
340
  }
341
 
342
  public function advanced_settings_callback() {
343
+ SwpmUtils::e('This page allows you to configure some advanced features of the plugin.');
344
  }
345
 
346
  public function sanitize_tab_1($input) {
classes/class.swpm-utils.php CHANGED
@@ -351,11 +351,11 @@ abstract class SwpmUtils {
351
  }
352
 
353
  public static function _($msg) {
354
- return __($msg, 'swpm');
355
  }
356
 
357
  public static function e($msg) {
358
- _e($msg, 'swpm');
359
  }
360
 
361
  public static function is_admin() {
351
  }
352
 
353
  public static function _($msg) {
354
+ return __($msg, 'simple-membership');
355
  }
356
 
357
  public static function e($msg) {
358
+ _e($msg, 'simple-membership');
359
  }
360
 
361
  public static function is_admin() {
ipn/swpm-stripe-buy-now-ipn.php CHANGED
@@ -114,7 +114,7 @@ class SwpmStripeBuyNowIpnHandler {
114
  $ipn_data['payer_email'] = $stripe_email;
115
  $ipn_data['membership_level'] = $membership_level_id;
116
  $ipn_data['txn_id'] = $txn_id;
117
- $ipn_data['subscr_id'] = $txn_id;
118
  $ipn_data['swpm_id'] = $swpm_id;
119
  $ipn_data['ip'] = $custom_var['user_ip'];
120
  $ipn_data['custom'] = $custom;
114
  $ipn_data['payer_email'] = $stripe_email;
115
  $ipn_data['membership_level'] = $membership_level_id;
116
  $ipn_data['txn_id'] = $txn_id;
117
+ $ipn_data['subscr_id'] = '';
118
  $ipn_data['swpm_id'] = $swpm_id;
119
  $ipn_data['ip'] = $custom_var['user_ip'];
120
  $ipn_data['custom'] = $custom;
ipn/swpm-stripe-subscription-ipn.php CHANGED
@@ -120,11 +120,10 @@ class SwpmStripeSubscriptionIpnHandler {
120
  SwpmLog::log_simple_debug("Error details: " . $error_string, false);
121
  }
122
 
123
- //Grab the charge ID and set it as the transaction ID.
124
  $txn_id = $customer->id; //$charge->balance_transaction;
125
- //The charge ID can be used to
126
- // retrieve the transaction details using hte following call.
127
- //\Stripe\Charge::retrieve($charge->id);
128
  $custom = sanitize_text_field($_REQUEST['custom']);
129
  $custom_var = SwpmTransactions::parse_custom_var($custom);
130
  $swpm_id = isset($custom_var['swpm_id']) ? $custom_var['swpm_id'] : '';
@@ -139,7 +138,7 @@ class SwpmStripeSubscriptionIpnHandler {
139
  $ipn_data['payer_email'] = $stripe_email;
140
  $ipn_data['membership_level'] = $membership_level_id;
141
  $ipn_data['txn_id'] = $txn_id;
142
- $ipn_data['subscr_id'] = $txn_id;
143
  $ipn_data['swpm_id'] = $swpm_id;
144
  $ipn_data['ip'] = $custom_var['user_ip'];
145
  $ipn_data['custom'] = $custom;
120
  SwpmLog::log_simple_debug("Error details: " . $error_string, false);
121
  }
122
 
123
+ //Grab customer ID and set it as the transaction ID.
124
  $txn_id = $customer->id; //$charge->balance_transaction;
125
+ //Grab subscription ID
126
+ $subscr_id = $customer->subscriptions->data[0]->id;
 
127
  $custom = sanitize_text_field($_REQUEST['custom']);
128
  $custom_var = SwpmTransactions::parse_custom_var($custom);
129
  $swpm_id = isset($custom_var['swpm_id']) ? $custom_var['swpm_id'] : '';
138
  $ipn_data['payer_email'] = $stripe_email;
139
  $ipn_data['membership_level'] = $membership_level_id;
140
  $ipn_data['txn_id'] = $txn_id;
141
+ $ipn_data['subscr_id'] = $subscr_id . '|' . $button_id;
142
  $ipn_data['swpm_id'] = $swpm_id;
143
  $ipn_data['ip'] = $custom_var['user_ip'];
144
  $ipn_data['custom'] = $custom;
ipn/swpm_handle_subsc_ipn.php CHANGED
@@ -5,7 +5,12 @@ function swpm_handle_subsc_signup_stand_alone($ipn_data, $subsc_ref, $unique_ref
5
  $settings = SwpmSettings::get_instance();
6
  $members_table_name = $wpdb->prefix . "swpm_members_tbl";
7
  $membership_level = $subsc_ref;
8
- $subscr_id = $unique_ref;
 
 
 
 
 
9
 
10
  swpm_debug_log_subsc("swpm_handle_subsc_signup_stand_alone(). Custom value: " . $ipn_data['custom'] . ", Unique reference: " . $unique_ref, true);
11
  $custom_vars = parse_str($ipn_data['custom']);
@@ -39,7 +44,7 @@ function swpm_handle_subsc_signup_stand_alone($ipn_data, $subsc_ref, $unique_ref
39
 
40
  //Upgrade the member account
41
  $account_state = 'active'; //This is renewal or upgrade of a previously active account. So the status should be set to active
42
-
43
  $resultset = $wpdb->get_row($wpdb->prepare("SELECT * FROM $members_table_name where member_id=%d", $swpm_id), OBJECT);
44
  if (!$resultset) {
45
  swpm_debug_log_subsc("ERROR! Could not find a member account record for the given Member ID: " . $swpm_id, false);
@@ -52,7 +57,7 @@ function swpm_handle_subsc_signup_stand_alone($ipn_data, $subsc_ref, $unique_ref
52
  $subscription_starts = SwpmMemberUtils::calculate_access_start_date_for_account_update($args);
53
  $subscription_starts = apply_filters('swpm_account_update_subscription_starts', $subscription_starts, $args);
54
  swpm_debug_log_subsc("Setting access starts date value to: " . $subscription_starts, true);
55
-
56
  swpm_debug_log_subsc("Updating the current membership level (" . $old_membership_level . ") of this member to the newly paid level (" . $membership_level . ")", true);
57
  //Set account status to active, update level to the newly paid level, update access start date, update subsriber ID (if applicable).
58
  $updatedb = $wpdb->prepare("UPDATE $members_table_name SET account_state=%s, membership_level=%d,subscription_starts=%s,subscr_id=%s WHERE member_id=%d", $account_state, $membership_level, $subscription_starts, $subscr_id, $swpm_id);
@@ -70,7 +75,7 @@ function swpm_handle_subsc_signup_stand_alone($ipn_data, $subsc_ref, $unique_ref
70
  $body = "Your account has been upgraded successfully";
71
  }
72
  $from_address = $settings->get_value('email-from');
73
-
74
  $additional_args = array();
75
  $email_body = SwpmMiscUtils::replace_dynamic_tags($body, $swpm_id, $additional_args);
76
  $headers = 'From: ' . $from_address . "\r\n";
@@ -95,8 +100,8 @@ function swpm_handle_subsc_signup_stand_alone($ipn_data, $subsc_ref, $unique_ref
95
  $data['address_street'] = $ipn_data['address_street'];
96
  $data['address_city'] = $ipn_data['address_city'];
97
  $data['address_state'] = $ipn_data['address_state'];
98
- $data['address_zipcode'] = isset($ipn_data['address_zip'])? $ipn_data['address_zip'] : '';
99
- $data['country'] = isset($ipn_data['address_country'])? $ipn_data['address_country'] : '';
100
  $data['member_since'] = $data['subscription_starts'] = $data['last_accessed'] = date("Y-m-d");
101
  $data['account_state'] = $default_account_status;
102
  $reg_code = uniqid();
@@ -106,7 +111,7 @@ function swpm_handle_subsc_signup_stand_alone($ipn_data, $subsc_ref, $unique_ref
106
  $data['subscr_id'] = $subscr_id;
107
  $data['last_accessed_from_ip'] = isset($user_ip) ? $user_ip : ''; //Save the users IP address
108
 
109
- $data = array_filter($data);//Remove any null values.
110
  $wpdb->insert($members_table_name, $data); //Create the member record
111
  $results = $wpdb->get_row($wpdb->prepare("SELECT * FROM $members_table_name where subscr_id=%s and reg_code=%s", $subscr_id, $md5_code), OBJECT);
112
  $id = $results->member_id; //Alternatively use $wpdb->insert_id;
@@ -134,33 +139,34 @@ function swpm_handle_subsc_signup_stand_alone($ipn_data, $subsc_ref, $unique_ref
134
  }
135
  $from_address = $settings->get_value('email-from');
136
  $body = html_entity_decode($body);
137
-
138
  $additional_args = array('reg_link' => $reg_url);
139
- $email_body = SwpmMiscUtils::replace_dynamic_tags($body, $id, $additional_args);
140
  $headers = 'From: ' . $from_address . "\r\n";
141
  }
142
 
143
- $subject=apply_filters('swpm_email_signup_upgrade_complete_subject',$subject);
144
- $email_body=apply_filters('swpm_email_signup_upgrade_complete_body',$email_body);
145
  wp_mail($email, $subject, $email_body, $headers);
146
  swpm_debug_log_subsc("Member signup/upgrade completion email successfully sent to: " . $email, true);
147
  }
148
 
149
- /*
150
  * All in one function that can handle notification for refund, cancellation, end of term
151
  */
 
152
  function swpm_handle_subsc_cancel_stand_alone($ipn_data, $refund = false) {
153
-
154
  global $wpdb;
155
  $members_table_name = $wpdb->prefix . "swpm_members_tbl";
156
-
157
  $customvariables = SwpmTransactions::parse_custom_var($ipn_data['custom']);
158
  $swpm_id = $customvariables['swpm_id'];
159
 
160
  swpm_debug_log_subsc("Refund/Cancellation check - lets see if a member account needs to be deactivated.", true);
161
  //swpm_debug_log_subsc("Parent txn id: " . $ipn_data['parent_txn_id'] . ", Subscr ID: " . $ipn_data['subscr_id'] . ", SWPM ID: " . $swpm_id, true);
162
 
163
- if(!empty($swpm_id)){
164
  //This IPN has the SWPM ID. Retrieve the member record using member ID.
165
  swpm_debug_log_subsc("Member ID is present. Retrieving member account from the database. Member ID: " . $swpm_id, true);
166
  $resultset = SwpmMemberUtils::get_user_by_id($swpm_id);
@@ -174,42 +180,39 @@ function swpm_handle_subsc_cancel_stand_alone($ipn_data, $refund = false) {
174
  $subscr_id = $ipn_data['parent_txn_id'];
175
  $resultset = $wpdb->get_row($wpdb->prepare("SELECT * FROM $members_table_name where subscr_id=%s", $subscr_id), OBJECT);
176
  }
177
-
178
  if ($resultset) {
179
  //We have found a member profile for this notification.
180
-
181
  $member_id = $resultset->member_id;
182
-
183
  //First, check if this is a refund notification.
184
  if ($refund) {
185
  //This is a refund (not just a subscription cancellation or end). So deactivate the account regardless and bail.
186
- SwpmMemberUtils::update_account_state($member_id, 'inactive');//Set the account status to inactive.
187
  swpm_debug_log_subsc("Subscription refund notification received! Member account deactivated.", true);
188
  return;
189
  }
190
-
191
  //This is a cancellation or end of subscription term (no refund).
192
-
193
  //Lets retrieve the membership level and details
194
  $level_id = $resultset->membership_level;
195
  swpm_debug_log_subsc("Membership level ID of the member is: " . $level_id, true);
196
  $level_row = SwpmUtils::get_membership_level_row_by_id($level_id);
197
  $subs_duration_type = $level_row->subscription_duration_type;
198
-
199
- if($subs_duration_type == SwpmMembershipLevel::NO_EXPIRY){
200
  //This is a level with "no expiry" or "until cancelled" duration.
201
  swpm_debug_log_subsc('This is a level with "no expiry" or "until cancelled" duration', true);
202
-
203
  //Deactivate this account as the membership level is "no expiry" or "until cancelled".
204
  $account_state = 'inactive';
205
  SwpmMemberUtils::update_account_state($member_id, $account_state);
206
  swpm_debug_log_subsc("Subscription cancellation or end of term received! Member account deactivated. Member ID: " . $member_id, true);
207
-
208
- } else if ($subs_duration_type == SwpmMembershipLevel::FIXED_DATE){
209
  //This is a level with a "fixed expiry date" duration.
210
  swpm_debug_log_subsc('This is a level with a "fixed expiry date" duration.', true);
211
  swpm_debug_log_subsc('Nothing to do here. The account will expire on the fixed set date.', true);
212
-
213
  } else {
214
  //This is a level with "duration" type expiry (example: 30 days, 1 year etc). subscription_period has the duration/period.
215
  $subs_period = $level_row->subscription_period;
@@ -217,15 +220,13 @@ function swpm_handle_subsc_cancel_stand_alone($ipn_data, $refund = false) {
217
 
218
  swpm_debug_log_subsc('This is a level with "duration" type expiry. Duration period: ' . $subs_period . ', Unit: ' . $subs_period_unit, true);
219
  swpm_debug_log_subsc('Nothing to do here. The account will expire after the duration time is over.', true);
220
-
221
  //TODO Later as an improvement. If you wanted to segment the members who have unsubscribed, you can set the account status to "unsubscribed" here.
222
  //Make sure the cronjob to do expiry check and deactivate the member accounts treat this status as if it is "active".
223
-
224
  }
225
-
226
  $ipn_data['member_id'] = $member_id;
227
- do_action('swpm_subscription_payment_cancelled', $ipn_data);//Hook for recurring payment received
228
-
229
  } else {
230
  swpm_debug_log_subsc("No associated active member record found for this notification.", false);
231
  return;
@@ -248,8 +249,8 @@ function swpm_update_member_subscription_start_date_if_applicable($ipn_data) {
248
  swpm_debug_log_subsc("Found a record in the member table. The Member ID of the account to check is: " . $swpm_id . " Membership Level: " . $current_primary_level, true);
249
 
250
  $ipn_data['member_id'] = $swpm_id;
251
- do_action('swpm_recurring_payment_received', $ipn_data);//Hook for recurring payment received
252
-
253
  $subscription_starts = (date("Y-m-d"));
254
 
255
  $updatedb = $wpdb->prepare("UPDATE $members_table_name SET account_state=%s,subscription_starts=%s WHERE member_id=%d", $account_state, $subscription_starts, $swpm_id);
5
  $settings = SwpmSettings::get_instance();
6
  $members_table_name = $wpdb->prefix . "swpm_members_tbl";
7
  $membership_level = $subsc_ref;
8
+
9
+ if (isset($ipn_data['gateway']) && $ipn_data['gateway'] == 'stripe' && isset($ipn_data['subscr_id'])) {
10
+ $subscr_id = $ipn_data['subscr_id'];
11
+ } else {
12
+ $subscr_id = $unique_ref;
13
+ }
14
 
15
  swpm_debug_log_subsc("swpm_handle_subsc_signup_stand_alone(). Custom value: " . $ipn_data['custom'] . ", Unique reference: " . $unique_ref, true);
16
  $custom_vars = parse_str($ipn_data['custom']);
44
 
45
  //Upgrade the member account
46
  $account_state = 'active'; //This is renewal or upgrade of a previously active account. So the status should be set to active
47
+
48
  $resultset = $wpdb->get_row($wpdb->prepare("SELECT * FROM $members_table_name where member_id=%d", $swpm_id), OBJECT);
49
  if (!$resultset) {
50
  swpm_debug_log_subsc("ERROR! Could not find a member account record for the given Member ID: " . $swpm_id, false);
57
  $subscription_starts = SwpmMemberUtils::calculate_access_start_date_for_account_update($args);
58
  $subscription_starts = apply_filters('swpm_account_update_subscription_starts', $subscription_starts, $args);
59
  swpm_debug_log_subsc("Setting access starts date value to: " . $subscription_starts, true);
60
+
61
  swpm_debug_log_subsc("Updating the current membership level (" . $old_membership_level . ") of this member to the newly paid level (" . $membership_level . ")", true);
62
  //Set account status to active, update level to the newly paid level, update access start date, update subsriber ID (if applicable).
63
  $updatedb = $wpdb->prepare("UPDATE $members_table_name SET account_state=%s, membership_level=%d,subscription_starts=%s,subscr_id=%s WHERE member_id=%d", $account_state, $membership_level, $subscription_starts, $subscr_id, $swpm_id);
75
  $body = "Your account has been upgraded successfully";
76
  }
77
  $from_address = $settings->get_value('email-from');
78
+
79
  $additional_args = array();
80
  $email_body = SwpmMiscUtils::replace_dynamic_tags($body, $swpm_id, $additional_args);
81
  $headers = 'From: ' . $from_address . "\r\n";
100
  $data['address_street'] = $ipn_data['address_street'];
101
  $data['address_city'] = $ipn_data['address_city'];
102
  $data['address_state'] = $ipn_data['address_state'];
103
+ $data['address_zipcode'] = isset($ipn_data['address_zip']) ? $ipn_data['address_zip'] : '';
104
+ $data['country'] = isset($ipn_data['address_country']) ? $ipn_data['address_country'] : '';
105
  $data['member_since'] = $data['subscription_starts'] = $data['last_accessed'] = date("Y-m-d");
106
  $data['account_state'] = $default_account_status;
107
  $reg_code = uniqid();
111
  $data['subscr_id'] = $subscr_id;
112
  $data['last_accessed_from_ip'] = isset($user_ip) ? $user_ip : ''; //Save the users IP address
113
 
114
+ $data = array_filter($data); //Remove any null values.
115
  $wpdb->insert($members_table_name, $data); //Create the member record
116
  $results = $wpdb->get_row($wpdb->prepare("SELECT * FROM $members_table_name where subscr_id=%s and reg_code=%s", $subscr_id, $md5_code), OBJECT);
117
  $id = $results->member_id; //Alternatively use $wpdb->insert_id;
139
  }
140
  $from_address = $settings->get_value('email-from');
141
  $body = html_entity_decode($body);
142
+
143
  $additional_args = array('reg_link' => $reg_url);
144
+ $email_body = SwpmMiscUtils::replace_dynamic_tags($body, $id, $additional_args);
145
  $headers = 'From: ' . $from_address . "\r\n";
146
  }
147
 
148
+ $subject = apply_filters('swpm_email_signup_upgrade_complete_subject', $subject);
149
+ $email_body = apply_filters('swpm_email_signup_upgrade_complete_body', $email_body);
150
  wp_mail($email, $subject, $email_body, $headers);
151
  swpm_debug_log_subsc("Member signup/upgrade completion email successfully sent to: " . $email, true);
152
  }
153
 
154
+ /*
155
  * All in one function that can handle notification for refund, cancellation, end of term
156
  */
157
+
158
  function swpm_handle_subsc_cancel_stand_alone($ipn_data, $refund = false) {
159
+
160
  global $wpdb;
161
  $members_table_name = $wpdb->prefix . "swpm_members_tbl";
162
+
163
  $customvariables = SwpmTransactions::parse_custom_var($ipn_data['custom']);
164
  $swpm_id = $customvariables['swpm_id'];
165
 
166
  swpm_debug_log_subsc("Refund/Cancellation check - lets see if a member account needs to be deactivated.", true);
167
  //swpm_debug_log_subsc("Parent txn id: " . $ipn_data['parent_txn_id'] . ", Subscr ID: " . $ipn_data['subscr_id'] . ", SWPM ID: " . $swpm_id, true);
168
 
169
+ if (!empty($swpm_id)) {
170
  //This IPN has the SWPM ID. Retrieve the member record using member ID.
171
  swpm_debug_log_subsc("Member ID is present. Retrieving member account from the database. Member ID: " . $swpm_id, true);
172
  $resultset = SwpmMemberUtils::get_user_by_id($swpm_id);
180
  $subscr_id = $ipn_data['parent_txn_id'];
181
  $resultset = $wpdb->get_row($wpdb->prepare("SELECT * FROM $members_table_name where subscr_id=%s", $subscr_id), OBJECT);
182
  }
183
+
184
  if ($resultset) {
185
  //We have found a member profile for this notification.
186
+
187
  $member_id = $resultset->member_id;
188
+
189
  //First, check if this is a refund notification.
190
  if ($refund) {
191
  //This is a refund (not just a subscription cancellation or end). So deactivate the account regardless and bail.
192
+ SwpmMemberUtils::update_account_state($member_id, 'inactive'); //Set the account status to inactive.
193
  swpm_debug_log_subsc("Subscription refund notification received! Member account deactivated.", true);
194
  return;
195
  }
196
+
197
  //This is a cancellation or end of subscription term (no refund).
 
198
  //Lets retrieve the membership level and details
199
  $level_id = $resultset->membership_level;
200
  swpm_debug_log_subsc("Membership level ID of the member is: " . $level_id, true);
201
  $level_row = SwpmUtils::get_membership_level_row_by_id($level_id);
202
  $subs_duration_type = $level_row->subscription_duration_type;
203
+
204
+ if ($subs_duration_type == SwpmMembershipLevel::NO_EXPIRY) {
205
  //This is a level with "no expiry" or "until cancelled" duration.
206
  swpm_debug_log_subsc('This is a level with "no expiry" or "until cancelled" duration', true);
207
+
208
  //Deactivate this account as the membership level is "no expiry" or "until cancelled".
209
  $account_state = 'inactive';
210
  SwpmMemberUtils::update_account_state($member_id, $account_state);
211
  swpm_debug_log_subsc("Subscription cancellation or end of term received! Member account deactivated. Member ID: " . $member_id, true);
212
+ } else if ($subs_duration_type == SwpmMembershipLevel::FIXED_DATE) {
 
213
  //This is a level with a "fixed expiry date" duration.
214
  swpm_debug_log_subsc('This is a level with a "fixed expiry date" duration.', true);
215
  swpm_debug_log_subsc('Nothing to do here. The account will expire on the fixed set date.', true);
 
216
  } else {
217
  //This is a level with "duration" type expiry (example: 30 days, 1 year etc). subscription_period has the duration/period.
218
  $subs_period = $level_row->subscription_period;
220
 
221
  swpm_debug_log_subsc('This is a level with "duration" type expiry. Duration period: ' . $subs_period . ', Unit: ' . $subs_period_unit, true);
222
  swpm_debug_log_subsc('Nothing to do here. The account will expire after the duration time is over.', true);
223
+
224
  //TODO Later as an improvement. If you wanted to segment the members who have unsubscribed, you can set the account status to "unsubscribed" here.
225
  //Make sure the cronjob to do expiry check and deactivate the member accounts treat this status as if it is "active".
 
226
  }
227
+
228
  $ipn_data['member_id'] = $member_id;
229
+ do_action('swpm_subscription_payment_cancelled', $ipn_data); //Hook for recurring payment received
 
230
  } else {
231
  swpm_debug_log_subsc("No associated active member record found for this notification.", false);
232
  return;
249
  swpm_debug_log_subsc("Found a record in the member table. The Member ID of the account to check is: " . $swpm_id . " Membership Level: " . $current_primary_level, true);
250
 
251
  $ipn_data['member_id'] = $swpm_id;
252
+ do_action('swpm_recurring_payment_received', $ipn_data); //Hook for recurring payment received
253
+
254
  $subscription_starts = (date("Y-m-d"));
255
 
256
  $updatedb = $wpdb->prepare("UPDATE $members_table_name SET account_state=%s,subscription_starts=%s WHERE member_id=%d", $account_state, $subscription_starts, $swpm_id);
languages/{swpm-ar_SA.mo → simple-membership-ar_SA.mo} RENAMED
File without changes
languages/{swpm-ar_SA.po → simple-membership-ar_SA.po} RENAMED
File without changes
languages/{swpm-bs_BA.mo → simple-membership-bs_BA.mo} RENAMED
File without changes
languages/{swpm-bs_BA.po → simple-membership-bs_BA.po} RENAMED
File without changes
languages/{swpm-ca_ES.mo → simple-membership-ca_ES.mo} RENAMED
File without changes
languages/{swpm-ca_ES.po → simple-membership-ca_ES.po} RENAMED
File without changes
languages/{swpm-cs_CZ.mo → simple-membership-cs_CZ.mo} RENAMED
File without changes
languages/{swpm-cs_CZ.po → simple-membership-cs_CZ.po} RENAMED
File without changes
languages/{swpm-da_DK.mo → simple-membership-da_DK.mo} RENAMED
File without changes
languages/{swpm-da_DK.po → simple-membership-da_DK.po} RENAMED
File without changes
languages/simple-membership-de_DE.mo ADDED
Binary file
languages/simple-membership-de_DE.po ADDED
@@ -0,0 +1,2080 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ msgid ""
2
+ msgstr ""
3
+ "Project-Id-Version: Simple Membership\n"
4
+ "POT-Creation-Date: 2017-06-04 10:43+1000\n"
5
+ "PO-Revision-Date: 2017-08-24 19:50+0200\n"
6
+ "Language-Team: \n"
7
+ "MIME-Version: 1.0\n"
8
+ "Content-Type: text/plain; charset=UTF-8\n"
9
+ "Content-Transfer-Encoding: 8bit\n"
10
+ "X-Generator: Poedit 2.0.3\n"
11
+ "X-Poedit-KeywordsList: __;_e;e\n"
12
+ "X-Poedit-Basepath: .\n"
13
+ "Last-Translator: \n"
14
+ "Plural-Forms: nplurals=2; plural=(n != 1);\n"
15
+ "Language: de_DE\n"
16
+ "X-Poedit-SearchPath-0: .\n"
17
+
18
+ #: simple-membership/classes/class.simple-wp-membership.php:173
19
+ msgid "The admin of this site does not allow users to access the wp dashboard."
20
+ msgstr ""
21
+ "Der Administrator dieser Website erlaubt es Benutzern nicht, auf das WP-"
22
+ "Dashboard zuzugreifen."
23
+
24
+ #: simple-membership/classes/class.simple-wp-membership.php:174
25
+ msgid "Go back to the home page by "
26
+ msgstr "Gehe zurück zur Startseite "
27
+
28
+ #: simple-membership/classes/class.simple-wp-membership.php:174
29
+ msgid "clicking here"
30
+ msgstr "Hier klicken"
31
+
32
+ #: simple-membership/classes/class.simple-wp-membership.php:312
33
+ msgid "You are not logged in."
34
+ msgstr "Sie sind nicht eingeloggt."
35
+
36
+ #: simple-membership/classes/class.simple-wp-membership.php:363
37
+ msgid ""
38
+ "You have the sandbox payment mode enabled in plugin settings. Make sure to "
39
+ "turn off the sandbox mode when you want to do live transactions."
40
+ msgstr ""
41
+ "Sie haben den Sandbox-Zahlungsmodus in den Plugin-Einstellungen aktiviert. "
42
+ "Vergewissern Sie sich, den Sandbox-Modus auszuschalten, wenn Sie Live-"
43
+ "Transaktionen durchführen möchten."
44
+
45
+ #: simple-membership/classes/class.simple-wp-membership.php:378
46
+ msgid "Simple WP Membership Protection"
47
+ msgstr "Einfacher WP-Mitgliedschaftsschutz"
48
+
49
+ #: simple-membership/classes/class.simple-wp-membership.php:390
50
+ msgid "Simple Membership Protection options"
51
+ msgstr "Einfache Mitgliedschaftsschutzoptionen"
52
+
53
+ #: simple-membership/classes/class.simple-wp-membership.php:408
54
+ msgid "Do you want to protect this content?"
55
+ msgstr "Möchten Sie diesen Inhalt zu schützen?"
56
+
57
+ #: simple-membership/classes/class.simple-wp-membership.php:413
58
+ msgid "Select the membership level that can access this content:"
59
+ msgstr ""
60
+ "Wählen Sie die Mitgliedschaftsstufe aus, die auf diesen Inhalt zugreifen "
61
+ "kann:"
62
+
63
+ #: simple-membership/classes/class.simple-wp-membership.php:546
64
+ #: simple-membership/classes/class.simple-wp-membership.php:550
65
+ msgid "Validating, please wait"
66
+ msgstr "Überprüfung, bitte warten"
67
+
68
+ #: simple-membership/classes/class.simple-wp-membership.php:553
69
+ msgid "Invalid email address"
70
+ msgstr "Ungültige E-Mail-Adresse"
71
+
72
+ #: simple-membership/classes/class.simple-wp-membership.php:556
73
+ msgid "This field is required"
74
+ msgstr "Dieses Feld ist erforderlich"
75
+
76
+ #: simple-membership/classes/class.simple-wp-membership.php:559
77
+ #: simple-membership/classes/class.swpm-auth.php:260
78
+ msgid "Invalid Username"
79
+ msgstr "Ungültiger Benutzername"
80
+
81
+ #: simple-membership/classes/class.simple-wp-membership.php:562
82
+ msgid "Minimum "
83
+ msgstr "Minimum "
84
+
85
+ #: simple-membership/classes/class.simple-wp-membership.php:563
86
+ msgid " characters required"
87
+ msgstr " Buchstaben erforderlich"
88
+
89
+ #: simple-membership/classes/class.simple-wp-membership.php:566
90
+ msgid "Apostrophe character is not allowed"
91
+ msgstr "Apostroph ist nicht zulässig"
92
+
93
+ #: simple-membership/classes/class.simple-wp-membership.php:597
94
+ msgid "WP Membership"
95
+ msgstr "WP Mitgliedschaft"
96
+
97
+ #: simple-membership/classes/class.simple-wp-membership.php:598
98
+ #: simple-membership/classes/class.swpm-members.php:11
99
+ #: simple-membership/classes/class.swpm-members.php:579
100
+ msgid "Members"
101
+ msgstr "Mitglieder"
102
+
103
+ #: simple-membership/classes/class.simple-wp-membership.php:599
104
+ #: simple-membership/classes/class.swpm-category-list.php:20
105
+ #: simple-membership/classes/class.swpm-membership-levels.php:12
106
+ #: simple-membership/classes/class.swpm-membership-levels.php:257
107
+ msgid "Membership Levels"
108
+ msgstr "Mitgliedschaftsstufen"
109
+
110
+ #: simple-membership/classes/class.simple-wp-membership.php:600
111
+ msgid "Settings"
112
+ msgstr "Einstellungen"
113
+
114
+ #: simple-membership/classes/class.simple-wp-membership.php:601
115
+ msgid "Payments"
116
+ msgstr "Zahlungen"
117
+
118
+ #: simple-membership/classes/class.simple-wp-membership.php:602
119
+ msgid "Add-ons"
120
+ msgstr "Add-ons"
121
+
122
+ #: simple-membership/classes/class.swpm-access-control.php:47
123
+ #: simple-membership/classes/class.swpm-access-control.php:120
124
+ msgid "You need to login to view this content. "
125
+ msgstr "Sie müssen sich anmelden, um diesen Inhalt anzusehen. "
126
+
127
+ #: simple-membership/classes/class.swpm-access-control.php:56
128
+ #: simple-membership/classes/class.swpm-access-control.php:128
129
+ #: simple-membership/classes/class.swpm-access-control.php:212
130
+ msgid "Your account has expired. "
131
+ msgstr "Ihr Konto ist abgelaufen. "
132
+
133
+ #: simple-membership/classes/class.swpm-access-control.php:66
134
+ #: simple-membership/classes/class.swpm-access-control.php:138
135
+ msgid "This content can only be viewed by members who joined on or before "
136
+ msgstr "Dieser Inhalt kann nur von Mitgliedern angesehen werden. "
137
+
138
+ #: simple-membership/classes/class.swpm-access-control.php:79
139
+ #: simple-membership/classes/class.swpm-access-control.php:148
140
+ msgid "This content is not permitted for your membership level."
141
+ msgstr "Dieser Inhalt ist für Ihre Mitgliedschaftsstufe nicht freigeschaltet."
142
+
143
+ #: simple-membership/classes/class.swpm-access-control.php:204
144
+ msgid "You need to login to view the rest of the content. "
145
+ msgstr "Sie müssen sich anmelden, um den Rest des Inhalts anzuzeigen. "
146
+
147
+ #: simple-membership/classes/class.swpm-access-control.php:217
148
+ msgid " The rest of the content is not permitted for your membership level."
149
+ msgstr ""
150
+ " Der Rest des Inhalts ist für Ihre Mitgliedschaftsstufe nicht freigeschaltet."
151
+
152
+ #: simple-membership/classes/class.swpm-admin-registration.php:25
153
+ msgid "Error! Nonce verification failed for user registration from admin end."
154
+ msgstr ""
155
+ "Fehler! Überprüfung für Benutzerregistrierung vom Admin fehlgeschlagen."
156
+
157
+ #: simple-membership/classes/class.swpm-admin-registration.php:71
158
+ msgid "Member record added successfully."
159
+ msgstr "Mitgliedsrekord wurde erfolgreich hinzugefügt."
160
+
161
+ #: simple-membership/classes/class.swpm-admin-registration.php:76
162
+ #: simple-membership/classes/class.swpm-admin-registration.php:107
163
+ #: simple-membership/classes/class.swpm-admin-registration.php:133
164
+ #: simple-membership/classes/class.swpm-membership-level.php:69
165
+ #: simple-membership/classes/class.swpm-membership-level.php:97
166
+ msgid "Please correct the following:"
167
+ msgstr "Bitte korrigieren Sie folgendendes:"
168
+
169
+ #: simple-membership/classes/class.swpm-admin-registration.php:87
170
+ msgid "Error! Nonce verification failed for user edit from admin end."
171
+ msgstr "Fehler! Überprüfung für Benutzerbearbeitung vom Admin fehlgeschlagen."
172
+
173
+ #: simple-membership/classes/class.swpm-admin-registration.php:122
174
+ msgid "Your current password"
175
+ msgstr "Ihr aktuelles Passwort"
176
+
177
+ #: simple-membership/classes/class.swpm-ajax.php:14
178
+ msgid "Invalid Email Address"
179
+ msgstr "Ungültige E-Mail Adresse"
180
+
181
+ #: simple-membership/classes/class.swpm-ajax.php:21
182
+ #: simple-membership/classes/class.swpm-ajax.php:36
183
+ msgid "Aready taken"
184
+ msgstr "Wird schon verwendet"
185
+
186
+ #: simple-membership/classes/class.swpm-ajax.php:30
187
+ msgid "Name contains invalid character"
188
+ msgstr "Name enthält ungültiges Zeichen"
189
+
190
+ #: simple-membership/classes/class.swpm-ajax.php:37
191
+ msgid "Available"
192
+ msgstr "Verfügbar"
193
+
194
+ #: simple-membership/classes/class.swpm-auth.php:46
195
+ msgid ""
196
+ "Warning! Simple Membership plugin cannot process this login request to "
197
+ "prevent you from getting logged out of WP Admin accidentally."
198
+ msgstr ""
199
+ "Achtung! Das WP Simple Membership Plugin kann diese Anmeldeanforderung nicht "
200
+ "ausführen. Es wird verhindert, damit Sie sich nicht versehentlich als WP "
201
+ "Admin ausloggen."
202
+
203
+ #: simple-membership/classes/class.swpm-auth.php:47
204
+ msgid ""
205
+ "You are logged into the site as an ADMIN user in this browser. First, logout "
206
+ "from WP Admin then you will be able to log in as a member."
207
+ msgstr ""
208
+ "Sie sind in diesem Browser als Admin-Benutzer angemeldet. Loggen Sie sich "
209
+ "zuerst als Admin aus und um sich als Mitglied anmelden zu können."
210
+
211
+ #: simple-membership/classes/class.swpm-auth.php:48
212
+ msgid ""
213
+ "Alternatively, you can use a different browser (where you are not logged-in "
214
+ "as ADMIN) to test the membership login."
215
+ msgstr ""
216
+ "Alternativ können Sie einen anderen Browser verwenden (in welchem Sie nicht "
217
+ "als Admin eingeloggt sind), um das Login-Interface zu testen."
218
+
219
+ #: simple-membership/classes/class.swpm-auth.php:49
220
+ msgid ""
221
+ "Your normal visitors or members will never see this message. This message is "
222
+ "ONLY for ADMIN user."
223
+ msgstr ""
224
+ "Ihre normalen Besucher oder Mitglieder werden diese Nachricht niemals sehen. "
225
+ "Diese Nachricht ist nur für Admin-Benutzer."
226
+
227
+ #: simple-membership/classes/class.swpm-auth.php:56
228
+ msgid "Captcha validation failed on login form."
229
+ msgstr "Captcha-Validierung fehlgeschlagen."
230
+
231
+ #: simple-membership/classes/class.swpm-auth.php:81
232
+ msgid "User Not Found."
233
+ msgstr "Benutzer nicht gefunden."
234
+
235
+ #: simple-membership/classes/class.swpm-auth.php:88
236
+ msgid "Password Empty or Invalid."
237
+ msgstr "Kennwort leer oder ungültig."
238
+
239
+ #: simple-membership/classes/class.swpm-auth.php:125
240
+ msgid "Account is inactive."
241
+ msgstr "Ihr Konto ist inaktiv."
242
+
243
+ #: simple-membership/classes/class.swpm-auth.php:128
244
+ #: simple-membership/classes/class.swpm-auth.php:146
245
+ msgid "Account has expired."
246
+ msgstr "Ihr Konto ist abgelaufen."
247
+
248
+ #: simple-membership/classes/class.swpm-auth.php:131
249
+ msgid "Account is pending."
250
+ msgstr "Ihr Konto ist inaktiv."
251
+
252
+ #: simple-membership/classes/class.swpm-auth.php:154
253
+ msgid "You are logged in as:"
254
+ msgstr "Sie sind eingeloggt als:"
255
+
256
+ #: simple-membership/classes/class.swpm-auth.php:200
257
+ msgid "Logged Out Successfully."
258
+ msgstr "Abmeldung war erfolgreich."
259
+
260
+ #: simple-membership/classes/class.swpm-auth.php:251
261
+ msgid "Session Expired."
262
+ msgstr "Sitzung ist abgelaufen."
263
+
264
+ #: simple-membership/classes/class.swpm-auth.php:268
265
+ msgid "Please login again."
266
+ msgstr "Bitte melden Sie sich erneut an."
267
+
268
+ #: simple-membership/classes/class.swpm-category-list.php:19
269
+ #: simple-membership/classes/class.swpm-members.php:24
270
+ #: simple-membership/classes/class.swpm-membership-levels.php:11
271
+ #: simple-membership/classes/class.swpm-membership-levels.php:21
272
+ #: simple-membership/classes/admin-includes/class.swpm-payments-list-table.php:85
273
+ #: simple-membership/views/add.php:31
274
+ #: simple-membership/views/admin_member_form_common_part.php:2
275
+ #: simple-membership/views/edit.php:61
276
+ #: simple-membership/views/payments/payment-gateway/admin_braintree_buy_now_button.php:50
277
+ #: simple-membership/views/payments/payment-gateway/admin_paypal_buy_now_button.php:34
278
+ #: simple-membership/views/payments/payment-gateway/admin_paypal_buy_now_button.php:217
279
+ #: simple-membership/views/payments/payment-gateway/admin_paypal_subscription_button.php:35
280
+ #: simple-membership/views/payments/payment-gateway/admin_paypal_subscription_button.php:307
281
+ #: simple-membership/views/payments/payment-gateway/admin_stripe_buy_now_button.php:47
282
+ #: simple-membership/views/payments/payment-gateway/admin_stripe_buy_now_button.php:259
283
+ msgid "Membership Level"
284
+ msgstr "Mitgliedschaftsstufe"
285
+
286
+ #: simple-membership/classes/class.swpm-category-list.php:33
287
+ msgid "Category ID"
288
+ msgstr "Kategorie ID"
289
+
290
+ #: simple-membership/classes/class.swpm-category-list.php:34
291
+ msgid "Category Name"
292
+ msgstr "Kategorie Name"
293
+
294
+ #: simple-membership/classes/class.swpm-category-list.php:35
295
+ msgid "Category Type (Taxonomy)"
296
+ msgstr "Kategorie Typ"
297
+
298
+ #: simple-membership/classes/class.swpm-category-list.php:36
299
+ msgid "Description"
300
+ msgstr "Beschreibung"
301
+
302
+ #: simple-membership/classes/class.swpm-category-list.php:37
303
+ msgid "Count"
304
+ msgstr "Anzahl"
305
+
306
+ #: simple-membership/classes/class.swpm-category-list.php:92
307
+ msgid "Category protection updated!"
308
+ msgstr "Kategorie Schutz aktualisiert!"
309
+
310
+ #: simple-membership/classes/class.swpm-category-list.php:130
311
+ msgid "No category found."
312
+ msgstr "Kategorie wurde nicht gefunden."
313
+
314
+ #: simple-membership/classes/class.swpm-comment-form-related.php:15
315
+ msgid "Please login to comment."
316
+ msgstr "Bitte melden Sie sich an um zu kommentieren."
317
+
318
+ #: simple-membership/classes/class.swpm-comment-form-related.php:40
319
+ msgid "Please Login to Comment."
320
+ msgstr "Bitte melden Sie sich an um zu kommentieren."
321
+
322
+ #: simple-membership/classes/class.swpm-comment-form-related.php:79
323
+ msgid "Comments not allowed by a non-member."
324
+ msgstr "Bitte melden Sie sich an um zu kommentieren."
325
+
326
+ #: simple-membership/classes/class.swpm-form.php:29
327
+ msgid ""
328
+ "Wordpress account exists with given username. But given email doesn't match."
329
+ msgstr "Die angegebene E-Mail stimmt nicht überein."
330
+
331
+ #: simple-membership/classes/class.swpm-form.php:34
332
+ msgid ""
333
+ "Wordpress account exists with given email. But given username doesn't match."
334
+ msgstr "Die angegebene Benutzername stimmt nicht überein."
335
+
336
+ #: simple-membership/classes/class.swpm-form.php:43
337
+ msgid "Username is required"
338
+ msgstr "Benutzername wird benötigt"
339
+
340
+ #: simple-membership/classes/class.swpm-form.php:47
341
+ msgid "Username contains invalid character"
342
+ msgstr "Ihr Benutzername enthält ein ungültiges Zeichen"
343
+
344
+ #: simple-membership/classes/class.swpm-form.php:55
345
+ msgid "Username already exists."
346
+ msgstr "Ihr Benutzername existiert bereits."
347
+
348
+ #: simple-membership/classes/class.swpm-form.php:78
349
+ msgid "Password is required"
350
+ msgstr "Passwort wird benötigt"
351
+
352
+ #: simple-membership/classes/class.swpm-form.php:85
353
+ msgid "Password mismatch"
354
+ msgstr "Die Passwörter stimmen nicht überein"
355
+
356
+ #: simple-membership/classes/class.swpm-form.php:96
357
+ msgid "Email is required"
358
+ msgstr "E-Mail Adresse wird benötigt"
359
+
360
+ #: simple-membership/classes/class.swpm-form.php:100
361
+ msgid "Email is invalid"
362
+ msgstr "E-Mail Adresse ist ungültig"
363
+
364
+ #: simple-membership/classes/class.swpm-form.php:116
365
+ msgid "Email is already used."
366
+ msgstr "Ihre E-Mail Adresse existiert bereits."
367
+
368
+ #: simple-membership/classes/class.swpm-form.php:173
369
+ msgid "Member since field is invalid"
370
+ msgstr "Diese Eingabe ist ungültig"
371
+
372
+ #: simple-membership/classes/class.swpm-form.php:184
373
+ msgid "Access starts field is invalid"
374
+ msgstr "Das Zugriffsstartfeld ist ungültig"
375
+
376
+ #: simple-membership/classes/class.swpm-form.php:194
377
+ msgid "Gender field is invalid"
378
+ msgstr "Geschlechtsangabe ist ungültig"
379
+
380
+ #: simple-membership/classes/class.swpm-form.php:205
381
+ msgid "Account state field is invalid"
382
+ msgstr "Kontostatusfeld ist ungültig"
383
+
384
+ #: simple-membership/classes/class.swpm-form.php:212
385
+ msgid "Invalid membership level"
386
+ msgstr "Ungültige Mitgliedschaftsstufe"
387
+
388
+ #: simple-membership/classes/class.swpm-front-registration.php:33
389
+ msgid ""
390
+ "Error! Invalid Request. Could not find a match for the given security code "
391
+ "and the user ID."
392
+ msgstr ""
393
+ "Fehler! Ungültige Anfrage. Konnte keine Übereinstimmung für den angegebenen "
394
+ "Sicherheitscode und die Benutzer-ID finden."
395
+
396
+ #: simple-membership/classes/class.swpm-front-registration.php:45
397
+ #: simple-membership/classes/class.swpm-utils-misc.php:236
398
+ #: simple-membership/views/login.php:36
399
+ msgid "Join Us"
400
+ msgstr "Registieren"
401
+
402
+ #: simple-membership/classes/class.swpm-front-registration.php:47
403
+ msgid ""
404
+ "Free membership is disabled on this site. Please make a payment from the "
405
+ msgstr ""
406
+ "Die Kostenlose Mitgliedschaft ist auf dieser Seite deaktiviert. Bitte "
407
+ "erstellen Sie eine Zahlung für "
408
+
409
+ #: simple-membership/classes/class.swpm-front-registration.php:49
410
+ msgid ""
411
+ "You will receive a unique link via email after the payment. You will be able "
412
+ "to use that link to complete the premium membership registration."
413
+ msgstr ""
414
+ "Sie erhalten einen einmaligen Link per E-Mail nach der Zahlung. Sie können "
415
+ "diesen Link nutzen, um die Premium-Mitgliedschaftsregistrierung "
416
+ "abzuschließen."
417
+
418
+ #: simple-membership/classes/class.swpm-front-registration.php:77
419
+ msgid "Security check: captcha validation failed."
420
+ msgstr "Sicherheitskontrolle: Captcha-Validierung fehlgeschlagen."
421
+
422
+ #: simple-membership/classes/class.swpm-front-registration.php:100
423
+ msgid "Registration Successful. "
424
+ msgstr "Registrierung erfolgreich. "
425
+
426
+ #: simple-membership/classes/class.swpm-front-registration.php:100
427
+ #: simple-membership/classes/class.swpm-utils-misc.php:235
428
+ #: simple-membership/classes/class.swpm-utils-misc.php:247
429
+ msgid "Please"
430
+ msgstr "Bitte"
431
+
432
+ #: simple-membership/classes/class.swpm-front-registration.php:100
433
+ #: simple-membership/classes/class.swpm-utils-misc.php:235
434
+ #: simple-membership/views/login.php:30
435
+ msgid "Login"
436
+ msgstr "Einloggen"
437
+
438
+ #: simple-membership/classes/class.swpm-front-registration.php:113
439
+ msgid "Please correct the following"
440
+ msgstr "Bitte korrigieren Sie die folgenden"
441
+
442
+ #: simple-membership/classes/class.swpm-front-registration.php:158
443
+ msgid "Membership Level Couldn't be found."
444
+ msgstr "Mitgliedschaftsstufe konnte nicht gefunden werden."
445
+
446
+ #: simple-membership/classes/class.swpm-front-registration.php:209
447
+ msgid "Error! Nonce verification failed for front end profile edit."
448
+ msgstr "Fehler! Überprüfung für Front-End-Profil bearbeitung fehlgeschlagen."
449
+
450
+ #: simple-membership/classes/class.swpm-front-registration.php:217
451
+ msgid "Profile updated successfully."
452
+ msgstr "Profil erfolgreich aktualisiert."
453
+
454
+ #: simple-membership/classes/class.swpm-front-registration.php:226
455
+ msgid ""
456
+ "Profile updated successfully. You will need to re-login since you changed "
457
+ "your password."
458
+ msgstr ""
459
+ "Profil erfolgreich aktualisiert. Sie müssen sich erneut anmelden, da Sie Ihr "
460
+ "Passwort geändert haben."
461
+
462
+ #: simple-membership/classes/class.swpm-front-registration.php:238
463
+ msgid "Please correct the following."
464
+ msgstr "Bitte korrigieren Sie folgendes."
465
+
466
+ #: simple-membership/classes/class.swpm-front-registration.php:250
467
+ msgid "Captcha validation failed."
468
+ msgstr "Captcha-Validierung fehlgeschlagen."
469
+
470
+ #: simple-membership/classes/class.swpm-front-registration.php:258
471
+ msgid "Email address not valid."
472
+ msgstr "E-Mail Adresse ist nicht gültig."
473
+
474
+ #: simple-membership/classes/class.swpm-front-registration.php:269
475
+ msgid "No user found with that email address."
476
+ msgstr "Kein Benutzer mit dieser E-Mail-Adresse gefunden."
477
+
478
+ #: simple-membership/classes/class.swpm-front-registration.php:270
479
+ #: simple-membership/classes/class.swpm-front-registration.php:299
480
+ msgid "Email Address: "
481
+ msgstr "E-Mail Adresse: "
482
+
483
+ #: simple-membership/classes/class.swpm-front-registration.php:298
484
+ msgid "New password has been sent to your email address."
485
+ msgstr "Es wurde ein neues Passwort an Ihre E-Mail-Adresse gesendet."
486
+
487
+ #: simple-membership/classes/class.swpm-init-time-tasks.php:112
488
+ msgid "Sorry, Nonce verification failed."
489
+ msgstr "Sorry, überprüfung fehlgeschlagen."
490
+
491
+ #: simple-membership/classes/class.swpm-init-time-tasks.php:119
492
+ msgid "Sorry, Password didn't match."
493
+ msgstr "Sorry, das Passwort stimmt nicht überein."
494
+
495
+ #: simple-membership/classes/class.swpm-level-form.php:47
496
+ msgid "Date format is not valid."
497
+ msgstr "Datumsformat ist nicht gültig."
498
+
499
+ #: simple-membership/classes/class.swpm-level-form.php:55
500
+ msgid "Access duration must be > 0."
501
+ msgstr "Die Zugriffsdauer muss über 0 sein."
502
+
503
+ #: simple-membership/classes/class.swpm-members.php:10
504
+ msgid "Member"
505
+ msgstr "Mitglied"
506
+
507
+ #: simple-membership/classes/class.swpm-members.php:19
508
+ #: simple-membership/classes/class.swpm-membership-levels.php:20
509
+ msgid "ID"
510
+ msgstr "ID"
511
+
512
+ #: simple-membership/classes/class.swpm-members.php:20
513
+ #: simple-membership/views/add.php:7 simple-membership/views/admin_add.php:11
514
+ #: simple-membership/views/admin_edit.php:14
515
+ #: simple-membership/views/edit.php:13
516
+ msgid "Username"
517
+ msgstr "Benutzername"
518
+
519
+ #: simple-membership/classes/class.swpm-members.php:21
520
+ #: simple-membership/classes/admin-includes/class.swpm-payments-list-table.php:78
521
+ #: simple-membership/views/add.php:23
522
+ #: simple-membership/views/admin_member_form_common_part.php:15
523
+ #: simple-membership/views/edit.php:29
524
+ msgid "First Name"
525
+ msgstr "Vorname"
526
+
527
+ #: simple-membership/classes/class.swpm-members.php:22
528
+ #: simple-membership/classes/admin-includes/class.swpm-payments-list-table.php:79
529
+ #: simple-membership/views/add.php:27
530
+ #: simple-membership/views/admin_member_form_common_part.php:19
531
+ #: simple-membership/views/edit.php:33
532
+ msgid "Last Name"
533
+ msgstr "Nachname"
534
+
535
+ #: simple-membership/classes/class.swpm-members.php:23
536
+ #: simple-membership/views/add.php:11 simple-membership/views/edit.php:17
537
+ msgid "Email"
538
+ msgstr "E-Mail Adresse"
539
+
540
+ #: simple-membership/classes/class.swpm-members.php:25
541
+ #: simple-membership/views/admin_member_form_common_part.php:11
542
+ msgid "Access Starts"
543
+ msgstr "Registrierungsdatum"
544
+
545
+ #: simple-membership/classes/class.swpm-members.php:26
546
+ msgid "Account State"
547
+ msgstr "Kontostatus"
548
+
549
+ #: simple-membership/classes/class.swpm-members.php:44
550
+ #: simple-membership/classes/class.swpm-membership-levels.php:36
551
+ #: simple-membership/classes/admin-includes/class.swpm-payment-buttons-list-table.php:94
552
+ #: simple-membership/classes/admin-includes/class.swpm-payments-list-table.php:102
553
+ msgid "Delete"
554
+ msgstr "Löschen"
555
+
556
+ #: simple-membership/classes/class.swpm-members.php:45
557
+ msgid "Set Status to Active"
558
+ msgstr "Setzen Sie den Status auf Aktiv"
559
+
560
+ #: simple-membership/classes/class.swpm-members.php:46
561
+ msgid "Set Status to Active and Notify"
562
+ msgstr "Setzen Sie den Status auf Aktiv und Benachrichtigen"
563
+
564
+ #: simple-membership/classes/class.swpm-members.php:47
565
+ msgid "Set Status to Inactive"
566
+ msgstr "Setzen Sie den Status auf Inaktiv"
567
+
568
+ #: simple-membership/classes/class.swpm-members.php:48
569
+ msgid "Set Status to Pending"
570
+ msgstr "Setzen Sie den Status auf Ausstehend"
571
+
572
+ #: simple-membership/classes/class.swpm-members.php:49
573
+ msgid "Set Status to Expired"
574
+ msgstr "Setzen Sie den Status auf abgelaufen"
575
+
576
+ #: simple-membership/classes/class.swpm-members.php:70
577
+ msgid "incomplete"
578
+ msgstr "unvollständig"
579
+
580
+ #: simple-membership/classes/class.swpm-members.php:189
581
+ msgid "No member found."
582
+ msgstr "Keine Mitglieder vorhanden."
583
+
584
+ #: simple-membership/classes/class.swpm-members.php:335
585
+ msgid "Error! Nonce verification failed for user delete from admin end."
586
+ msgstr ""
587
+ "Fehler! Überprüfung für Löschung eines Benutzers vom Admin fehlgeschlagen."
588
+
589
+ #: simple-membership/classes/class.swpm-members.php:404
590
+ #: simple-membership/classes/class.swpm-members.php:434
591
+ msgid "Error! Please select a membership level first."
592
+ msgstr "Fehler! Bitte wählen Sie zuerst eine Mitgliedsstufe aus."
593
+
594
+ #: simple-membership/classes/class.swpm-members.php:421
595
+ msgid "Membership level change operation completed successfully."
596
+ msgstr "Änderung der Mitgliedschaftsstufe wurde erfolgreich abgeschlossen."
597
+
598
+ #: simple-membership/classes/class.swpm-members.php:451
599
+ msgid "Access starts date change operation successfully completed."
600
+ msgstr "Datumsänderung erfolgreich abgeschlossen."
601
+
602
+ #: simple-membership/classes/class.swpm-members.php:460
603
+ msgid "Bulk Update Membership Level of Members"
604
+ msgstr "Bulk Update Mitgliedschaft Ebene der Mitglieder"
605
+
606
+ #: simple-membership/classes/class.swpm-members.php:463
607
+ msgid ""
608
+ "You can manually change the membership level of any member by editing the "
609
+ "record from the members menu. "
610
+ msgstr ""
611
+ "Sie können die Mitgliedschaftsstufe eines beliebigen Mitglieds manuell "
612
+ "ändern, indem Sie den Datensatz aus dem Mitgliedermenü bearbeiten. "
613
+
614
+ #: simple-membership/classes/class.swpm-members.php:464
615
+ msgid ""
616
+ "You can use the following option to bulk update the membership level of "
617
+ "users who belong to the level you select below."
618
+ msgstr ""
619
+ "Sie können die folgende Option verwenden, um die Mitgliedschaftsstufe von "
620
+ "Benutzern zu aktualisieren, die zu der Ebene gehören, die Sie unten "
621
+ "auswählen."
622
+
623
+ #: simple-membership/classes/class.swpm-members.php:470
624
+ #: simple-membership/classes/class.swpm-members.php:518
625
+ msgid "Membership Level: "
626
+ msgstr "Mitgliedschaftsstufe: "
627
+
628
+ #: simple-membership/classes/class.swpm-members.php:474
629
+ msgid "Select Current Level"
630
+ msgstr "Wählen Sie die aktuelle Stufe aus"
631
+
632
+ #: simple-membership/classes/class.swpm-members.php:477
633
+ msgid ""
634
+ "Select the current membership level (the membership level of all members who "
635
+ "are in this level will be updated)."
636
+ msgstr ""
637
+ "Wählen Sie die aktuelle Mitgliedschaftsstufe aus (die Mitgliedschaftsstufe "
638
+ "aller Mitglieder, die sich in dieser Ebene befinden, wird aktualisiert)."
639
+
640
+ #: simple-membership/classes/class.swpm-members.php:483
641
+ msgid "Level to Change to: "
642
+ msgstr "Ebene zu ändern, um: "
643
+
644
+ #: simple-membership/classes/class.swpm-members.php:487
645
+ msgid "Select Target Level"
646
+ msgstr "Ziel Ebene auswählen"
647
+
648
+ #: simple-membership/classes/class.swpm-members.php:490
649
+ msgid "Select the new membership level."
650
+ msgstr "Wählen Sie die neue Mitgliedschaftsstufe aus."
651
+
652
+ #: simple-membership/classes/class.swpm-members.php:496
653
+ msgid "Bulk Change Membership Level"
654
+ msgstr "Mitgliedschaftsstufe ändern"
655
+
656
+ #: simple-membership/classes/class.swpm-members.php:506
657
+ msgid "Bulk Update Access Starts Date of Members"
658
+ msgstr "Upgradedatum der Mitglieder"
659
+
660
+ #: simple-membership/classes/class.swpm-members.php:510
661
+ msgid ""
662
+ "The access starts date of a member is set to the day the user registers. "
663
+ "This date value is used to calculate how long the member can access your "
664
+ "content that are protected with a duration type protection in the membership "
665
+ "level. "
666
+ msgstr ""
667
+ "Der Zugriff eines Mitglieds startet am Tag, an dem sich der Benutzer "
668
+ "registriert hat. Dieser Datumswert wird verwendet, um zu berechnen, wie "
669
+ "lange das Mitglied auf Ihre Inhalte zugreifen kann. "
670
+
671
+ #: simple-membership/classes/class.swpm-members.php:511
672
+ msgid ""
673
+ "You can manually set a specific access starts date value of all members who "
674
+ "belong to a particular level using the following option."
675
+ msgstr ""
676
+ "Sie können manuell ein bestimmten Datenwert aller Mitglieder festlegen , die "
677
+ "zu einer bestimmten Ebene mit der folgenden Option gehören."
678
+
679
+ #: simple-membership/classes/class.swpm-members.php:521
680
+ msgid "Select Level"
681
+ msgstr "Stufe auswählen"
682
+
683
+ #: simple-membership/classes/class.swpm-members.php:524
684
+ msgid ""
685
+ "Select the Membership level (the access start date of all members who are in "
686
+ "this level will be updated)."
687
+ msgstr ""
688
+ "Wählen Sie die Mitgliedschaftsstufe aus (das Zugangsstartdatum aller "
689
+ "Mitglieder, die sich auf dieser Ebene befinden, wird aktualisiert)."
690
+
691
+ #: simple-membership/classes/class.swpm-members.php:533
692
+ msgid "Specify the access starts date value."
693
+ msgstr "Geben Sie das Zugriffsdatum an."
694
+
695
+ #: simple-membership/classes/class.swpm-members.php:539
696
+ msgid "Bulk Change Access Starts Date"
697
+ msgstr "Änderungszugriff start Datum"
698
+
699
+ #: simple-membership/classes/class.swpm-members.php:574
700
+ msgid "Simple WP Membership::Members"
701
+ msgstr "Simple WP Membership::Mitglieder"
702
+
703
+ #: simple-membership/classes/class.swpm-members.php:575
704
+ #: simple-membership/classes/class.swpm-membership-levels.php:225
705
+ #: simple-membership/views/admin_members_list.php:43
706
+ msgid "Add New"
707
+ msgstr "Neu hinzufügen"
708
+
709
+ #: simple-membership/classes/class.swpm-members.php:580
710
+ #: simple-membership/views/admin_add.php:6
711
+ msgid "Add Member"
712
+ msgstr "Neues Mitglied hinzufügen"
713
+
714
+ #: simple-membership/classes/class.swpm-members.php:581
715
+ msgid "Bulk Operation"
716
+ msgstr "Bulk Operation"
717
+
718
+ #: simple-membership/classes/class.swpm-membership-level.php:52
719
+ msgid ""
720
+ "Error! Nonce verification failed for membership level creation from admin "
721
+ "end."
722
+ msgstr ""
723
+ "Fehler! Überprüfung für die Erstellung von Beiträgen aus dem Admin-Ende "
724
+ "fehlgeschlagen."
725
+
726
+ #: simple-membership/classes/class.swpm-membership-level.php:64
727
+ msgid "Membership Level Creation Successful."
728
+ msgstr "Mitgliedschaftstufen Erstellung erfolgreich."
729
+
730
+ #: simple-membership/classes/class.swpm-membership-level.php:80
731
+ msgid ""
732
+ "Error! Nonce verification failed for membership level edit from admin end."
733
+ msgstr ""
734
+ "Fehler! Nonce-Überprüfung für Mitgliedschaftsniveau Bearbeiten von Admin-"
735
+ "Ende fehlgeschlagen ."
736
+
737
+ #: simple-membership/classes/class.swpm-membership-level.php:92
738
+ msgid "Membership Level Updated Successfully."
739
+ msgstr "Mitgliedschaftstufe wurde erfolgreich aktualisiert."
740
+
741
+ #: simple-membership/classes/class.swpm-membership-levels.php:22
742
+ msgid "Role"
743
+ msgstr "Rolle"
744
+
745
+ #: simple-membership/classes/class.swpm-membership-levels.php:23
746
+ msgid "Access Valid For/Until"
747
+ msgstr "Zugang gültig für/bis"
748
+
749
+ #: simple-membership/classes/class.swpm-membership-levels.php:133
750
+ msgid "No membership levels found."
751
+ msgstr "Keine Mitgliedschaftsstufen gefunden."
752
+
753
+ #: simple-membership/classes/class.swpm-membership-levels.php:196
754
+ msgid ""
755
+ "Error! Nonce verification failed for membership level delete from admin end."
756
+ msgstr ""
757
+ "Fehler! Nonce-Überprüfung für Mitgliedschaftsstufe aus dem Admin-Ende "
758
+ "löschen fehlgeschlagen."
759
+
760
+ #: simple-membership/classes/class.swpm-membership-levels.php:215
761
+ #: simple-membership/views/admin_members_list.php:30
762
+ #: simple-membership/views/payments/admin_all_payment_transactions.php:16
763
+ msgid "Search"
764
+ msgstr "Suchen"
765
+
766
+ #: simple-membership/classes/class.swpm-membership-levels.php:253
767
+ msgid "Simple WP Membership::Membership Levels"
768
+ msgstr "Simple WP Membership::Mitgliedschaftsstufen"
769
+
770
+ #: simple-membership/classes/class.swpm-membership-levels.php:258
771
+ msgid "Add Level"
772
+ msgstr "Stufe hinzufügen"
773
+
774
+ #: simple-membership/classes/class.swpm-membership-levels.php:259
775
+ msgid "Manage Content Protection"
776
+ msgstr "Inhalt schützen"
777
+
778
+ #: simple-membership/classes/class.swpm-membership-levels.php:260
779
+ msgid "Category Protection"
780
+ msgstr "Kategorie schützen"
781
+
782
+ #: simple-membership/classes/class.swpm-settings.php:27
783
+ #: simple-membership/classes/class.swpm-settings.php:55
784
+ msgid "General Settings"
785
+ msgstr "Einstellungen"
786
+
787
+ #: simple-membership/classes/class.swpm-settings.php:28
788
+ msgid "Payment Settings"
789
+ msgstr "Zahlungseinstellungen"
790
+
791
+ #: simple-membership/classes/class.swpm-settings.php:29
792
+ msgid "Email Settings"
793
+ msgstr "E-Mail Einstellungen"
794
+
795
+ #: simple-membership/classes/class.swpm-settings.php:30
796
+ msgid "Tools"
797
+ msgstr "Tools"
798
+
799
+ #: simple-membership/classes/class.swpm-settings.php:31
800
+ #: simple-membership/classes/class.swpm-settings.php:189
801
+ msgid "Advanced Settings"
802
+ msgstr "Erweiterte Einstellungen"
803
+
804
+ #: simple-membership/classes/class.swpm-settings.php:32
805
+ msgid "Addons Settings"
806
+ msgstr "Addons Einstellungen"
807
+
808
+ #: simple-membership/classes/class.swpm-settings.php:54
809
+ msgid "Plugin Documentation"
810
+ msgstr "Plugin-Dokumentation"
811
+
812
+ #: simple-membership/classes/class.swpm-settings.php:56
813
+ msgid "Enable Free Membership"
814
+ msgstr "Kostenlose Mitgliedschaft erlauben"
815
+
816
+ #: simple-membership/classes/class.swpm-settings.php:57
817
+ msgid ""
818
+ "Enable/disable registration for free membership level. When you enable this "
819
+ "option, make sure to specify a free membership level ID in the field below."
820
+ msgstr ""
821
+ "Aktivierung / Deaktivierung der Registrierung für kostenlose "
822
+ "Mitgliedschaften. Wenn Sie diese Option aktivieren, vergewissern Sie sich, "
823
+ "dass Sie im Feld unten eine kostenlose Mitgliedschaftsstufen-ID angeben."
824
+
825
+ #: simple-membership/classes/class.swpm-settings.php:58
826
+ msgid "Free Membership Level ID"
827
+ msgstr "Kostenlose Mitgliedschaftsstufen-ID"
828
+
829
+ #: simple-membership/classes/class.swpm-settings.php:59
830
+ msgid "Assign free membership level ID"
831
+ msgstr "Kostenlose Mitgliedschaftsstufen-ID zuweisen"
832
+
833
+ #: simple-membership/classes/class.swpm-settings.php:60
834
+ msgid "Enable More Tag Protection"
835
+ msgstr "Aktivieren Sie mehr Tag-Schutz"
836
+
837
+ #: simple-membership/classes/class.swpm-settings.php:61
838
+ msgid ""
839
+ "Enables or disables \"more\" tag protection in the posts and pages. Anything "
840
+ "after the More tag is protected. Anything before the more tag is teaser "
841
+ "content."
842
+ msgstr ""
843
+ "Aktivieren oder deaktivieren Sie den Tag-Schutz in den Beiträgen und Seiten. "
844
+ "Alles nach dem Tag ist geschützt. Alles vor dem Tag ist Teaser Inhalt."
845
+
846
+ #: simple-membership/classes/class.swpm-settings.php:62
847
+ msgid "Hide Adminbar"
848
+ msgstr "Admin-Bar ausblenden"
849
+
850
+ #: simple-membership/classes/class.swpm-settings.php:63
851
+ msgid ""
852
+ "WordPress shows an admin toolbar to the logged in users of the site. Check "
853
+ "this if you want to hide that admin toolbar in the frontend of your site."
854
+ msgstr ""
855
+ "WordPress zeigt eine Admin-Symbolleiste für die angemeldeten Benutzer der "
856
+ "Website. Überprüfen Sie dies, wenn Sie diese Admin-Symbolleiste im Frontend "
857
+ "Ihrer Website verstecken möchten."
858
+
859
+ #: simple-membership/classes/class.swpm-settings.php:64
860
+ msgid "Show Adminbar to Admin"
861
+ msgstr "Adminbar dem Admin anzeigen"
862
+
863
+ #: simple-membership/classes/class.swpm-settings.php:65
864
+ msgid ""
865
+ "Use this option if you want to show the admin toolbar to admin users only. "
866
+ "The admin toolbar will be hidden for all other users."
867
+ msgstr ""
868
+ "Verwenden Sie diese Option, wenn Sie die Admin-Symbolleiste nur für Admin-"
869
+ "Benutzer anzeigen möchten. Die Admin-Symbolleiste wird für alle anderen "
870
+ "Benutzer ausgeblendet."
871
+
872
+ #: simple-membership/classes/class.swpm-settings.php:66
873
+ msgid "Disable Access to WP Dashboard"
874
+ msgstr "Deaktivieren Sie den Zugriff auf das WP Dashboard"
875
+
876
+ #: simple-membership/classes/class.swpm-settings.php:67
877
+ msgid ""
878
+ "WordPress allows a sandard wp user to be able to go to the wp-admin URL and "
879
+ "access his profile from the wp dashbaord. Using this option will prevent any "
880
+ "non admin users from going to the wp dashboard."
881
+ msgstr ""
882
+ "WordPress ermöglicht es einem Standard-Wp-Benutzer, in die WP-Admin URL zu "
883
+ "gelangen und auf sein Profil aus dem WP-Dashboard zuzugreifen. Mit dieser "
884
+ "Option wird verhindert, dass keine Admin-Benutzer zum WP-Dashboard gehen."
885
+
886
+ #: simple-membership/classes/class.swpm-settings.php:69
887
+ msgid "Default Account Status"
888
+ msgstr "Standardkonto Status"
889
+
890
+ #: simple-membership/classes/class.swpm-settings.php:72
891
+ msgid ""
892
+ "Select the default account status for newly registered users. If you want to "
893
+ "manually approve the members then you can set the status to \"Pending\"."
894
+ msgstr ""
895
+ "Wählen Sie den Standardkontostatus für neu registrierte Benutzer aus. Wenn "
896
+ "Sie die Mitglieder manuell genehmigen möchten, können Sie den Status auf "
897
+ "\"Ausstehend\" setzen."
898
+
899
+ #: simple-membership/classes/class.swpm-settings.php:74
900
+ msgid "Members Must be Logged in to Comment"
901
+ msgstr "Mitglieder müssen angemeldet sein, um kommentieren zu können"
902
+
903
+ #: simple-membership/classes/class.swpm-settings.php:75
904
+ msgid ""
905
+ "Enable this option if you only want the members of the site to be able to "
906
+ "post a comment."
907
+ msgstr ""
908
+ "Aktivieren Sie diese Option, wenn Sie möchten, dass nur Mitglieder der "
909
+ "Website einen Kommentar hinterlassen können."
910
+
911
+ #: simple-membership/classes/class.swpm-settings.php:84
912
+ msgid "Pages Settings"
913
+ msgstr "Seiteneinstellungen"
914
+
915
+ #: simple-membership/classes/class.swpm-settings.php:85
916
+ msgid "Login Page URL"
917
+ msgstr "Loginseiten-URL"
918
+
919
+ #: simple-membership/classes/class.swpm-settings.php:87
920
+ msgid "Registration Page URL"
921
+ msgstr "Registrierungsseiten-URL"
922
+
923
+ #: simple-membership/classes/class.swpm-settings.php:89
924
+ msgid "Join Us Page URL"
925
+ msgstr "Jetzt Anmelden-URL"
926
+
927
+ #: simple-membership/classes/class.swpm-settings.php:91
928
+ msgid "Edit Profile Page URL"
929
+ msgstr "Profil bearbeiten-URL"
930
+
931
+ #: simple-membership/classes/class.swpm-settings.php:93
932
+ msgid "Password Reset Page URL"
933
+ msgstr "Passwort zurücksetzten-URL"
934
+
935
+ #: simple-membership/classes/class.swpm-settings.php:96
936
+ msgid "Test & Debug Settings"
937
+ msgstr "Test & Debug-Einstellungen"
938
+
939
+ #: simple-membership/classes/class.swpm-settings.php:98
940
+ msgid "Check this option to enable debug logging."
941
+ msgstr ""
942
+ "Aktivieren Sie diese Option, um die Debug-Protokollierung zu aktivieren."
943
+
944
+ #: simple-membership/classes/class.swpm-settings.php:103
945
+ msgid "Enable Sandbox Testing"
946
+ msgstr "Sandbox-Test aktivieren"
947
+
948
+ #: simple-membership/classes/class.swpm-settings.php:104
949
+ msgid "Enable this option if you want to do sandbox payment testing."
950
+ msgstr ""
951
+ "Aktivieren Sie diese Option, wenn Sie Sandbox-Zahlungstests durchführen "
952
+ "möchten."
953
+
954
+ #: simple-membership/classes/class.swpm-settings.php:117
955
+ #: simple-membership/classes/class.swpm-settings.php:184
956
+ #: simple-membership/classes/class.swpm-settings.php:301
957
+ msgid "Settings updated!"
958
+ msgstr "Einstellungen aktualisiert!"
959
+
960
+ #: simple-membership/classes/class.swpm-settings.php:122
961
+ msgid "Email Misc. Settings"
962
+ msgstr "E-Mail Einstellungen"
963
+
964
+ #: simple-membership/classes/class.swpm-settings.php:123
965
+ msgid "From Email Address"
966
+ msgstr "Von E-Mail-Adresse"
967
+
968
+ #: simple-membership/classes/class.swpm-settings.php:127
969
+ msgid "Email Settings (Prompt to Complete Registration )"
970
+ msgstr "E-Mail-Einstellungen (Eingabeaufforderung zur Anmeldung)"
971
+
972
+ #: simple-membership/classes/class.swpm-settings.php:128
973
+ #: simple-membership/classes/class.swpm-settings.php:141
974
+ #: simple-membership/classes/class.swpm-settings.php:159
975
+ #: simple-membership/classes/class.swpm-settings.php:164
976
+ #: simple-membership/classes/class.swpm-settings.php:169
977
+ msgid "Email Subject"
978
+ msgstr "E-Mail Betreff"
979
+
980
+ #: simple-membership/classes/class.swpm-settings.php:130
981
+ #: simple-membership/classes/class.swpm-settings.php:143
982
+ #: simple-membership/classes/class.swpm-settings.php:160
983
+ #: simple-membership/classes/class.swpm-settings.php:165
984
+ #: simple-membership/classes/class.swpm-settings.php:170
985
+ msgid "Email Body"
986
+ msgstr "Nachrichtentext"
987
+
988
+ #: simple-membership/classes/class.swpm-settings.php:134
989
+ msgid ""
990
+ "Enter the email address where you want the admin notification email to be "
991
+ "sent to."
992
+ msgstr ""
993
+ "Geben Sie die E-Mail-Adresse ein, an die die Admin-Benachrichtigungs-E-Mail "
994
+ "gesendet werden soll."
995
+
996
+ #: simple-membership/classes/class.swpm-settings.php:135
997
+ msgid ""
998
+ " You can put multiple email addresses separated by comma (,) in the above "
999
+ "field to send the notification to multiple email addresses."
1000
+ msgstr ""
1001
+ "Sie können mehrere E-Mail-Adressen durch Komma (,) im obigen Feld getrennt, "
1002
+ "um die Benachrichtigung an mehrere E-Mail-Adressen zu senden."
1003
+
1004
+ #: simple-membership/classes/class.swpm-settings.php:137
1005
+ msgid "Enter the subject for the admin notification email."
1006
+ msgstr "Geben Sie den Betreff für die Admin-Benachrichtigungs-E-Mail ein."
1007
+
1008
+ #: simple-membership/classes/class.swpm-settings.php:138
1009
+ msgid ""
1010
+ "This email will be sent to the admin when a new user completes the "
1011
+ "membership registration. Only works if you have enabled the \"Send "
1012
+ "Notification to Admin\" option above."
1013
+ msgstr ""
1014
+ "Diese E-Mail wird an den Admin gesendet, wenn ein neuer Benutzer die "
1015
+ "Mitgliedschaftsregistrierung abschließt. Funktioniert nur, wenn Sie die "
1016
+ "Option \"Benachrichtigung an Admin senden\" oben aktiviert haben."
1017
+
1018
+ #: simple-membership/classes/class.swpm-settings.php:140
1019
+ msgid "Email Settings (Registration Complete)"
1020
+ msgstr "E-Mail-Einstellungen (Anmeldung abgeschlossen)"
1021
+
1022
+ #: simple-membership/classes/class.swpm-settings.php:145
1023
+ msgid "Send Notification to Admin"
1024
+ msgstr "Benachrichtigung an Admin senden"
1025
+
1026
+ #: simple-membership/classes/class.swpm-settings.php:146
1027
+ msgid ""
1028
+ "Enable this option if you want the admin to receive a notification when a "
1029
+ "member registers."
1030
+ msgstr ""
1031
+ "Aktivieren Sie diese Option, wenn der Administrator eine Benachrichtigung "
1032
+ "erhalten soll, wenn ein Mitglied registriert wird."
1033
+
1034
+ #: simple-membership/classes/class.swpm-settings.php:147
1035
+ msgid "Admin Email Address"
1036
+ msgstr "Admin E-Mail-Adresse"
1037
+
1038
+ #: simple-membership/classes/class.swpm-settings.php:149
1039
+ msgid "Admin Notification Email Subject"
1040
+ msgstr "Admin Benachrichtigung E-Mail Betreff"
1041
+
1042
+ #: simple-membership/classes/class.swpm-settings.php:151
1043
+ msgid "Admin Notification Email Body"
1044
+ msgstr "Admin Benachrichtigung E-Mail Nachrichtentext"
1045
+
1046
+ #: simple-membership/classes/class.swpm-settings.php:154
1047
+ msgid "Send Email to Member When Added via Admin Dashboard"
1048
+ msgstr ""
1049
+ "E-Mail an Mitglied senden, wenn es über das Admin-Dashboard hinzugefügt wurde"
1050
+
1051
+ #: simple-membership/classes/class.swpm-settings.php:158
1052
+ msgid "Email Settings (Password Reset)"
1053
+ msgstr "E-Mail-Einstellungen (Passwort zurücksetzen)"
1054
+
1055
+ #: simple-membership/classes/class.swpm-settings.php:163
1056
+ msgid " Email Settings (Account Upgrade Notification)"
1057
+ msgstr " E-Mail-Einstellungen (Kontoaktualisierungsbenachrichtigung)"
1058
+
1059
+ #: simple-membership/classes/class.swpm-settings.php:168
1060
+ msgid " Email Settings (Bulk Account Activate Notification)"
1061
+ msgstr " E-Mail-Einstellungen (Account Benachrichtigung aktivieren)"
1062
+
1063
+ #: simple-membership/classes/class.swpm-settings.php:191
1064
+ msgid "Enable Expired Account Login"
1065
+ msgstr "Aktivieren Sie das \"abgelaufene Konto\" Login"
1066
+
1067
+ #: simple-membership/classes/class.swpm-settings.php:192
1068
+ msgid ""
1069
+ "When enabled, expired members will be able to log into the system but won't "
1070
+ "be able to view any protected content. This allows them to easily renew "
1071
+ "their account by making another payment."
1072
+ msgstr ""
1073
+ "Wenn aktiviert, können abgelaufene Mitglieder sich in das System anmelden, "
1074
+ "können aber keine geschützten Inhalte anzeigen. Dies ermöglicht es ihnen, "
1075
+ "dass Ihre Nutzer ihre Mitgliedschaft verlängern können."
1076
+
1077
+ #: simple-membership/classes/class.swpm-settings.php:194
1078
+ msgid "Membership Renewal URL"
1079
+ msgstr "Mitgliedschaft Erneuerung URL"
1080
+
1081
+ #: simple-membership/classes/class.swpm-settings.php:195
1082
+ msgid ""
1083
+ "You can create a renewal page for your site. Read <a href=\"https://simple-"
1084
+ "membership-plugin.com/creating-membership-renewal-button/\" target=\"_blank"
1085
+ "\">this documentation</a> to learn how to create a renewal page."
1086
+ msgstr ""
1087
+ "Sie können eine Erneuerungsseite für Ihre Website erstellen. Lesen Sie <a "
1088
+ "href=\"https://simple-membership-plugin.com/creating-membership-renewal-"
1089
+ "button/\" target=\"_blank\"> Diese Dokumentation </a> um zu lernen, wie man "
1090
+ "eine Erneuerungsseite erstellt."
1091
+
1092
+ #: simple-membership/classes/class.swpm-settings.php:197
1093
+ msgid "Allow Account Deletion"
1094
+ msgstr "Kontolöschung zulassen"
1095
+
1096
+ #: simple-membership/classes/class.swpm-settings.php:198
1097
+ msgid "Allow users to delete their accounts."
1098
+ msgstr "Benutzern erlauben, ihre Konten zu löschen."
1099
+
1100
+ #: simple-membership/classes/class.swpm-settings.php:200
1101
+ msgid "Use WordPress Timezone"
1102
+ msgstr "Verwenden Sie die WordPress Zeitzone"
1103
+
1104
+ #: simple-membership/classes/class.swpm-settings.php:201
1105
+ msgid ""
1106
+ "Use this option if you want to use the timezone value specified in your "
1107
+ "WordPress General Settings interface."
1108
+ msgstr ""
1109
+ "Verwenden Sie diese Option, wenn Sie den in Ihrer WordPress Einstellungen "
1110
+ "angegebenen Zeitzonenwert verwenden möchten."
1111
+
1112
+ #: simple-membership/classes/class.swpm-settings.php:203
1113
+ msgid "Auto Delete Pending Account"
1114
+ msgstr "Automatisch ausstehende Kontos löschen"
1115
+
1116
+ #: simple-membership/classes/class.swpm-settings.php:206
1117
+ msgid "Select how long you want to keep \"pending\" account."
1118
+ msgstr ""
1119
+ "Wählen Sie aus, wie lange Sie ausstehende Benutzerkonten behalten möchten."
1120
+
1121
+ #: simple-membership/classes/class.swpm-settings.php:208
1122
+ msgid "Admin Dashboard Access Permission"
1123
+ msgstr "Admin-Dashboard Zugriffsberechtigung"
1124
+
1125
+ #: simple-membership/classes/class.swpm-settings.php:211
1126
+ msgid ""
1127
+ "SWPM admin dashboard is accessible to admin users only (just like any other "
1128
+ "plugin). You can allow users with other WP user role to access the SWPM "
1129
+ "admin dashboard by selecting a value here."
1130
+ msgstr ""
1131
+ "SWPM-Admin-Dashboard ist nur für Admin-Benutzer zugänglich (genau wie jedes "
1132
+ "andere Plugin). Sie können Benutzern mit anderer WP-Benutzerrolle erlauben, "
1133
+ "auf das SWPM-Admin-Dashboard zuzugreifen, indem Sie hier einen Wert "
1134
+ "auswählen."
1135
+
1136
+ #: simple-membership/classes/class.swpm-settings.php:306
1137
+ msgid "General Plugin Settings."
1138
+ msgstr "Allgemeine Plugin-Einstellungen."
1139
+
1140
+ #: simple-membership/classes/class.swpm-settings.php:310
1141
+ msgid "Page Setup and URL Related settings."
1142
+ msgstr "Page Setup und URL Zugehörige Einstellungen."
1143
+
1144
+ #: simple-membership/classes/class.swpm-settings.php:314
1145
+ msgid "Testing and Debug Related Settings."
1146
+ msgstr "Testen und Debuggen von verwandten Einstellungen."
1147
+
1148
+ #: simple-membership/classes/class.swpm-settings.php:318
1149
+ msgid ""
1150
+ "This email will be sent to your users when they complete the registration "
1151
+ "and become a member."
1152
+ msgstr ""
1153
+ "Diese E-Mail wird an Ihre Benutzer gesendet, wenn sie die Registrierung "
1154
+ "abschließen."
1155
+
1156
+ #: simple-membership/classes/class.swpm-settings.php:322
1157
+ msgid ""
1158
+ "This email will be sent to your users when they use the password reset "
1159
+ "functionality."
1160
+ msgstr ""
1161
+ "Diese E-Mail wird an Ihre Benutzer gesendet, wenn sie das Passwort "
1162
+ "zurücksetzen."
1163
+
1164
+ #: simple-membership/classes/class.swpm-settings.php:326
1165
+ msgid "Settings in this section apply to all emails."
1166
+ msgstr "Die Einstellungen in diesem Abschnitt gelten für alle E-Mails."
1167
+
1168
+ #: simple-membership/classes/class.swpm-settings.php:330
1169
+ msgid ""
1170
+ "This email will be sent to your users after account upgrade (when an "
1171
+ "existing member pays for a new membership level)."
1172
+ msgstr ""
1173
+ "Diese E-Mail wird an Ihre Benutzer nach dem Konto-Upgrade gesendet (wenn ein "
1174
+ "bestehendes Mitglied für eine neue Mitgliedschaftsstufe bezahlt)."
1175
+
1176
+ #: simple-membership/classes/class.swpm-settings.php:334
1177
+ msgid ""
1178
+ "This email will be sent to your members when you use the bulk account "
1179
+ "activate and notify action."
1180
+ msgstr ""
1181
+ "Diese E-Mail wird an Ihre Mitglieder gesendet, wenn Sie das Konto aktivieren."
1182
+
1183
+ #: simple-membership/classes/class.swpm-settings.php:338
1184
+ msgid ""
1185
+ "This email will be sent to prompt users to complete registration after the "
1186
+ "payment."
1187
+ msgstr ""
1188
+ "Diese E-Mail wird gesendet, um Benutzer zu veranlassen, die Registrierung "
1189
+ "nach der Zahlung zu vervollständigen."
1190
+
1191
+ #: simple-membership/classes/class.swpm-settings.php:342
1192
+ msgid "This page allows you to configure some advanced features of the plugin."
1193
+ msgstr ""
1194
+ "Auf dieser Seite können Sie einige erweiterte Funktionen dieses Plugins "
1195
+ "konfigurieren."
1196
+
1197
+ #: simple-membership/classes/class.swpm-settings.php:451
1198
+ msgid "Simple WP Membership::Settings"
1199
+ msgstr "Simple WP Membership::Einstellungen"
1200
+
1201
+ #: simple-membership/classes/class.swpm-utils-member.php:21
1202
+ #: simple-membership/classes/class.swpm-utils-member.php:29
1203
+ #: simple-membership/classes/class.swpm-utils-member.php:37
1204
+ #: simple-membership/classes/class.swpm-utils-member.php:47
1205
+ msgid "User is not logged in."
1206
+ msgstr "Benutzer ist nicht angemeldet."
1207
+
1208
+ #: simple-membership/classes/class.swpm-utils-misc.php:50
1209
+ msgid "Registration"
1210
+ msgstr "Registrierung"
1211
+
1212
+ #: simple-membership/classes/class.swpm-utils-misc.php:73
1213
+ msgid "Member Login"
1214
+ msgstr "Login für Mitglieder"
1215
+
1216
+ #: simple-membership/classes/class.swpm-utils-misc.php:96
1217
+ msgid "Profile"
1218
+ msgstr "Profil"
1219
+
1220
+ #: simple-membership/classes/class.swpm-utils-misc.php:119
1221
+ msgid "Password Reset"
1222
+ msgstr "Passwort zurücksetzen"
1223
+
1224
+ #: simple-membership/classes/class.swpm-utils-misc.php:236
1225
+ msgid "Not a Member?"
1226
+ msgstr "Noch kein Mitglied?"
1227
+
1228
+ #: simple-membership/classes/class.swpm-utils-misc.php:247
1229
+ msgid "renew"
1230
+ msgstr "erneuern"
1231
+
1232
+ #: simple-membership/classes/class.swpm-utils-misc.php:247
1233
+ msgid " your account to gain access to this content."
1234
+ msgstr " Ihr Konto, um Zugang zu diesem Inhalt zu erhalten."
1235
+
1236
+ #: simple-membership/classes/class.swpm-utils-misc.php:289
1237
+ #: simple-membership/classes/class.swpm-utils-misc.php:295
1238
+ msgid "Error! This action ("
1239
+ msgstr "Fehler! Diese Aktion ("
1240
+
1241
+ #: simple-membership/classes/class.swpm-utils-template.php:38
1242
+ msgid "Error! Failed to find a template path for the specified template: "
1243
+ msgstr ""
1244
+ "Fehler! Fehler beim Suchen eines Vorlagenpfads für die angegebene Vorlage: "
1245
+
1246
+ #: simple-membership/classes/class.swpm-utils.php:100
1247
+ msgid "Never"
1248
+ msgstr "Niemals"
1249
+
1250
+ #: simple-membership/classes/class.swpm-utils.php:115
1251
+ msgid "Active"
1252
+ msgstr "Aktiv"
1253
+
1254
+ #: simple-membership/classes/class.swpm-utils.php:116
1255
+ msgid "Inactive"
1256
+ msgstr "Inaktiv"
1257
+
1258
+ #: simple-membership/classes/class.swpm-utils.php:117
1259
+ msgid "Pending"
1260
+ msgstr "Steht aus"
1261
+
1262
+ #: simple-membership/classes/class.swpm-utils.php:118
1263
+ msgid "Expired"
1264
+ msgstr "Abgelaufen"
1265
+
1266
+ #: simple-membership/classes/class.swpm-utils.php:452
1267
+ msgid "Delete Account"
1268
+ msgstr "Konto löschen"
1269
+
1270
+ #: simple-membership/classes/admin-includes/class.swpm-payment-buttons-list-table.php:75
1271
+ msgid "Payment Button ID"
1272
+ msgstr "Zahlungs-Button-ID"
1273
+
1274
+ #: simple-membership/classes/admin-includes/class.swpm-payment-buttons-list-table.php:76
1275
+ msgid "Payment Button Title"
1276
+ msgstr "Zahlungs Button Titel"
1277
+
1278
+ #: simple-membership/classes/admin-includes/class.swpm-payment-buttons-list-table.php:77
1279
+ msgid "Membership Level ID"
1280
+ msgstr "Mitgliedsschaftsstufen ID"
1281
+
1282
+ #: simple-membership/classes/admin-includes/class.swpm-payment-buttons-list-table.php:78
1283
+ msgid "Button Type"
1284
+ msgstr "Button Typ"
1285
+
1286
+ #: simple-membership/classes/admin-includes/class.swpm-payment-buttons-list-table.php:79
1287
+ msgid "Button Shortcode"
1288
+ msgstr "Button Shortcode"
1289
+
1290
+ #: simple-membership/classes/admin-includes/class.swpm-payment-buttons-list-table.php:127
1291
+ #: simple-membership/views/admin_members_list.php:9
1292
+ #: simple-membership/views/payments/admin_all_payment_transactions.php:32
1293
+ msgid "The selected entry was deleted!"
1294
+ msgstr "Der ausgewählte Eintrag wurde gelöscht!"
1295
+
1296
+ #: simple-membership/classes/admin-includes/class.swpm-payments-admin-menu.php:21
1297
+ msgid "Simple Membership::Payments"
1298
+ msgstr "Simple Membership::Zahlungen"
1299
+
1300
+ #: simple-membership/classes/admin-includes/class.swpm-payments-admin-menu.php:25
1301
+ msgid "Transactions"
1302
+ msgstr "Transaktionen"
1303
+
1304
+ #: simple-membership/classes/admin-includes/class.swpm-payments-admin-menu.php:26
1305
+ msgid "Manage Payment Buttons"
1306
+ msgstr "Zahlungsarten verwalten"
1307
+
1308
+ #: simple-membership/classes/admin-includes/class.swpm-payments-admin-menu.php:27
1309
+ #: simple-membership/views/payments/admin_payment_buttons.php:27
1310
+ msgid "Create New Button"
1311
+ msgstr "Neue Schaltfläche erstellen"
1312
+
1313
+ #: simple-membership/classes/admin-includes/class.swpm-payments-list-table.php:57
1314
+ msgid "View Profile"
1315
+ msgstr "Profil anzeigen"
1316
+
1317
+ #: simple-membership/classes/admin-includes/class.swpm-payments-list-table.php:76
1318
+ msgid "Row ID"
1319
+ msgstr "Zeilen-ID"
1320
+
1321
+ #: simple-membership/classes/admin-includes/class.swpm-payments-list-table.php:77
1322
+ #: simple-membership/views/forgot_password.php:5
1323
+ msgid "Email Address"
1324
+ msgstr "E-Mail Adresse"
1325
+
1326
+ #: simple-membership/classes/admin-includes/class.swpm-payments-list-table.php:80
1327
+ msgid "Member Profile"
1328
+ msgstr "Nutzerprofil"
1329
+
1330
+ #: simple-membership/classes/admin-includes/class.swpm-payments-list-table.php:81
1331
+ msgid "Date"
1332
+ msgstr "Datum"
1333
+
1334
+ #: simple-membership/classes/admin-includes/class.swpm-payments-list-table.php:82
1335
+ msgid "Transaction ID"
1336
+ msgstr "Transaktions-ID"
1337
+
1338
+ #: simple-membership/classes/admin-includes/class.swpm-payments-list-table.php:83
1339
+ msgid "Subscriber ID"
1340
+ msgstr "Abonnenten-ID"
1341
+
1342
+ #: simple-membership/classes/admin-includes/class.swpm-payments-list-table.php:84
1343
+ msgid "Amount"
1344
+ msgstr "Summe"
1345
+
1346
+ #: simple-membership/classes/shortcode-related/class.swpm-shortcodes-handler.php:57
1347
+ msgid "Your membership profile will be updated to reflect the payment."
1348
+ msgstr "Ihr Profil wird aktualisiert, um die Zahlung zu geltend zu machen."
1349
+
1350
+ #: simple-membership/classes/shortcode-related/class.swpm-shortcodes-handler.php:58
1351
+ msgid "Your profile username: "
1352
+ msgstr "Ihr Benutzername: "
1353
+
1354
+ #: simple-membership/classes/shortcode-related/class.swpm-shortcodes-handler.php:70
1355
+ msgid "Click on the following link to complete the registration."
1356
+ msgstr ""
1357
+ "Klicken Sie auf den folgenden Link, um die Registrierung abzuschließen."
1358
+
1359
+ #: simple-membership/classes/shortcode-related/class.swpm-shortcodes-handler.php:71
1360
+ msgid "Click here to complete your paid registration"
1361
+ msgstr "Klicken Sie hier, um Ihre bezahlte Registrierung abzuschließen"
1362
+
1363
+ #: simple-membership/classes/shortcode-related/class.swpm-shortcodes-handler.php:76
1364
+ msgid ""
1365
+ "If you have just made a membership payment then your payment is yet to be "
1366
+ "processed. Please check back in a few minutes. An email will be sent to you "
1367
+ "with the details shortly."
1368
+ msgstr ""
1369
+ "Wenn Sie gerade eine Mitgliedschaft bezahlt haben, dann konnte Ihre Zahlung "
1370
+ "noch nicht verarbeitet werden. Probieren Sie es in ein paar Minuten erneut. "
1371
+ "Eine Bestätigungs E-Mail wird Ihnen in Kürze zugesandt."
1372
+
1373
+ #: simple-membership/classes/shortcode-related/class.swpm-shortcodes-handler.php:90
1374
+ msgid "Expiry: "
1375
+ msgstr "Ablauf: "
1376
+
1377
+ #: simple-membership/classes/shortcode-related/class.swpm-shortcodes-handler.php:92
1378
+ msgid "You are not logged-in as a member"
1379
+ msgstr "Sie sind nicht als Mitglied angemeldet. "
1380
+
1381
+ #: simple-membership/views/add.php:15 simple-membership/views/admin_add.php:19
1382
+ #: simple-membership/views/admin_edit.php:39
1383
+ #: simple-membership/views/edit.php:21 simple-membership/views/login.php:17
1384
+ msgid "Password"
1385
+ msgstr "Passwort"
1386
+
1387
+ #: simple-membership/views/add.php:19 simple-membership/views/edit.php:25
1388
+ msgid "Repeat Password"
1389
+ msgstr "Passwort wiederholen"
1390
+
1391
+ #: simple-membership/views/add.php:53
1392
+ msgid "Register"
1393
+ msgstr "Registrieren"
1394
+
1395
+ #: simple-membership/views/admin_add.php:7
1396
+ msgid "Create a brand new user and add it to this site."
1397
+ msgstr ""
1398
+ "Erstellen Sie einen neuen Benutzer und fügen Sie ihn zu dieser Website hinzu."
1399
+
1400
+ #: simple-membership/views/admin_add.php:11
1401
+ #: simple-membership/views/admin_add.php:15
1402
+ #: simple-membership/views/admin_add_level.php:12
1403
+ #: simple-membership/views/admin_add_level.php:16
1404
+ #: simple-membership/views/admin_add_level.php:20
1405
+ #: simple-membership/views/admin_edit.php:14
1406
+ #: simple-membership/views/admin_edit.php:35
1407
+ #: simple-membership/views/admin_edit_level.php:16
1408
+ #: simple-membership/views/admin_edit_level.php:20
1409
+ #: simple-membership/views/admin_edit_level.php:24
1410
+ msgid "(required)"
1411
+ msgstr "(erforderlich)"
1412
+
1413
+ #: simple-membership/views/admin_add.php:15
1414
+ #: simple-membership/views/admin_edit.php:35
1415
+ msgid "E-mail"
1416
+ msgstr "E-Mail Adresse"
1417
+
1418
+ #: simple-membership/views/admin_add.php:19
1419
+ msgid "(twice, required)"
1420
+ msgstr "(Zweimal erforderlich)"
1421
+
1422
+ #: simple-membership/views/admin_add.php:24
1423
+ #: simple-membership/views/admin_edit.php:43
1424
+ msgid "Strength indicator"
1425
+ msgstr "Passwortsicherheit"
1426
+
1427
+ #: simple-membership/views/admin_add.php:25
1428
+ #: simple-membership/views/admin_edit.php:44
1429
+ msgid ""
1430
+ "Hint: The password should be at least seven characters long. To make it "
1431
+ "stronger, use upper and lower case letters, numbers and symbols like ! \" ? "
1432
+ "$ % ^ &amp; )."
1433
+ msgstr ""
1434
+ "Hinweis: Das Passwort sollte mindestens sieben Zeichen lang sein. Um es "
1435
+ "stärker zu machen, verwenden Sie Groß- und Kleinbuchstaben, Zahlen und "
1436
+ "Symbole wie! \" ? $ % ^ &)."
1437
+
1438
+ #: simple-membership/views/admin_add.php:29
1439
+ #: simple-membership/views/admin_edit.php:48
1440
+ #: simple-membership/views/loggedin.php:10
1441
+ msgid "Account Status"
1442
+ msgstr "Kontostatus"
1443
+
1444
+ #: simple-membership/views/admin_add.php:39
1445
+ msgid "Add New Member "
1446
+ msgstr "Neues Mitglied hinzufügen "
1447
+
1448
+ #: simple-membership/views/admin_addon_settings.php:3
1449
+ msgid ""
1450
+ "Some of the simple membership plugin's addon settings and options will be "
1451
+ "displayed here (if you have them)"
1452
+ msgstr ""
1453
+ "Einige der einfachen Addoneinstellungen und Optionen werden hier angezeigt"
1454
+
1455
+ #: simple-membership/views/admin_addon_settings.php:8
1456
+ msgid "Save Changes"
1457
+ msgstr "Änderungen speichern"
1458
+
1459
+ #: simple-membership/views/admin_add_level.php:7
1460
+ msgid "Create new membership level."
1461
+ msgstr "Neue Mitgliedschaftsstufe erstellen."
1462
+
1463
+ #: simple-membership/views/admin_add_level.php:12
1464
+ #: simple-membership/views/admin_edit_level.php:16
1465
+ msgid "Membership Level Name"
1466
+ msgstr "Name der Mitgliedschaftsstufe"
1467
+
1468
+ #: simple-membership/views/admin_add_level.php:16
1469
+ #: simple-membership/views/admin_edit_level.php:20
1470
+ msgid "Default WordPress Role"
1471
+ msgstr "Standard-WordPress-Rolle"
1472
+
1473
+ #: simple-membership/views/admin_add_level.php:20
1474
+ #: simple-membership/views/admin_edit_level.php:24
1475
+ msgid "Access Duration"
1476
+ msgstr "Zugriffsdauer"
1477
+
1478
+ #: simple-membership/views/admin_add_level.php:23
1479
+ msgid "No Expiry (Access for this level will not expire until cancelled"
1480
+ msgstr "Kein Ablauf (Zugang für diese Ebene wird nicht abgebrochen"
1481
+
1482
+ #: simple-membership/views/admin_add_level.php:24
1483
+ #: simple-membership/views/admin_add_level.php:26
1484
+ #: simple-membership/views/admin_add_level.php:28
1485
+ #: simple-membership/views/admin_add_level.php:30
1486
+ #: simple-membership/views/admin_edit_level.php:28
1487
+ #: simple-membership/views/admin_edit_level.php:31
1488
+ #: simple-membership/views/admin_edit_level.php:34
1489
+ #: simple-membership/views/admin_edit_level.php:37
1490
+ msgid "Expire After"
1491
+ msgstr "Endet mit Ablauf"
1492
+
1493
+ #: simple-membership/views/admin_add_level.php:25
1494
+ #: simple-membership/views/admin_edit_level.php:29
1495
+ msgid "Days (Access expires after given number of days)"
1496
+ msgstr "Tage (Zugang läuft nach vorgegebener Anzahl der Tage ab.)"
1497
+
1498
+ #: simple-membership/views/admin_add_level.php:27
1499
+ msgid "Weeks (Access expires after given number of weeks"
1500
+ msgstr "Wochen (Zugang läuft nach vorgegebener Anzahl der Wochen ab.)"
1501
+
1502
+ #: simple-membership/views/admin_add_level.php:29
1503
+ #: simple-membership/views/admin_edit_level.php:35
1504
+ msgid "Months (Access expires after given number of months)"
1505
+ msgstr "Monate (Zugang läuft nach vorgegebener Anzahl der Monate ab.)"
1506
+
1507
+ #: simple-membership/views/admin_add_level.php:31
1508
+ #: simple-membership/views/admin_edit_level.php:38
1509
+ msgid "Years (Access expires after given number of years)"
1510
+ msgstr "Jahre (Zugang läuft nach vorgegebener Anzahl der Jahre ab.)"
1511
+
1512
+ #: simple-membership/views/admin_add_level.php:32
1513
+ #: simple-membership/views/admin_edit_level.php:40
1514
+ msgid "Fixed Date Expiry"
1515
+ msgstr "Festes Ablaufdatum"
1516
+
1517
+ #: simple-membership/views/admin_add_level.php:33
1518
+ #: simple-membership/views/admin_edit_level.php:41
1519
+ msgid "(Access expires on a fixed date)"
1520
+ msgstr "(Der Zugang läuft zu einem festen Termin ab)"
1521
+
1522
+ #: simple-membership/views/admin_add_level.php:39
1523
+ msgid "Add New Membership Level "
1524
+ msgstr "Neue Mitgliedschaft hinzufügen "
1525
+
1526
+ #: simple-membership/views/admin_add_ons_page.php:7
1527
+ msgid "Simple WP Membership::Add-ons"
1528
+ msgstr "Simple WP Membership::Add-ons"
1529
+
1530
+ #: simple-membership/views/admin_category_list.php:5
1531
+ msgid ""
1532
+ "First of all, globally protect the category on your site by selecting "
1533
+ "\"General Protection\" from the drop-down box below and then select the "
1534
+ "categories that should be protected from non-logged in users."
1535
+ msgstr ""
1536
+ "Zuerst schützen Sie die Kategorie auf Ihrer Website, indem Sie \"Allgemeiner "
1537
+ "Schutz\" aus dem Dropdown-Feld unten auswählen und dann die Kategorien "
1538
+ "auswählen, die vor nicht angemeldeten Benutzern geschützt werden sollen."
1539
+
1540
+ #: simple-membership/views/admin_category_list.php:8
1541
+ msgid ""
1542
+ "Next, select an existing membership level from the drop-down box below and "
1543
+ "then select the categories you want to grant access to (for that particular "
1544
+ "membership level)."
1545
+ msgstr ""
1546
+ "Als nächstes wählen Sie eine bestehende Mitgliedschaftsstufe aus der "
1547
+ "Dropdown-Liste aus. Wählen Sie dannach die Kategorien aus, denen Sie Zugriff "
1548
+ "für diese bestimmte Mitgliedschaftsstufe gewähren möchten."
1549
+
1550
+ #: simple-membership/views/admin_category_list.php:17
1551
+ msgid "Membership Level:"
1552
+ msgstr "Mitgliedschaftsstufe:"
1553
+
1554
+ #: simple-membership/views/admin_category_list.php:23
1555
+ #: simple-membership/views/edit.php:68
1556
+ msgid "Update"
1557
+ msgstr "Aktualisieren"
1558
+
1559
+ #: simple-membership/views/admin_edit.php:6
1560
+ msgid "Edit Member"
1561
+ msgstr "Mitglied bearbeiten"
1562
+
1563
+ #: simple-membership/views/admin_edit.php:8
1564
+ msgid "Edit existing member details."
1565
+ msgstr "Bearbeiten Sie die vorhandenen Mitgliedsdetails."
1566
+
1567
+ #: simple-membership/views/admin_edit.php:9
1568
+ msgid " You are currenty editing member with member ID: "
1569
+ msgstr " Sie bearbeiten gerade das Mitglied mit der Mitglieds-ID: "
1570
+
1571
+ #: simple-membership/views/admin_edit.php:39
1572
+ msgid "(twice, leave empty to retain old password)"
1573
+ msgstr "(leer lassen, um altes Passwort zu behalten)"
1574
+
1575
+ #: simple-membership/views/admin_edit.php:55
1576
+ msgid "Notify User"
1577
+ msgstr "Benutzer benachrichtigen"
1578
+
1579
+ #: simple-membership/views/admin_edit.php:62
1580
+ msgid "Subscriber ID/Reference"
1581
+ msgstr "Abonennten ID / Referenz"
1582
+
1583
+ #: simple-membership/views/admin_edit.php:66
1584
+ msgid "Last Accessed Date"
1585
+ msgstr "Letztes Zugriffsdatum"
1586
+
1587
+ #: simple-membership/views/admin_edit.php:69
1588
+ #: simple-membership/views/admin_edit.php:76
1589
+ msgid "This value gets updated when this member logs into your site."
1590
+ msgstr ""
1591
+ "Dieser Wert wird aktualisiert, wenn sich dieses Mitglied bei Ihrer Website "
1592
+ "anmeldet."
1593
+
1594
+ #: simple-membership/views/admin_edit.php:73
1595
+ msgid "Last Accessed From IP"
1596
+ msgstr "Letzter Zugriff von IP"
1597
+
1598
+ #: simple-membership/views/admin_edit.php:84
1599
+ msgid "Edit User "
1600
+ msgstr "Benutzer bearbeiten "
1601
+
1602
+ #: simple-membership/views/admin_edit.php:89
1603
+ msgid "Delete User Profile"
1604
+ msgstr "Benutzerprofil löschen"
1605
+
1606
+ #: simple-membership/views/admin_edit_level.php:6
1607
+ msgid "Edit membership level"
1608
+ msgstr "Mitgliedschaft bearbeiten"
1609
+
1610
+ #: simple-membership/views/admin_edit_level.php:9
1611
+ msgid ""
1612
+ "You can edit details of a selected membership level from this interface. "
1613
+ msgstr ""
1614
+ "Sie können von dieser Schnittstelle aus eine ausgewählte "
1615
+ "Mitgliedschaftsstufe bearbeiten. "
1616
+
1617
+ #: simple-membership/views/admin_edit_level.php:10
1618
+ msgid "You are currently editing: "
1619
+ msgstr "Sie bearbeiten gerade: "
1620
+
1621
+ #: simple-membership/views/admin_edit_level.php:27
1622
+ msgid "No Expiry (Access for this level will not expire until cancelled)"
1623
+ msgstr "Kein Ablauf (Zugriff läuft nicht ab, bis er storniert wird)"
1624
+
1625
+ #: simple-membership/views/admin_edit_level.php:32
1626
+ msgid "Weeks (Access expires after given number of weeks)"
1627
+ msgstr "Wochen (Zugang läuft nach vorgegebener Anzahl von Wochen)"
1628
+
1629
+ #: simple-membership/views/admin_edit_level.php:47
1630
+ msgid "Edit Membership Level "
1631
+ msgstr "Mitgliedschaft bearbeiten "
1632
+
1633
+ #: simple-membership/views/admin_membership_manage.php:18
1634
+ msgid "Example Content Protection Settings"
1635
+ msgstr "Beispiel Inhaltsschutzeinstellungen"
1636
+
1637
+ #: simple-membership/views/admin_member_form_common_part.php:23
1638
+ msgid "Gender"
1639
+ msgstr "Geschlecht"
1640
+
1641
+ #: simple-membership/views/admin_member_form_common_part.php:30
1642
+ #: simple-membership/views/edit.php:37
1643
+ msgid "Phone"
1644
+ msgstr "Telefonnummer"
1645
+
1646
+ #: simple-membership/views/admin_member_form_common_part.php:34
1647
+ #: simple-membership/views/edit.php:41
1648
+ msgid "Street"
1649
+ msgstr "Straße"
1650
+
1651
+ #: simple-membership/views/admin_member_form_common_part.php:38
1652
+ #: simple-membership/views/edit.php:45
1653
+ msgid "City"
1654
+ msgstr "Stadt"
1655
+
1656
+ #: simple-membership/views/admin_member_form_common_part.php:42
1657
+ #: simple-membership/views/edit.php:49
1658
+ msgid "State"
1659
+ msgstr "Bundesland"
1660
+
1661
+ #: simple-membership/views/admin_member_form_common_part.php:46
1662
+ #: simple-membership/views/edit.php:53
1663
+ msgid "Zipcode"
1664
+ msgstr "PLZ"
1665
+
1666
+ #: simple-membership/views/admin_member_form_common_part.php:50
1667
+ #: simple-membership/views/edit.php:57
1668
+ msgid "Country"
1669
+ msgstr "Land"
1670
+
1671
+ #: simple-membership/views/admin_member_form_common_part.php:54
1672
+ msgid "Company"
1673
+ msgstr "Firma"
1674
+
1675
+ #: simple-membership/views/admin_member_form_common_part.php:58
1676
+ msgid "Member Since"
1677
+ msgstr "Mitglied seit"
1678
+
1679
+ #: simple-membership/views/admin_tools_settings.php:6
1680
+ msgid "Generate a Registration Completion link"
1681
+ msgstr "Erzeugen Sie einen Bestätigungslink für eine Registrierung"
1682
+
1683
+ #: simple-membership/views/admin_tools_settings.php:9
1684
+ msgid ""
1685
+ "You can manually generate a registration completion link here and give it to "
1686
+ "your customer if they have missed the email that was automatically sent out "
1687
+ "to them after the payment."
1688
+ msgstr ""
1689
+ "Sie können hier manuell einen Bestätigungslink für eine Registrierung "
1690
+ "generieren und ihn an Ihren Kunden weitergeben, wenn sie die E-Mail nicht "
1691
+ "erhlaten haben, die ihnen nach der Zahlung automatisch zugesandt wurde."
1692
+
1693
+ #: simple-membership/views/admin_tools_settings.php:14
1694
+ msgid "Generate Registration Completion Link"
1695
+ msgstr "Generierung des Bestätigungslinks"
1696
+
1697
+ #: simple-membership/views/admin_tools_settings.php:15
1698
+ msgid "For a Particular Member ID"
1699
+ msgstr "Für eine bestimmte Mitglieds-ID"
1700
+
1701
+ #: simple-membership/views/admin_tools_settings.php:17
1702
+ msgid "OR"
1703
+ msgstr "ODER"
1704
+
1705
+ #: simple-membership/views/admin_tools_settings.php:18
1706
+ msgid "For All Incomplete Registrations"
1707
+ msgstr "Für alle unvollständigen Anmeldungen"
1708
+
1709
+ #: simple-membership/views/admin_tools_settings.php:23
1710
+ msgid "Send Registration Reminder Email Too"
1711
+ msgstr "Schicken Sie die Registrierungs-Erinnerung E-Mail an"
1712
+
1713
+ #: simple-membership/views/admin_tools_settings.php:29
1714
+ msgid "Submit"
1715
+ msgstr "Absenden"
1716
+
1717
+ #: simple-membership/views/admin_tools_settings.php:38
1718
+ msgid ""
1719
+ "Link(s) generated successfully. The following link(s) can be used to "
1720
+ "complete the registration."
1721
+ msgstr ""
1722
+ "Link(s) wurde(n) erfolgreich generiert Mit den folgenden Link(s) können Sie "
1723
+ "die Registrierung abschließen."
1724
+
1725
+ #: simple-membership/views/admin_tools_settings.php:40
1726
+ msgid "Registration completion links will appear below"
1727
+ msgstr "Bestätigungslinks werden unten angezeigt"
1728
+
1729
+ #: simple-membership/views/edit.php:22 simple-membership/views/edit.php:26
1730
+ msgid "Leave empty to keep the current password"
1731
+ msgstr "Lassen Sie das Feld leer, um das aktuelle Passwort beizubehalten."
1732
+
1733
+ #: simple-membership/views/forgot_password.php:12
1734
+ msgid "Reset Password"
1735
+ msgstr "Passwort zurücksetzen"
1736
+
1737
+ #: simple-membership/views/loggedin.php:6
1738
+ msgid "Logged in as"
1739
+ msgstr "Eingeloggt als"
1740
+
1741
+ #: simple-membership/views/loggedin.php:14
1742
+ msgid "Membership"
1743
+ msgstr "Mitgliedschaft"
1744
+
1745
+ #: simple-membership/views/loggedin.php:18
1746
+ msgid "Account Expiry"
1747
+ msgstr "Kontoablauf"
1748
+
1749
+ #: simple-membership/views/loggedin.php:22
1750
+ msgid "Logout"
1751
+ msgstr "Ausloggen"
1752
+
1753
+ #: simple-membership/views/login.php:11
1754
+ msgid "Username or Email"
1755
+ msgstr "Benutzername oder Passwort"
1756
+
1757
+ #: simple-membership/views/login.php:24
1758
+ msgid "Remember Me"
1759
+ msgstr "Erinneren Sie sich an mich"
1760
+
1761
+ #: simple-membership/views/login.php:33
1762
+ msgid "Forgot Password"
1763
+ msgstr "Passwort vergessen"
1764
+
1765
+ #: simple-membership/views/payments/admin_all_payment_transactions.php:6
1766
+ msgid "All the payments/transactions of your members are recorded here."
1767
+ msgstr ""
1768
+ "Alle Zahlungen / Transaktionen Ihrer Mitglieder werden hier aufgezeichnet."
1769
+
1770
+ #: simple-membership/views/payments/admin_all_payment_transactions.php:12
1771
+ msgid "Search for a transaction by using email or name"
1772
+ msgstr "Suchen Sie nach einer Transaktion per E-Mail oder Name"
1773
+
1774
+ #: simple-membership/views/payments/admin_create_payment_buttons.php:15
1775
+ msgid ""
1776
+ "You can create new payment button for your memberships using this interface."
1777
+ msgstr ""
1778
+ "Mit dieser Oberfleche können Sie eine neue Zahlungsmöglichkeit für Ihre "
1779
+ "Mitgliedschaften erstellen."
1780
+
1781
+ #: simple-membership/views/payments/admin_create_payment_buttons.php:23
1782
+ msgid "Select Payment Button Type"
1783
+ msgstr "Wählen Sie die Zahlungsart"
1784
+
1785
+ #: simple-membership/views/payments/admin_create_payment_buttons.php:26
1786
+ msgid "PayPal Buy Now"
1787
+ msgstr "PayPal Jetzt kaufen"
1788
+
1789
+ #: simple-membership/views/payments/admin_create_payment_buttons.php:28
1790
+ msgid "PayPal Subscription"
1791
+ msgstr "PayPal Abonnement"
1792
+
1793
+ #: simple-membership/views/payments/admin_create_payment_buttons.php:30
1794
+ msgid "Stripe Buy Now"
1795
+ msgstr "Stripe Jetzt kaufen"
1796
+
1797
+ #: simple-membership/views/payments/admin_create_payment_buttons.php:32
1798
+ msgid "Braintree Buy Now"
1799
+ msgstr "Braintree Jetzt kaufen"
1800
+
1801
+ #: simple-membership/views/payments/admin_create_payment_buttons.php:39
1802
+ msgid "Next"
1803
+ msgstr "Weiter"
1804
+
1805
+ #: simple-membership/views/payments/admin_edit_payment_buttons.php:13
1806
+ msgid "You can edit a payment button using this interface."
1807
+ msgstr "Sie können über diese Oberfläche eine Zahlungsschaltfläche bearbeiten."
1808
+
1809
+ #: simple-membership/views/payments/admin_payment_buttons.php:6
1810
+ msgid ""
1811
+ "All the membership buttons that you created in the plugin are displayed here."
1812
+ msgstr ""
1813
+ "Hier werden alle Mitgliedsschaftsschaltflächen angezeigt, die du im Plugin "
1814
+ "erstellt hast."
1815
+
1816
+ #: simple-membership/views/payments/admin_payment_settings.php:21
1817
+ msgid "Error! The membership level ID ("
1818
+ msgstr "Fehler! Die Mitgliederstufen-ID ("
1819
+
1820
+ #: simple-membership/views/payments/admin_payment_settings.php:27
1821
+ msgid "PayPal Integration Settings"
1822
+ msgstr "PayPal Integration Einstellungen"
1823
+
1824
+ #: simple-membership/views/payments/admin_payment_settings.php:30
1825
+ msgid "Generate the \"Advanced Variables\" Code for your PayPal button"
1826
+ msgstr "Generieren Sie den \"Advanced Variables\" Code für Ihren PayPal-Button"
1827
+
1828
+ #: simple-membership/views/payments/admin_payment_settings.php:33
1829
+ msgid "Enter the Membership Level ID"
1830
+ msgstr "Geben Sie die Mitgliederstufen-ID ein"
1831
+
1832
+ #: simple-membership/views/payments/admin_payment_settings.php:35
1833
+ msgid "Generate Code"
1834
+ msgstr "Code generieren"
1835
+
1836
+ #: simple-membership/views/payments/payment-gateway/admin_braintree_buy_now_button.php:22
1837
+ msgid "Braintree Buy Now Button Configuration"
1838
+ msgstr "Braintree \"Jetzt kaufen\" Button Konfiguration"
1839
+
1840
+ #: simple-membership/views/payments/payment-gateway/admin_braintree_buy_now_button.php:34
1841
+ #: simple-membership/views/payments/payment-gateway/admin_paypal_buy_now_button.php:201
1842
+ #: simple-membership/views/payments/payment-gateway/admin_paypal_subscription_button.php:291
1843
+ #: simple-membership/views/payments/payment-gateway/admin_stripe_buy_now_button.php:245
1844
+ msgid "Button ID"
1845
+ msgstr "Button ID"
1846
+
1847
+ #: simple-membership/views/payments/payment-gateway/admin_braintree_buy_now_button.php:42
1848
+ #: simple-membership/views/payments/payment-gateway/admin_paypal_buy_now_button.php:26
1849
+ #: simple-membership/views/payments/payment-gateway/admin_paypal_buy_now_button.php:209
1850
+ #: simple-membership/views/payments/payment-gateway/admin_paypal_subscription_button.php:27
1851
+ #: simple-membership/views/payments/payment-gateway/admin_paypal_subscription_button.php:299
1852
+ #: simple-membership/views/payments/payment-gateway/admin_stripe_buy_now_button.php:39
1853
+ #: simple-membership/views/payments/payment-gateway/admin_stripe_buy_now_button.php:252
1854
+ msgid "Button Title"
1855
+ msgstr "Button Titel"
1856
+
1857
+ #: simple-membership/views/payments/payment-gateway/admin_braintree_buy_now_button.php:60
1858
+ #: simple-membership/views/payments/payment-gateway/admin_paypal_buy_now_button.php:44
1859
+ #: simple-membership/views/payments/payment-gateway/admin_paypal_buy_now_button.php:227
1860
+ #: simple-membership/views/payments/payment-gateway/admin_stripe_buy_now_button.php:57
1861
+ #: simple-membership/views/payments/payment-gateway/admin_stripe_buy_now_button.php:268
1862
+ msgid "Payment Amount"
1863
+ msgstr "Zahlungsbetrag"
1864
+
1865
+ #: simple-membership/views/payments/payment-gateway/admin_braintree_buy_now_button.php:68
1866
+ msgid ""
1867
+ "Braintree API key and account details. You can get this from your Braintree "
1868
+ "account."
1869
+ msgstr ""
1870
+ "Braintree API Schlüssel und Konto Details. Sie können diese aus Ihrem "
1871
+ "Braintree Konto erhalten."
1872
+
1873
+ #: simple-membership/views/payments/payment-gateway/admin_braintree_buy_now_button.php:72
1874
+ msgid "Merchant ID"
1875
+ msgstr "Händler ID"
1876
+
1877
+ #: simple-membership/views/payments/payment-gateway/admin_braintree_buy_now_button.php:80
1878
+ msgid "Public Key"
1879
+ msgstr "Öffentlicher Schlüssel"
1880
+
1881
+ #: simple-membership/views/payments/payment-gateway/admin_braintree_buy_now_button.php:87
1882
+ msgid "Private Key"
1883
+ msgstr "Privater Schlüssel"
1884
+
1885
+ #: simple-membership/views/payments/payment-gateway/admin_braintree_buy_now_button.php:95
1886
+ msgid "Merchant Account ID"
1887
+ msgstr "Händler-Konto-ID"
1888
+
1889
+ #: simple-membership/views/payments/payment-gateway/admin_braintree_buy_now_button.php:113
1890
+ #: simple-membership/views/payments/payment-gateway/admin_stripe_buy_now_button.php:137
1891
+ #: simple-membership/views/payments/payment-gateway/admin_stripe_buy_now_button.php:347
1892
+ msgid "The following details are optional."
1893
+ msgstr "Die folgenden Angaben sind optional."
1894
+
1895
+ #: simple-membership/views/payments/payment-gateway/admin_braintree_buy_now_button.php:117
1896
+ #: simple-membership/views/payments/payment-gateway/admin_paypal_buy_now_button.php:91
1897
+ #: simple-membership/views/payments/payment-gateway/admin_paypal_buy_now_button.php:274
1898
+ #: simple-membership/views/payments/payment-gateway/admin_paypal_subscription_button.php:171
1899
+ #: simple-membership/views/payments/payment-gateway/admin_paypal_subscription_button.php:443
1900
+ #: simple-membership/views/payments/payment-gateway/admin_stripe_buy_now_button.php:141
1901
+ #: simple-membership/views/payments/payment-gateway/admin_stripe_buy_now_button.php:351
1902
+ msgid "Return URL"
1903
+ msgstr "Zu URL zurückkehren"
1904
+
1905
+ #: simple-membership/views/payments/payment-gateway/admin_braintree_buy_now_button.php:127
1906
+ #: simple-membership/views/payments/payment-gateway/admin_paypal_buy_now_button.php:117
1907
+ #: simple-membership/views/payments/payment-gateway/admin_paypal_buy_now_button.php:300
1908
+ #: simple-membership/views/payments/payment-gateway/admin_paypal_subscription_button.php:191
1909
+ #: simple-membership/views/payments/payment-gateway/admin_paypal_subscription_button.php:463
1910
+ #: simple-membership/views/payments/payment-gateway/admin_stripe_buy_now_button.php:151
1911
+ #: simple-membership/views/payments/payment-gateway/admin_stripe_buy_now_button.php:361
1912
+ msgid "Save Payment Data"
1913
+ msgstr "Zahlungsdaten speichern"
1914
+
1915
+ #: simple-membership/views/payments/payment-gateway/admin_paypal_buy_now_button.php:16
1916
+ #: simple-membership/views/payments/payment-gateway/admin_paypal_buy_now_button.php:192
1917
+ msgid "PayPal Buy Now Button Configuration"
1918
+ msgstr "PayPal \"Jetzt kaufen\" Button Configuration"
1919
+
1920
+ #: simple-membership/views/payments/payment-gateway/admin_paypal_buy_now_button.php:52
1921
+ #: simple-membership/views/payments/payment-gateway/admin_paypal_buy_now_button.php:235
1922
+ #: simple-membership/views/payments/payment-gateway/admin_paypal_subscription_button.php:45
1923
+ #: simple-membership/views/payments/payment-gateway/admin_paypal_subscription_button.php:317
1924
+ #: simple-membership/views/payments/payment-gateway/admin_stripe_buy_now_button.php:65
1925
+ #: simple-membership/views/payments/payment-gateway/admin_stripe_buy_now_button.php:275
1926
+ msgid "Payment Currency"
1927
+ msgstr "Währung"
1928
+
1929
+ #: simple-membership/views/payments/payment-gateway/admin_paypal_buy_now_button.php:99
1930
+ #: simple-membership/views/payments/payment-gateway/admin_paypal_buy_now_button.php:282
1931
+ #: simple-membership/views/payments/payment-gateway/admin_paypal_subscription_button.php:84
1932
+ #: simple-membership/views/payments/payment-gateway/admin_paypal_subscription_button.php:356
1933
+ msgid "PayPal Email"
1934
+ msgstr "PayPal E-Mail Adresse"
1935
+
1936
+ #: simple-membership/views/payments/payment-gateway/admin_paypal_buy_now_button.php:107
1937
+ #: simple-membership/views/payments/payment-gateway/admin_paypal_buy_now_button.php:290
1938
+ #: simple-membership/views/payments/payment-gateway/admin_paypal_subscription_button.php:179
1939
+ #: simple-membership/views/payments/payment-gateway/admin_paypal_subscription_button.php:451
1940
+ msgid "Button Image URL"
1941
+ msgstr "Button Bild-URL"
1942
+
1943
+ #: simple-membership/views/payments/payment-gateway/admin_paypal_subscription_button.php:18
1944
+ #: simple-membership/views/payments/payment-gateway/admin_paypal_subscription_button.php:285
1945
+ msgid "PayPal Subscription Button Configuration"
1946
+ msgstr "PayPal \"Abonnieren\" Button Konfiguration"
1947
+
1948
+ #: simple-membership/views/payments/payment-gateway/admin_paypal_subscription_button.php:92
1949
+ #: simple-membership/views/payments/payment-gateway/admin_paypal_subscription_button.php:364
1950
+ msgid "Billing Amount Each Cycle"
1951
+ msgstr "Abrechnungsbetrag des Zyklusses"
1952
+
1953
+ #: simple-membership/views/payments/payment-gateway/admin_paypal_subscription_button.php:100
1954
+ #: simple-membership/views/payments/payment-gateway/admin_paypal_subscription_button.php:372
1955
+ msgid "Billing Cycle"
1956
+ msgstr "Abrechnungszyklus"
1957
+
1958
+ #: simple-membership/views/payments/payment-gateway/admin_paypal_subscription_button.php:113
1959
+ #: simple-membership/views/payments/payment-gateway/admin_paypal_subscription_button.php:385
1960
+ msgid "Billing Cycle Count"
1961
+ msgstr "Abrechnungszyklen"
1962
+
1963
+ #: simple-membership/views/payments/payment-gateway/admin_paypal_subscription_button.php:121
1964
+ #: simple-membership/views/payments/payment-gateway/admin_paypal_subscription_button.php:393
1965
+ msgid "Re-attempt on Failure"
1966
+ msgstr "Ein Fehler ist aufgetreten! (Re-attempt on Failure)"
1967
+
1968
+ #: simple-membership/views/payments/payment-gateway/admin_paypal_subscription_button.php:134
1969
+ #: simple-membership/views/payments/payment-gateway/admin_paypal_subscription_button.php:406
1970
+ msgid ""
1971
+ "Trial Billing Details (Leave empty if you are not offering a trial period)"
1972
+ msgstr ""
1973
+ "Abrechnungsdetails für Probezeitraum (Leer lassen, wenn Sie keine Probezeit "
1974
+ "anbieten)"
1975
+
1976
+ #: simple-membership/views/payments/payment-gateway/admin_paypal_subscription_button.php:140
1977
+ #: simple-membership/views/payments/payment-gateway/admin_paypal_subscription_button.php:412
1978
+ msgid "Trial Billing Amount"
1979
+ msgstr "Rechnungsbetrag für Probezeitraum"
1980
+
1981
+ #: simple-membership/views/payments/payment-gateway/admin_paypal_subscription_button.php:148
1982
+ #: simple-membership/views/payments/payment-gateway/admin_paypal_subscription_button.php:420
1983
+ msgid "Trial Billing Period"
1984
+ msgstr "Abrechnungszeitraum für Probezeitraum"
1985
+
1986
+ #: simple-membership/views/payments/payment-gateway/admin_paypal_subscription_button.php:165
1987
+ #: simple-membership/views/payments/payment-gateway/admin_paypal_subscription_button.php:437
1988
+ msgid "Optional Details"
1989
+ msgstr "Optionale Details"
1990
+
1991
+ #: simple-membership/views/payments/payment-gateway/admin_stripe_buy_now_button.php:29
1992
+ #: simple-membership/views/payments/payment-gateway/admin_stripe_buy_now_button.php:236
1993
+ msgid "Stripe Buy Now Button Configuration"
1994
+ msgstr "Stripe \"Jetzt kaufen\" Button Konfiguration"
1995
+
1996
+ #: simple-membership/views/payments/payment-gateway/admin_stripe_buy_now_button.php:104
1997
+ #: simple-membership/views/payments/payment-gateway/admin_stripe_buy_now_button.php:314
1998
+ msgid "Stripe API keys. You can get this from your Stripe account."
1999
+ msgstr "API-Schlüssel. Sie können diese von Ihrem Stripe-Konto erhalten."
2000
+
2001
+ #: simple-membership/views/payments/payment-gateway/admin_stripe_buy_now_button.php:108
2002
+ #: simple-membership/views/payments/payment-gateway/admin_stripe_buy_now_button.php:318
2003
+ msgid "Test Secret Key"
2004
+ msgstr "Testen Sie den geheimen Schlüssel"
2005
+
2006
+ #: simple-membership/views/payments/payment-gateway/admin_stripe_buy_now_button.php:115
2007
+ #: simple-membership/views/payments/payment-gateway/admin_stripe_buy_now_button.php:325
2008
+ msgid "Test Publishable Key"
2009
+ msgstr "Testen Sie den veröffentlichungs Schlüssel"
2010
+
2011
+ #: simple-membership/views/payments/payment-gateway/admin_stripe_buy_now_button.php:122
2012
+ #: simple-membership/views/payments/payment-gateway/admin_stripe_buy_now_button.php:332
2013
+ msgid "Live Secret Key"
2014
+ msgstr "Geheimer Schlüssel"
2015
+
2016
+ #: simple-membership/views/payments/payment-gateway/admin_stripe_buy_now_button.php:129
2017
+ #: simple-membership/views/payments/payment-gateway/admin_stripe_buy_now_button.php:339
2018
+ msgid "Live Publishable Key"
2019
+ msgstr "Veröffentlichungs Schlüssel"
2020
+
2021
+ #: simple-membership/views/payments/payment-gateway/braintree_button_shortcode_view.php:20
2022
+ #: simple-membership/views/payments/payment-gateway/paypal_button_shortcode_view.php:86
2023
+ #: simple-membership/views/payments/payment-gateway/paypal_button_shortcode_view.php:88
2024
+ #: simple-membership/views/payments/payment-gateway/stripe_button_shortcode_view.php:20
2025
+ msgid "Buy Now"
2026
+ msgstr "Kaufen"
2027
+
2028
+ #: simple-membership/views/payments/payment-gateway/paypal_button_shortcode_view.php:216
2029
+ #: simple-membership/views/payments/payment-gateway/paypal_button_shortcode_view.php:218
2030
+ msgid "Subscribe Now"
2031
+ msgstr "Abonnieren"
2032
+
2033
+ #: Translation strings from addons === Form builder addon
2034
+ msgid "Type password Here"
2035
+ msgstr "Passwort hier eingeben"
2036
+
2037
+ msgid "Retype password Here"
2038
+ msgstr "Passwort hier wiederholen"
2039
+
2040
+ msgid "Registration is complete. You can now log into the site."
2041
+ msgstr "Die Registrierung ist abgeschlossen. Sie können sich jetzt anmelden."
2042
+
2043
+ msgid " Field has invalid character"
2044
+ msgstr " Ungültige Zeichen im Feld"
2045
+
2046
+ msgid " Password does not match"
2047
+ msgstr " Das Passwort stimmt nicht überein"
2048
+
2049
+ msgid "Already taken."
2050
+ msgstr "Wird schon verwendet."
2051
+
2052
+ msgid "Street Address"
2053
+ msgstr "Straße"
2054
+
2055
+ msgid "Apt, Suite, Bldg. (optional)"
2056
+ msgstr "Abteilung"
2057
+
2058
+ msgid "State / Province / Region"
2059
+ msgstr "Bundesland"
2060
+
2061
+ msgid "Postal / Zip Code"
2062
+ msgstr "Postleitzahl"
2063
+
2064
+ msgid ""
2065
+ "Check this box to delete the image. The image will be deleted when you save "
2066
+ "the profile."
2067
+ msgstr ""
2068
+ "Aktivieren Sie dieses Kontrollkästchen, um das Bild zu löschen. Das Bild "
2069
+ "wird erst gelöscht, wenn Sie das Profil speichern."
2070
+
2071
+ #: === Partial protection addon strings
2072
+ msgid "You do not have permission to view this content."
2073
+ msgstr "Sie sind nicht berechtigt, diesen Inhalt anzuzeigen."
2074
+
2075
+ msgid "Your membership level does not have permission to view this content."
2076
+ msgstr ""
2077
+ "Ihre Mitgliedschaftsstufe hat keine Berechtigung, diesen Inhalt anzuzeigen."
2078
+
2079
+ msgid "This content is for members only."
2080
+ msgstr "Dieser Inhalt ist nur für Mitglieder."
languages/{swpm-el_GR.mo → simple-membership-el_GR.mo} RENAMED
File without changes
languages/{swpm-el_GR.po → simple-membership-el_GR.po} RENAMED
File without changes
languages/{swpm-es_ES.mo → simple-membership-es_ES.mo} RENAMED
File without changes
languages/{swpm-es_ES.po → simple-membership-es_ES.po} RENAMED
File without changes
languages/{swpm-es_MX.mo → simple-membership-es_MX.mo} RENAMED
File without changes
languages/{swpm-es_MX.po → simple-membership-es_MX.po} RENAMED
File without changes
languages/{swpm-et_EE.mo → simple-membership-et_EE.mo} RENAMED
File without changes
languages/{swpm-et_EE.po → simple-membership-et_EE.po} RENAMED
File without changes
languages/{swpm-fi_FI.mo → simple-membership-fi_FI.mo} RENAMED
File without changes
languages/{swpm-fi_FI.po → simple-membership-fi_FI.po} RENAMED
File without changes
languages/{swpm-fr_FR.mo → simple-membership-fr_FR.mo} RENAMED
File without changes
languages/{swpm-fr_FR.po → simple-membership-fr_FR.po} RENAMED
File without changes
languages/{swpm-he_IL.mo → simple-membership-he_IL.mo} RENAMED
File without changes
languages/{swpm-he_IL.po → simple-membership-he_IL.po} RENAMED
File without changes
languages/{swpm-hu_HU.mo → simple-membership-hu_HU.mo} RENAMED
File without changes
languages/{swpm-hu_HU.po → simple-membership-hu_HU.po} RENAMED
File without changes
languages/{swpm-id_ID.mo → simple-membership-id_ID.mo} RENAMED
File without changes
languages/{swpm-id_ID.po → simple-membership-id_ID.po} RENAMED
File without changes
languages/{swpm-it_IT.mo → simple-membership-it_IT.mo} RENAMED
File without changes
languages/{swpm-it_IT.po → simple-membership-it_IT.po} RENAMED
File without changes
languages/{swpm-ja.mo → simple-membership-ja.mo} RENAMED
File without changes
languages/{swpm-ja.po → simple-membership-ja.po} RENAMED
@@ -1131,7 +1131,7 @@ msgstr "更新"
1131
 
1132
  #: views/forgot_password.php:12
1133
  msgid "Reset Password"
1134
- msgstr "パスワードリセッ"
1135
 
1136
  #: views/loggedin.php:3
1137
  msgid "Logged in as"
1131
 
1132
  #: views/forgot_password.php:12
1133
  msgid "Reset Password"
1134
+ msgstr "パスワードリセット"
1135
 
1136
  #: views/loggedin.php:3
1137
  msgid "Logged in as"
languages/{swpm-ja_JA.mo → simple-membership-ja_JA.mo} RENAMED
File without changes
languages/{swpm-ja_JA.po → simple-membership-ja_JA.po} RENAMED
File without changes
languages/{swpm-lt_LT.mo → simple-membership-lt_LT.mo} RENAMED
File without changes
languages/{swpm-lt_LT.po → simple-membership-lt_LT.po} RENAMED
File without changes
languages/{swpm-lv_LV.mo → simple-membership-lv_LV.mo} RENAMED
File without changes
languages/{swpm-lv_LV.po → simple-membership-lv_LV.po} RENAMED
File without changes
languages/{swpm-mk_MK.mo → simple-membership-mk_MK.mo} RENAMED
File without changes
languages/{swpm-mk_MK.po → simple-membership-mk_MK.po} RENAMED
File without changes
languages/{swpm-nb_NO.mo → simple-membership-nb_NO.mo} RENAMED
File without changes
languages/{swpm-nb_NO.po → simple-membership-nb_NO.po} RENAMED
File without changes
languages/{swpm-nl_BE.mo → simple-membership-nl_BE.mo} RENAMED
File without changes
languages/{swpm-nl_BE.po → simple-membership-nl_BE.po} RENAMED
File without changes
languages/{swpm-nl_NL.mo → simple-membership-nl_NL.mo} RENAMED
File without changes
languages/{swpm-nl_NL.po → simple-membership-nl_NL.po} RENAMED
File without changes
languages/{swpm-pl_PL.mo → simple-membership-pl_PL.mo} RENAMED
File without changes
languages/{swpm-pl_PL.po → simple-membership-pl_PL.po} RENAMED
File without changes
languages/{swpm-pt_BR.mo → simple-membership-pt_BR.mo} RENAMED
File without changes
languages/{swpm-pt_BR.po → simple-membership-pt_BR.po} RENAMED
File without changes
languages/{swpm-pt_PT.mo → simple-membership-pt_PT.mo} RENAMED
File without changes
languages/{swpm-pt_PT.po → simple-membership-pt_PT.po} RENAMED
File without changes
languages/{swpm-ro_RO.mo → simple-membership-ro_RO.mo} RENAMED
File without changes
languages/{swpm-ro_RO.po → simple-membership-ro_RO.po} RENAMED
File without changes
languages/{swpm-ru_RU.mo → simple-membership-ru_RU.mo} RENAMED
File without changes
languages/{swpm-ru_RU.po → simple-membership-ru_RU.po} RENAMED
File without changes
languages/{swpm-sk_SK.mo → simple-membership-sk_SK.mo} RENAMED
File without changes
languages/{swpm-sk_SK.po → simple-membership-sk_SK.po} RENAMED
File without changes
languages/{swpm-sr_RS.mo → simple-membership-sr_RS.mo} RENAMED
File without changes
languages/{swpm-sr_RS.po → simple-membership-sr_RS.po} RENAMED
File without changes
languages/{swpm-sv_SE.mo → simple-membership-sv_SE.mo} RENAMED
File without changes
languages/{swpm-sv_SE.po → simple-membership-sv_SE.po} RENAMED
File without changes
languages/{swpm-tr_TR.mo → simple-membership-tr_TR.mo} RENAMED
File without changes
languages/{swpm-tr_TR.po → simple-membership-tr_TR.po} RENAMED
File without changes
languages/{swpm-zh_CN.mo → simple-membership-zh_CN.mo} RENAMED
File without changes
languages/{swpm-zh_CN.po → simple-membership-zh_CN.po} RENAMED
File without changes
languages/{swpm-zh_Hans.mo → simple-membership-zh_Hans.mo} RENAMED
File without changes
languages/{swpm-zh_Hans.po → simple-membership-zh_Hans.po} RENAMED
File without changes
languages/{swpm.pot → simple-membership.pot} RENAMED
File without changes
languages/swpm-de_DE.mo DELETED
Binary file
languages/swpm-de_DE.po DELETED
@@ -1,710 +0,0 @@
1
- msgid ""
2
- msgstr ""
3
- "Project-Id-Version: simple membership plugin depal\n"
4
- "POT-Creation-Date: 2014-08-28 19:28+1000\n"
5
- "PO-Revision-Date: 2015-07-07 13:12+0200\n"
6
- "Last-Translator: \n"
7
- "Language-Team: \n"
8
- "MIME-Version: 1.0\n"
9
- "Content-Type: text/plain; charset=UTF-8\n"
10
- "Content-Transfer-Encoding: 8bit\n"
11
- "X-Generator: Poedit 1.8.2\n"
12
- "X-Poedit-KeywordsList: __;_e\n"
13
- "X-Poedit-Basepath: .\n"
14
- "Plural-Forms: nplurals=2; plural=(n != 1);\n"
15
- "Language: en_US\n"
16
- "X-Poedit-SearchPath-0: .\n"
17
-
18
- #: classes/class.bAccessControl.php:23 classes/class.bAccessControl.php:40
19
- msgid "You are not allowed to view this content"
20
- msgstr "Sie haben keine Berechtigung diesen Inhalt zu sehen."
21
-
22
- #: classes/class.bAccessControl.php:26 classes/class.bAccessControl.php:43
23
- msgid "You need to login to view this content. "
24
- msgstr "Sie müssen Sich einloggen um den Inhalt lesen zu können."
25
-
26
- #: classes/class.bAdminRegistration.php:48
27
- #: classes/class.bFrontRegistration.php:64
28
- msgid "Registration Successful."
29
- msgstr "Registrierung erfolgreich"
30
-
31
- #: classes/class.bAdminRegistration.php:53
32
- #: classes/class.bAdminRegistration.php:73
33
- #: classes/class.bMembershipLevel.php:36 classes/class.bMembershipLevel.php:54
34
- msgid "Please correct the following:"
35
- msgstr "Bitte korrigieren Sie folgendes:"
36
-
37
- #: classes/class.bAjax.php:16 classes/class.bAjax.php:28
38
- msgid "Aready taken"
39
- msgstr "bereits verwendet"
40
-
41
- #: classes/class.bAjax.php:29
42
- msgid "Available"
43
- msgstr "verfügbar"
44
-
45
- #: classes/class.bAuth.php:48 classes/class.bFrontRegistration.php:179
46
- msgid "User Not Found."
47
- msgstr "Benutzer unbekannt"
48
-
49
- #: classes/class.bAuth.php:55
50
- msgid "Password Empty or Invalid."
51
- msgstr "kein oder ungültiges Passwort"
52
-
53
- #: classes/class.bAuth.php:79
54
- msgid "Account is inactive."
55
- msgstr "Account in inaktiv"
56
-
57
- #: classes/class.bAuth.php:89
58
- msgid "You are logged in as:"
59
- msgstr "eingeloggt als:"
60
-
61
- #: classes/class.bAuth.php:128
62
- msgid "Logged Out Successfully."
63
- msgstr "Sie haben Sich erfolgreich ausgeloggt"
64
-
65
- #: classes/class.bAuth.php:170
66
- msgid "Session Expired."
67
- msgstr "Sitzung abgelaufen"
68
-
69
- #: classes/class.bAuth.php:179
70
- msgid "Invalid User Name"
71
- msgstr "Ungültiger Benutzername"
72
-
73
- #: classes/class.bAuth.php:187
74
- msgid "Bad Cookie Hash"
75
- msgstr "Bad Cookie Hash"
76
-
77
- #: classes/class.bForm.php:26
78
- msgid ""
79
- "Wordpress account exists with given user name. But given email doesn't match."
80
- msgstr ""
81
- "Es existiert bereits ein Account mit den angegebenen Benutzernamen. Die E-"
82
- "Mail Adresse passt nicht zum Benutznamen"
83
-
84
- #: classes/class.bForm.php:31
85
- msgid ""
86
- "Wordpress account exists with given email. But given user name doesn't match."
87
- msgstr ""
88
- "Es existiert bereits ein Account mit der angegebenen E-Mail Adresse. Der "
89
- "Benutzername passt nicht zur E-Mail Adresse"
90
-
91
- #: classes/class.bForm.php:40
92
- msgid "User name is required"
93
- msgstr "Benutzername erforderlich"
94
-
95
- #: classes/class.bForm.php:49
96
- msgid "User name already exists."
97
- msgstr "Benutzername wird bereits verwendet"
98
-
99
- #: classes/class.bForm.php:72
100
- msgid "Password is required"
101
- msgstr "Passwort erforderlich"
102
-
103
- #: classes/class.bForm.php:79
104
- msgid "Password mismatch"
105
- msgstr "Passwörter stimmen nicht überein"
106
-
107
- #: classes/class.bForm.php:95
108
- msgid "Email is required"
109
- msgstr "E-Mail Adresse erforderlich"
110
-
111
- #: classes/class.bForm.php:99
112
- msgid "Email is invalid"
113
- msgstr "ungültige E-Mail Adresse"
114
-
115
- #: classes/class.bForm.php:112
116
- msgid "Email is already used."
117
- msgstr "E-Mail Adresse wird bereits verwendet"
118
-
119
- #: classes/class.bForm.php:178
120
- msgid "Member since field is invalid"
121
- msgstr "\"Mitglied seit\" Feld ist inkorrekt"
122
-
123
- #: classes/class.bForm.php:189
124
- msgid "Subscription starts field is invalid"
125
- msgstr "\"Mitgliedschaft beginnt am\" Feld ist inkorrekt"
126
-
127
- #: classes/class.bForm.php:199
128
- msgid "Gender field is invalid"
129
- msgstr "Feld \"Geschlecht\" ist inkorrekt"
130
-
131
- #: classes/class.bForm.php:210
132
- msgid "Account state field is invalid"
133
- msgstr "Accountstatus Feld ist ungültig"
134
-
135
- #: classes/class.bFrontRegistration.php:64 classes/class.bSettings.php:326
136
- msgid "Please"
137
- msgstr "Bitte"
138
-
139
- #: classes/class.bFrontRegistration.php:64 classes/class.bSettings.php:326
140
- #: views/login.php:21
141
- msgid "Login"
142
- msgstr "Login"
143
-
144
- #: classes/class.bFrontRegistration.php:79
145
- #: classes/class.bFrontRegistration.php:158
146
- msgid "Please correct the following"
147
- msgstr "Bitte korrigieren Sie folgendes"
148
-
149
- #: classes/class.bFrontRegistration.php:92
150
- msgid "Membership Level Couldn't be found."
151
- msgstr "Mitgliedschaftslevel konnte nicht gefunden werden"
152
-
153
- #: classes/class.bFrontRegistration.php:168
154
- msgid "Email Address Not Valid."
155
- msgstr "Ungültige E-Mail Adresse"
156
-
157
- #: classes/class.bFrontRegistration.php:199
158
- msgid "New password has been sent to your email address."
159
- msgstr "Ein neues Passwort wurde an Ihre E-Mail Adresse versandt"
160
-
161
- #: classes/class.bLevelForm.php:31
162
- msgid "Subscriptoin duration must be > 0."
163
- msgstr "Mitgliedschaft muss länger als 0 sein"
164
-
165
- #: classes/class.bMembers.php:7
166
- msgid "Member"
167
- msgstr "Mitglied"
168
-
169
- #: classes/class.bMembers.php:8 classes/class.simple-wp-membership.php:467
170
- msgid "Members"
171
- msgstr "Mitglieder"
172
-
173
- #: classes/class.bMembers.php:16 classes/class.bMembershipLevels.php:16
174
- msgid "ID"
175
- msgstr "ID"
176
-
177
- #: classes/class.bMembers.php:17 views/add.php:5 views/edit.php:4
178
- #: views/login.php:5
179
- msgid "User Name"
180
- msgstr "Benutzername"
181
-
182
- #: classes/class.bMembers.php:18 views/add.php:21
183
- #: views/admin_member_form_common_part.php:2 views/edit.php:20
184
- msgid "First Name"
185
- msgstr "Vorname"
186
-
187
- #: classes/class.bMembers.php:19 views/add.php:25
188
- #: views/admin_member_form_common_part.php:6 views/edit.php:24
189
- msgid "Last Name"
190
- msgstr "Nachname"
191
-
192
- #: classes/class.bMembers.php:20 views/add.php:9 views/edit.php:8
193
- msgid "Email"
194
- msgstr "E-Mail Adresse"
195
-
196
- #: classes/class.bMembers.php:21 classes/class.bMembershipLevels.php:8
197
- #: classes/class.bMembershipLevels.php:17 views/add.php:64
198
- #: views/admin_member_form_common_part.php:55 views/edit.php:52
199
- msgid "Membership Level"
200
- msgstr "Mitgliedschaft"
201
-
202
- #: classes/class.bMembers.php:22 views/admin_member_form_common_part.php:78
203
- msgid "Subscription Starts"
204
- msgstr "Mitgliedschaft beginnt"
205
-
206
- #: classes/class.bMembers.php:23
207
- msgid "Account State"
208
- msgstr "Account Status"
209
-
210
- #: classes/class.bMembers.php:35 classes/class.bMembershipLevels.php:29
211
- msgid "Delete"
212
- msgstr "Löschen"
213
-
214
- #: classes/class.bMembers.php:100
215
- msgid "No Member found."
216
- msgstr "Kein Benutzer gefunden."
217
-
218
- #: classes/class.bMembershipLevel.php:31
219
- msgid "Membership Level Creation Successful."
220
- msgstr "Mitgliedschaftslevel erfolgreich hergestellt"
221
-
222
- #: classes/class.bMembershipLevel.php:50
223
- msgid "Updated Successfully."
224
- msgstr "Update erfolgreich"
225
-
226
- #: classes/class.bMembershipLevels.php:9
227
- #: classes/class.simple-wp-membership.php:469
228
- msgid "Membership Levels"
229
- msgstr "Migliedschaftslevels"
230
-
231
- #: classes/class.bMembershipLevels.php:18
232
- msgid "Role"
233
- msgstr "Rolle"
234
-
235
- #: classes/class.bMembershipLevels.php:19
236
- msgid "Subscription Valid For"
237
- msgstr "Mitgliedschaft gültig für"
238
-
239
- #: classes/class.bSettings.php:28
240
- msgid "Plugin Documentation"
241
- msgstr "Plugin Dokumentation"
242
-
243
- #: classes/class.bSettings.php:30
244
- msgid "General Settings"
245
- msgstr "Allgemeine Einstellungen"
246
-
247
- #: classes/class.bSettings.php:32
248
- msgid "Enable Free Membership"
249
- msgstr "Kostenlose Mitgliedschaft freischalten"
250
-
251
- #: classes/class.bSettings.php:35
252
- msgid "Enable/disable registration for free membership level"
253
- msgstr "Registrieren für kostenlose Mitgliedschaft aktivieren/deaktivieren"
254
-
255
- #: classes/class.bSettings.php:36
256
- msgid "Free Membership Level ID"
257
- msgstr "Kostenlose Mitgliedschaft "
258
-
259
- #: classes/class.bSettings.php:39
260
- msgid "Assign free membership level ID"
261
- msgstr "Kostenlose Mitgliedschafts-ID zuweisen"
262
-
263
- #: classes/class.bSettings.php:40
264
- msgid "Hide Adminbar"
265
- msgstr "Adminbar verstecken"
266
-
267
- #: classes/class.bSettings.php:43
268
- msgid ""
269
- "WordPress shows an admin toolbar to the logged in users of the site. Check "
270
- "this box if you want to hide that admin toolbar in the fronend of your site."
271
- msgstr ""
272
- "Füe eingeloggte User ist in WordPress die Admin Toolbar standardmäßig "
273
- "sichtbar. Setzen Sie ein Häkchen um die Admin Toolbar auszublenden"
274
-
275
- #: classes/class.bSettings.php:45
276
- msgid "Pages Settings"
277
- msgstr "Seiteneinstellungen"
278
-
279
- #: classes/class.bSettings.php:47
280
- msgid "Login Page URL"
281
- msgstr "Login Seite URL"
282
-
283
- #: classes/class.bSettings.php:51
284
- msgid "Registration Page URL"
285
- msgstr "Registrierungsseite URL"
286
-
287
- #: classes/class.bSettings.php:55
288
- msgid "Join Us Page URL"
289
- msgstr "Mit"
290
-
291
- #: classes/class.bSettings.php:59
292
- msgid "Edit Profile Page URL"
293
- msgstr "Profilseite URL"
294
-
295
- #: classes/class.bSettings.php:63
296
- msgid "Password Reset Page URL"
297
- msgstr "Passwort zurücksetzen URL"
298
-
299
- #: classes/class.bSettings.php:68
300
- msgid "Test & Debug Settings"
301
- msgstr "Test & Debug Einstellungen"
302
-
303
- #: classes/class.bSettings.php:74
304
- msgid "Enable Sandbox Testing"
305
- msgstr "Sandkasten Tests aktivieren"
306
-
307
- #: classes/class.bSettings.php:77
308
- msgid "Enable this option if you want to do sandbox payment testing."
309
- msgstr "Aktivieren Sie diese Option um die Sandkasten-Bezahlmethode zu testen"
310
-
311
- #: classes/class.bSettings.php:90
312
- msgid "Email Misc. Settings"
313
- msgstr "Diverse E-Mail Einstellungen"
314
-
315
- #: classes/class.bSettings.php:92
316
- msgid "From Email Address"
317
- msgstr "\"von\" E-Mail Adresse"
318
-
319
- #: classes/class.bSettings.php:97
320
- msgid "Email Settings (Prompt to Complete Registration )"
321
- msgstr "E-Mail Einstellungen (vor vollständiger Registrierung)"
322
-
323
- #: classes/class.bSettings.php:99 classes/class.bSettings.php:110
324
- #: classes/class.bSettings.php:129
325
- msgid "Email Subject"
326
- msgstr "E-Mail Betreff"
327
-
328
- #: classes/class.bSettings.php:103 classes/class.bSettings.php:114
329
- #: classes/class.bSettings.php:133
330
- msgid "Email Body"
331
- msgstr "E-Mail Text"
332
-
333
- #: classes/class.bSettings.php:108
334
- msgid "Email Settings (Registration Complete)"
335
- msgstr "E-Mail Einstellungen (Registrierung abgeschlossen)"
336
-
337
- #: classes/class.bSettings.php:118
338
- msgid "Send Notification To Admin"
339
- msgstr "Administrator benachrichtigen"
340
-
341
- #: classes/class.bSettings.php:122
342
- msgid "Send Email to Member When Added via Admin Dashboard"
343
- msgstr ""
344
- "Mitglied mit E-Mail benachrichtigen wenn er vom Administrator hinzugefügt "
345
- "wird"
346
-
347
- #: classes/class.bSettings.php:127
348
- msgid " Email Settings (Account Upgrade Notification)"
349
- msgstr "E-Mail Einstellungen (Account Upgrade Benachrichtigung)"
350
-
351
- #: classes/class.bSettings.php:326
352
- msgid "Not a Member?"
353
- msgstr "Kein Zugang?"
354
-
355
- #: classes/class.bSettings.php:326 views/login.php:30
356
- msgid "Join Us"
357
- msgstr "Noch kein Mitglied? Registriere dich hier! "
358
-
359
- #: classes/class.bUtils.php:32 views/admin_member_form_common_part.php:66
360
- msgid "Active"
361
- msgstr "Aktiv"
362
-
363
- #: classes/class.bUtils.php:33 views/admin_member_form_common_part.php:67
364
- msgid "Inactive"
365
- msgstr "Inaktiv"
366
-
367
- #: classes/class.bUtils.php:34 views/admin_member_form_common_part.php:68
368
- msgid "Pending"
369
- msgstr "ausstehend"
370
-
371
- #: classes/class.bUtils.php:35 views/admin_member_form_common_part.php:69
372
- msgid "Expired"
373
- msgstr "abgelaufen"
374
-
375
- #: classes/class.bUtils.php:225
376
- msgid "Never"
377
- msgstr "nie"
378
-
379
- #: classes/class.miscUtils.php:51
380
- msgid "Registration"
381
- msgstr "Registrierung"
382
-
383
- #: classes/class.miscUtils.php:74
384
- msgid "Member Login"
385
- msgstr "Mitglieder Login"
386
-
387
- #: classes/class.miscUtils.php:97
388
- msgid "Profile"
389
- msgstr "Profil"
390
-
391
- #: classes/class.miscUtils.php:120
392
- msgid "Password Reset"
393
- msgstr "Passwort zurücksetzen"
394
-
395
- #: classes/class.simple-wp-membership.php:178
396
- msgid "You are not logged in."
397
- msgstr "Sie sind nicht eingeloggt"
398
-
399
- #: classes/class.simple-wp-membership.php:209
400
- msgid "Simple WP Membership Protection"
401
- msgstr "Einfacher WP Mitgliedschaftsschutz"
402
-
403
- #: classes/class.simple-wp-membership.php:222
404
- msgid "Simple Membership Protection options"
405
- msgstr "Schutz-Einstellungen für Simple Membership"
406
-
407
- #: classes/class.simple-wp-membership.php:238
408
- msgid "Do you want to protect this content?"
409
- msgstr "Möchten Sie diesen Inhalt schützen?"
410
-
411
- #: classes/class.simple-wp-membership.php:243
412
- msgid "Select the membership level that can access this content:"
413
- msgstr "Migliedschaftslevel auswählen mit Zugang zu diesem Inhalt:"
414
-
415
- #: classes/class.simple-wp-membership.php:375
416
- msgid "Display SWPM Login."
417
- msgstr "Zeige SWPM Login"
418
-
419
- #: classes/class.simple-wp-membership.php:377
420
- msgid "SWPM Login"
421
- msgstr "SWPM Login"
422
-
423
- #: classes/class.simple-wp-membership.php:464
424
- msgid "WP Membership"
425
- msgstr "WP Mitgliedschaft"
426
-
427
- #: classes/class.simple-wp-membership.php:471
428
- msgid "Settings"
429
- msgstr "Einstellungen"
430
-
431
- #: views/add.php:13 views/admin_member_form_common_part.php:45
432
- #: views/edit.php:12 views/login.php:11
433
- msgid "Password"
434
- msgstr "Passwort"
435
-
436
- #: views/add.php:17 views/edit.php:16
437
- msgid "Repeat Password"
438
- msgstr "Passwort wiederholen"
439
-
440
- #: views/add.php:29 views/admin_member_form_common_part.php:10
441
- msgid "Gender"
442
- msgstr "Geschlecht"
443
-
444
- #: views/add.php:36 views/admin_member_form_common_part.php:17
445
- #: views/edit.php:28
446
- msgid "Phone"
447
- msgstr "Telefon"
448
-
449
- #: views/add.php:40 views/admin_member_form_common_part.php:21
450
- #: views/edit.php:32
451
- msgid "Street"
452
- msgstr "Straße"
453
-
454
- #: views/add.php:44 views/admin_member_form_common_part.php:25
455
- #: views/edit.php:36
456
- msgid "City"
457
- msgstr "Stadt"
458
-
459
- #: views/add.php:48 views/admin_member_form_common_part.php:29
460
- #: views/edit.php:40
461
- msgid "State"
462
- msgstr "Bundesland"
463
-
464
- #: views/add.php:52 views/admin_member_form_common_part.php:33
465
- #: views/edit.php:44
466
- msgid "Zipcode"
467
- msgstr "PLZ"
468
-
469
- #: views/add.php:56 views/admin_member_form_common_part.php:37
470
- #: views/edit.php:48
471
- msgid "Country"
472
- msgstr "Land"
473
-
474
- #: views/add.php:60 views/admin_member_form_common_part.php:41
475
- msgid "Company"
476
- msgstr "Firma"
477
-
478
- #: views/add.php:71
479
- msgid "Register"
480
- msgstr "Registrieren"
481
-
482
- #: views/admin_add.php:6
483
- msgid "Add Member"
484
- msgstr "Mitglied hinzufügen"
485
-
486
- #: views/admin_add.php:7
487
- msgid "Create a brand new user and add it to this site."
488
- msgstr "Einen neuen Benutzer erstellen und ihn zu dieser Seite hinzufügen"
489
-
490
- #: views/admin_add.php:11
491
- msgid "User name"
492
- msgstr "Benutzername"
493
-
494
- #: views/admin_add.php:11 views/admin_add.php:15 views/admin_add_level.php:11
495
- #: views/admin_add_level.php:15 views/admin_add_level.php:19
496
- #: views/admin_edit.php:9 views/admin_edit.php:13
497
- #: views/admin_edit_level.php:10 views/admin_edit_level.php:14
498
- #: views/admin_edit_level.php:18
499
- msgid "(required)"
500
- msgstr "(Pflichtfeld)"
501
-
502
- #: views/admin_add.php:15 views/admin_edit.php:13
503
- msgid "E-mail"
504
- msgstr "E-Mail"
505
-
506
- #: views/admin_add.php:19
507
- msgid "Add New Member "
508
- msgstr "Einen neuen Mitglied hinzufügen"
509
-
510
- #: views/admin_add_level.php:6
511
- msgid "Create new membership level."
512
- msgstr "Neues Mitgliedschaftslevel erstellen"
513
-
514
- #: views/admin_add_level.php:11 views/admin_edit_level.php:10
515
- msgid "Membership Level Name"
516
- msgstr "Name des Mitgliedschaftslevels"
517
-
518
- #: views/admin_add_level.php:15 views/admin_edit_level.php:14
519
- msgid "Default WordPress Role"
520
- msgstr "Standard WordPress Rolle"
521
-
522
- #: views/admin_add_level.php:19 views/admin_edit_level.php:18
523
- msgid "Subscription Duration"
524
- msgstr "Dauer der Mitgliedschaft"
525
-
526
- #: views/admin_add_level.php:26 views/admin_edit_level.php:27
527
- msgid "No Expiry"
528
- msgstr "Kein Ablauf"
529
-
530
- #: views/admin_add_level.php:55
531
- msgid "Add New Membership Level "
532
- msgstr "Neues Mitgliedschaftslevel hinzufügen"
533
-
534
- #: views/admin_edit.php:5
535
- msgid "Edit Member"
536
- msgstr "Mitglied ändern"
537
-
538
- #: views/admin_edit.php:6
539
- msgid "Edit existing member details."
540
- msgstr "Benutzer Details ändern"
541
-
542
- #: views/admin_edit.php:9
543
- msgid "Username"
544
- msgstr "Benutzername"
545
-
546
- #: views/admin_edit.php:18
547
- msgid "Edit User "
548
- msgstr "Benutzer ändern"
549
-
550
- #: views/admin_edit_level.php:5
551
- msgid "Edit membership level"
552
- msgstr "Mitgliedschaftslevel ändern"
553
-
554
- #: views/admin_edit_level.php:6
555
- msgid "Edit membership level."
556
- msgstr "Mitgliedschaftslevel ändern."
557
-
558
- #: views/admin_edit_level.php:54
559
- msgid "Edit Membership Level "
560
- msgstr "Mitgliedschaftslevel ändern"
561
-
562
- #: views/admin_members.php:2
563
- msgid "Simple WP Membership::Members"
564
- msgstr "Simple WP Membership::Members"
565
-
566
- #: views/admin_members.php:3 views/admin_members.php:19
567
- #: views/admin_membership_levels.php:21
568
- msgid "Add New"
569
- msgstr "Neu"
570
-
571
- #: views/admin_members.php:9 views/admin_membership_levels.php:11
572
- msgid "search"
573
- msgstr "suchen"
574
-
575
- #: views/admin_membership_levels.php:3
576
- msgid "Simple WP Membership::Membership Levels"
577
- msgstr "Simple WP Membership::Mitgliedschaftslevels"
578
-
579
- #: views/admin_membership_level_menu.php:2
580
- msgid "Membership level"
581
- msgstr "Mitgliedschaftslevel"
582
-
583
- #: views/admin_membership_level_menu.php:3
584
- msgid "Manage Content Production"
585
- msgstr "Content Herstellung steuern"
586
-
587
- #: views/admin_membership_manage.php:17
588
- msgid "Example Content Protection Settings"
589
- msgstr "Beispiel Inhaltsschutz Einstellungen"
590
-
591
- #: views/admin_member_form_common_part.php:45
592
- msgid "(twice, required)"
593
- msgstr "(zweimal, erforderlich)"
594
-
595
- #: views/admin_member_form_common_part.php:50
596
- msgid "Strength indicator"
597
- msgstr "Stärke"
598
-
599
- #: views/admin_member_form_common_part.php:51
600
- msgid ""
601
- "Hint: The password should be at least seven characters long. To make it "
602
- "stronger, use upper and lower case letters, numbers and symbols like ! \" ? "
603
- "$ % ^ &amp; )."
604
- msgstr ""
605
- "Hinweis: Das Passwort muss mindestens 7 Zeichen lang sein. Abwechselnde Groß-"
606
- "und Kleinschreibung, Nummern und Symbole erhöhen die Sicherheit"
607
-
608
- #: views/admin_member_form_common_part.php:64 views/loggedin.php:7
609
- #: views/login_widget_logged.php:6
610
- msgid "Account Status"
611
- msgstr "Account Status"
612
-
613
- #: views/admin_member_form_common_part.php:74
614
- msgid "Member Since"
615
- msgstr "Mitglied seit"
616
-
617
- #: views/admin_payment_settings.php:2 views/admin_settings.php:2
618
- #: views/admin_tools_settings.php:2
619
- msgid "Simple WP Membership::Settings"
620
- msgstr "Simple WP Membership Einstellungen"
621
-
622
- #: views/admin_payment_settings.php:33
623
- msgid "PayPal Integration Settings"
624
- msgstr "Paypal Integrationseinstellungen"
625
-
626
- #: views/admin_payment_settings.php:36
627
- msgid "Generate the \"Advanced Variables\" Code for your PayPal button"
628
- msgstr ""
629
- "Generiere den \"fortgeschrittene Variablen\" Code für den Paypal Button"
630
-
631
- #: views/admin_payment_settings.php:39
632
- msgid "Enter the Membership Level ID"
633
- msgstr "Mitgliedschaftslevel ID eingeben"
634
-
635
- #: views/admin_payment_settings.php:41
636
- msgid "Generate Code"
637
- msgstr "Code generieren"
638
-
639
- #: views/admin_tools_settings.php:9
640
- msgid "Generate a Registration Completion link"
641
- msgstr "Einen \"Registrierung abgeschlossen\" Link generieren"
642
-
643
- #: views/admin_tools_settings.php:12
644
- msgid ""
645
- "You can manually generate a registration completion link here and give it to "
646
- "your customer if they have missed the email that was automatically sent out "
647
- "to them after the payment."
648
- msgstr ""
649
- "Sie können hier manuell einen \"Registrierung abgeschlossen\" Link "
650
- "generieren falls Ihr Kunde die automatische E-Mail verlegt hat."
651
-
652
- #: views/admin_tools_settings.php:17
653
- msgid "Generate Registration Completion Link"
654
- msgstr "\"Registrierung Abgeschlossen\" Link generieren"
655
-
656
- #: views/admin_tools_settings.php:20
657
- msgid "OR"
658
- msgstr "ODER"
659
-
660
- #: views/admin_tools_settings.php:21
661
- msgid "For All Pending Registrations"
662
- msgstr "Für alle ausstehenden Registrierungen"
663
-
664
- #: views/admin_tools_settings.php:24
665
- msgid "Registration Completion Links Will Appear Below:"
666
- msgstr "Registrierung Abgeschlossen Links werden auftauen unter:"
667
-
668
- #: views/admin_tools_settings.php:31
669
- msgid "Send Registration Reminder Email too"
670
- msgstr "Registrierungserinnerung per E-Mail verschicken"
671
-
672
- #: views/admin_tools_settings.php:34
673
- msgid "Submit"
674
- msgstr "abschicken"
675
-
676
- #: views/edit.php:58
677
- msgid "Update"
678
- msgstr "Aktualisieren"
679
-
680
- #: views/forgot_password.php:5
681
- msgid "Email Address"
682
- msgstr "E-Mail Adresse"
683
-
684
- #: views/forgot_password.php:12
685
- msgid "Reset Password"
686
- msgstr "Passwort zurücksetzen"
687
-
688
- #: views/loggedin.php:3 views/login_widget_logged.php:3
689
- msgid "Logged in as"
690
- msgstr "Eingeloggt als"
691
-
692
- #: views/loggedin.php:11 views/login_widget_logged.php:9
693
- msgid "Membership"
694
- msgstr "Mitgliedschaft"
695
-
696
- #: views/loggedin.php:15 views/login_widget_logged.php:12
697
- msgid "Account Expiry"
698
- msgstr "Account verfällt am"
699
-
700
- #: views/loggedin.php:19 views/login_widget_logged.php:16
701
- msgid "Logout"
702
- msgstr "ausloggen"
703
-
704
- #: views/login.php:17
705
- msgid "Remember Me"
706
- msgstr "Anmeldedaten speichern"
707
-
708
- #: views/login.php:26
709
- msgid "Forgot Password"
710
- msgstr "Passwort vergessen"
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
readme.txt CHANGED
@@ -4,7 +4,7 @@ Donate link: https://simple-membership-plugin.com/
4
  Tags: member, members, members only, membership, memberships, register, WordPress membership plugin, content, content protection, paypal, restrict, restrict access, Restrict content, admin, access control, subscription, teaser, protection, profile, login, login page, bbpress, stripe, braintree
5
  Requires at least: 4.0
6
  Tested up to: 4.8
7
- Stable tag: 3.5.4
8
  License: GPLv2 or later
9
  License URI: http://www.gnu.org/licenses/gpl-2.0.html
10
 
@@ -138,6 +138,19 @@ https://simple-membership-plugin.com/
138
 
139
  == Changelog ==
140
 
 
 
 
 
 
 
 
 
 
 
 
 
 
141
  = 3.5.4 =
142
  - Added a check for PHP5.4 to detect if a server is using very old version of PHP and show an appropriate warning message. This will prevent an error on server's using old PHP version.
143
  - Added a new feature in the paypal button configuration so you can specify a custom checkout page header/logo.
4
  Tags: member, members, members only, membership, memberships, register, WordPress membership plugin, content, content protection, paypal, restrict, restrict access, Restrict content, admin, access control, subscription, teaser, protection, profile, login, login page, bbpress, stripe, braintree
5
  Requires at least: 4.0
6
  Tested up to: 4.8
7
+ Stable tag: 3.5.7
8
  License: GPLv2 or later
9
  License URI: http://www.gnu.org/licenses/gpl-2.0.html
10
 
138
 
139
  == Changelog ==
140
 
141
+ = 3.5.7 =
142
+ - Added updated German translation file.
143
+ - Fixed a permissions check bug (thanks to Neb).
144
+ - Fixed a potential XSS vulnerability.
145
+
146
+ = 3.5.6 =
147
+ - Russian Ruble (₽) currency added for PayPal Buy Now and Subscription buttons.
148
+ - "Return URL" and "Button Image URL" options for Stripe Subscription button are now properly saved and handled.
149
+ - Stripe Subscription is now automatically cancelled when a member deletes his account. Will not work for members registered prior to this update.
150
+
151
+ = 3.5.5 =
152
+ - Updated the language text domain from "swpm" to "simple-membership". This will make it easy for the translation to be handled via https://translate.wordpress.org/
153
+
154
  = 3.5.4 =
155
  - Added a check for PHP5.4 to detect if a server is using very old version of PHP and show an appropriate warning message. This will prevent an error on server's using old PHP version.
156
  - Added a new feature in the paypal button configuration so you can specify a custom checkout page header/logo.
simple-wp-membership.php CHANGED
@@ -1,7 +1,8 @@
1
  <?php
2
  /*
3
  Plugin Name: Simple WordPress Membership
4
- Version: 3.5.4
 
5
  Plugin URI: https://simple-membership-plugin.com/
6
  Author: smp7, wp.insider
7
  Author URI: https://simple-membership-plugin.com/
@@ -17,7 +18,7 @@ include_once('classes/class.simple-wp-membership.php');
17
  include_once('classes/class.swpm-cronjob.php');
18
  include_once('swpm-compat.php');
19
 
20
- define('SIMPLE_WP_MEMBERSHIP_VER', '3.5.4');
21
  define('SIMPLE_WP_MEMBERSHIP_DB_VER', '1.2');
22
  define('SIMPLE_WP_MEMBERSHIP_SITE_HOME_URL', home_url());
23
  define('SIMPLE_WP_MEMBERSHIP_PATH', dirname(__FILE__) . '/');
1
  <?php
2
  /*
3
  Plugin Name: Simple WordPress Membership
4
+ Version: 3.5.7
5
+ Text Domain: simple-membership
6
  Plugin URI: https://simple-membership-plugin.com/
7
  Author: smp7, wp.insider
8
  Author URI: https://simple-membership-plugin.com/
18
  include_once('classes/class.swpm-cronjob.php');
19
  include_once('swpm-compat.php');
20
 
21
+ define('SIMPLE_WP_MEMBERSHIP_VER', '3.5.7');
22
  define('SIMPLE_WP_MEMBERSHIP_DB_VER', '1.2');
23
  define('SIMPLE_WP_MEMBERSHIP_SITE_HOME_URL', home_url());
24
  define('SIMPLE_WP_MEMBERSHIP_PATH', dirname(__FILE__) . '/');
views/payments/payment-gateway/admin_paypal_buy_now_button.php CHANGED
@@ -73,6 +73,7 @@ function swpm_create_new_pp_buy_now_button() {
73
  <option value="NOK">Norwegian Krone</option>
74
  <option value="PHP">Philippine Pesos</option>
75
  <option value="PLN">Polish Zloty</option>
 
76
  <option value="SGD">Singapore Dollar ($)</option>
77
  <option value="ZAR">South African Rand (R)</option>
78
  <option value="KRW">South Korean Won</option>
@@ -267,6 +268,7 @@ function swpm_edit_pp_buy_now_button() {
267
  <option value="NOK" <?php echo ($payment_currency == 'NOK') ? 'selected="selected"' : ''; ?>>Norwegian Krone</option>
268
  <option value="PHP" <?php echo ($payment_currency == 'PHP') ? 'selected="selected"' : ''; ?>>Philippine Pesos</option>
269
  <option value="PLN" <?php echo ($payment_currency == 'PLN') ? 'selected="selected"' : ''; ?>>Polish Zloty</option>
 
270
  <option value="SGD" <?php echo ($payment_currency == 'SGD') ? 'selected="selected"' : ''; ?>>Singapore Dollar ($)</option>
271
  <option value="ZAR" <?php echo ($payment_currency == 'ZAR') ? 'selected="selected"' : ''; ?>>South African Rand (R)</option>
272
  <option value="KRW" <?php echo ($payment_currency == 'KRW') ? 'selected="selected"' : ''; ?>>South Korean Won</option>
73
  <option value="NOK">Norwegian Krone</option>
74
  <option value="PHP">Philippine Pesos</option>
75
  <option value="PLN">Polish Zloty</option>
76
+ <option value="RUB">Russian Ruble (₽)</option>
77
  <option value="SGD">Singapore Dollar ($)</option>
78
  <option value="ZAR">South African Rand (R)</option>
79
  <option value="KRW">South Korean Won</option>
268
  <option value="NOK" <?php echo ($payment_currency == 'NOK') ? 'selected="selected"' : ''; ?>>Norwegian Krone</option>
269
  <option value="PHP" <?php echo ($payment_currency == 'PHP') ? 'selected="selected"' : ''; ?>>Philippine Pesos</option>
270
  <option value="PLN" <?php echo ($payment_currency == 'PLN') ? 'selected="selected"' : ''; ?>>Polish Zloty</option>
271
+ <option value="RUB" <?php echo ($payment_currency == 'RUB') ? 'selected="selected"' : ''; ?>>Russian Ruble</option>
272
  <option value="SGD" <?php echo ($payment_currency == 'SGD') ? 'selected="selected"' : ''; ?>>Singapore Dollar ($)</option>
273
  <option value="ZAR" <?php echo ($payment_currency == 'ZAR') ? 'selected="selected"' : ''; ?>>South African Rand (R)</option>
274
  <option value="KRW" <?php echo ($payment_currency == 'KRW') ? 'selected="selected"' : ''; ?>>South Korean Won</option>
views/payments/payment-gateway/admin_paypal_subscription_button.php CHANGED
@@ -66,6 +66,7 @@ function swpm_create_new_pp_subscription_button() {
66
  <option value="NOK">Norwegian Krone</option>
67
  <option value="PHP">Philippine Pesos</option>
68
  <option value="PLN">Polish Zloty</option>
 
69
  <option value="SGD">Singapore Dollar ($)</option>
70
  <option value="ZAR">South African Rand (R)</option>
71
  <option value="KRW">South Korean Won</option>
@@ -190,7 +191,7 @@ function swpm_create_new_pp_subscription_button() {
190
  <p class="description">Specify an image URL if you want to customize the paypal checkout page with a custom logo/image. The image URL must be a "https" URL.</p>
191
  </td>
192
  </tr>
193
-
194
  </table>
195
  </div>
196
  </div><!-- end of optional details box -->
@@ -275,7 +276,7 @@ function swpm_edit_pp_subscription_button() {
275
  $paypal_email = get_post_meta($button_id, 'paypal_email', true);
276
  $button_image_url = get_post_meta($button_id, 'button_image_url', true);
277
  $checkout_logo_image_url = get_post_meta($button_id, 'checkout_logo_image_url', true);
278
-
279
  //Subscription billing details
280
  $billing_amount = get_post_meta($button_id, 'billing_amount', true);
281
  $billing_cycle = get_post_meta($button_id, 'billing_cycle', true);
@@ -287,7 +288,6 @@ function swpm_edit_pp_subscription_button() {
287
  $trial_billing_amount = get_post_meta($button_id, 'trial_billing_amount', true);
288
  $trial_billing_cycle = get_post_meta($button_id, 'trial_billing_cycle', true);
289
  $trial_billing_cycle_term = get_post_meta($button_id, 'trial_billing_cycle_term', true);
290
-
291
  ?>
292
  <form id="pp_button_config_form" method="post">
293
 
@@ -348,6 +348,7 @@ function swpm_edit_pp_subscription_button() {
348
  <option value="NOK" <?php echo ($payment_currency == 'NOK') ? 'selected="selected"' : ''; ?>>Norwegian Krone</option>
349
  <option value="PHP" <?php echo ($payment_currency == 'PHP') ? 'selected="selected"' : ''; ?>>Philippine Pesos</option>
350
  <option value="PLN" <?php echo ($payment_currency == 'PLN') ? 'selected="selected"' : ''; ?>>Polish Zloty</option>
 
351
  <option value="SGD" <?php echo ($payment_currency == 'SGD') ? 'selected="selected"' : ''; ?>>Singapore Dollar ($)</option>
352
  <option value="ZAR" <?php echo ($payment_currency == 'ZAR') ? 'selected="selected"' : ''; ?>>South African Rand (R)</option>
353
  <option value="KRW" <?php echo ($payment_currency == 'KRW') ? 'selected="selected"' : ''; ?>>South Korean Won</option>
@@ -402,7 +403,9 @@ function swpm_edit_pp_subscription_button() {
402
  <tr valign="top">
403
  <th scope="row"><?php echo SwpmUtils::_('Re-attempt on Failure'); ?></th>
404
  <td>
405
- <input type="checkbox" name="billing_reattempt" value="1" <?php if($billing_reattempt != ''){echo ' checked="checked"';} ?> />
 
 
406
  <p class="description">When checked, the payment will be re-attempted two more times if the payment fails. After the third failure, the subscription will be canceled..</p>
407
  </td>
408
  </tr>
@@ -464,7 +467,7 @@ function swpm_edit_pp_subscription_button() {
464
  <p class="description">If you want to customize the look of the button using an image then enter the URL of the image.</p>
465
  </td>
466
  </tr>
467
-
468
  <tr valign="top">
469
  <th scope="row"><?php echo SwpmUtils::_('Custom Checkout Page Logo Image'); ?></th>
470
  <td>
@@ -472,7 +475,7 @@ function swpm_edit_pp_subscription_button() {
472
  <p class="description">Specify an image URL if you want to customize the paypal checkout page with a custom logo/image. The image URL must be a "https" URL.</p>
473
  </td>
474
  </tr>
475
-
476
  </table>
477
  </div>
478
  </div><!-- end of optional details box -->
@@ -494,7 +497,6 @@ add_action('swpm_edit_payment_button_process_submission', 'swpm_edit_pp_subscrip
494
  function swpm_edit_pp_subscription_button_data() {
495
  if (isset($_REQUEST['swpm_pp_subscription_save_submit'])) {
496
  //This is a PayPal subscription button edit event. Process the submission.
497
-
498
  //Update and Save the edited payment button data
499
  $button_id = sanitize_text_field($_REQUEST['button_id']);
500
  $button_id = absint($button_id);
@@ -527,7 +529,7 @@ function swpm_edit_pp_subscription_button_data() {
527
  update_post_meta($button_id, 'trial_billing_amount', sanitize_text_field($_REQUEST['trial_billing_amount']));
528
  update_post_meta($button_id, 'trial_billing_cycle', sanitize_text_field($_REQUEST['trial_billing_cycle']));
529
  update_post_meta($button_id, 'trial_billing_cycle_term', sanitize_text_field($_REQUEST['trial_billing_cycle_term']));
530
-
531
  echo '<div id="message" class="updated fade"><p>Payment button data successfully updated!</p></div>';
532
  }
533
  }
66
  <option value="NOK">Norwegian Krone</option>
67
  <option value="PHP">Philippine Pesos</option>
68
  <option value="PLN">Polish Zloty</option>
69
+ <option value="RUB">Russian Ruble (₽)</option>
70
  <option value="SGD">Singapore Dollar ($)</option>
71
  <option value="ZAR">South African Rand (R)</option>
72
  <option value="KRW">South Korean Won</option>
191
  <p class="description">Specify an image URL if you want to customize the paypal checkout page with a custom logo/image. The image URL must be a "https" URL.</p>
192
  </td>
193
  </tr>
194
+
195
  </table>
196
  </div>
197
  </div><!-- end of optional details box -->
276
  $paypal_email = get_post_meta($button_id, 'paypal_email', true);
277
  $button_image_url = get_post_meta($button_id, 'button_image_url', true);
278
  $checkout_logo_image_url = get_post_meta($button_id, 'checkout_logo_image_url', true);
279
+
280
  //Subscription billing details
281
  $billing_amount = get_post_meta($button_id, 'billing_amount', true);
282
  $billing_cycle = get_post_meta($button_id, 'billing_cycle', true);
288
  $trial_billing_amount = get_post_meta($button_id, 'trial_billing_amount', true);
289
  $trial_billing_cycle = get_post_meta($button_id, 'trial_billing_cycle', true);
290
  $trial_billing_cycle_term = get_post_meta($button_id, 'trial_billing_cycle_term', true);
 
291
  ?>
292
  <form id="pp_button_config_form" method="post">
293
 
348
  <option value="NOK" <?php echo ($payment_currency == 'NOK') ? 'selected="selected"' : ''; ?>>Norwegian Krone</option>
349
  <option value="PHP" <?php echo ($payment_currency == 'PHP') ? 'selected="selected"' : ''; ?>>Philippine Pesos</option>
350
  <option value="PLN" <?php echo ($payment_currency == 'PLN') ? 'selected="selected"' : ''; ?>>Polish Zloty</option>
351
+ <option value="RUB" <?php echo ($payment_currency == 'RUB') ? 'selected="selected"' : ''; ?>>Russian Ruble</option>
352
  <option value="SGD" <?php echo ($payment_currency == 'SGD') ? 'selected="selected"' : ''; ?>>Singapore Dollar ($)</option>
353
  <option value="ZAR" <?php echo ($payment_currency == 'ZAR') ? 'selected="selected"' : ''; ?>>South African Rand (R)</option>
354
  <option value="KRW" <?php echo ($payment_currency == 'KRW') ? 'selected="selected"' : ''; ?>>South Korean Won</option>
403
  <tr valign="top">
404
  <th scope="row"><?php echo SwpmUtils::_('Re-attempt on Failure'); ?></th>
405
  <td>
406
+ <input type="checkbox" name="billing_reattempt" value="1" <?php if ($billing_reattempt != '') {
407
+ echo ' checked="checked"';
408
+ } ?> />
409
  <p class="description">When checked, the payment will be re-attempted two more times if the payment fails. After the third failure, the subscription will be canceled..</p>
410
  </td>
411
  </tr>
467
  <p class="description">If you want to customize the look of the button using an image then enter the URL of the image.</p>
468
  </td>
469
  </tr>
470
+
471
  <tr valign="top">
472
  <th scope="row"><?php echo SwpmUtils::_('Custom Checkout Page Logo Image'); ?></th>
473
  <td>
475
  <p class="description">Specify an image URL if you want to customize the paypal checkout page with a custom logo/image. The image URL must be a "https" URL.</p>
476
  </td>
477
  </tr>
478
+
479
  </table>
480
  </div>
481
  </div><!-- end of optional details box -->
497
  function swpm_edit_pp_subscription_button_data() {
498
  if (isset($_REQUEST['swpm_pp_subscription_save_submit'])) {
499
  //This is a PayPal subscription button edit event. Process the submission.
 
500
  //Update and Save the edited payment button data
501
  $button_id = sanitize_text_field($_REQUEST['button_id']);
502
  $button_id = absint($button_id);
529
  update_post_meta($button_id, 'trial_billing_amount', sanitize_text_field($_REQUEST['trial_billing_amount']));
530
  update_post_meta($button_id, 'trial_billing_cycle', sanitize_text_field($_REQUEST['trial_billing_cycle']));
531
  update_post_meta($button_id, 'trial_billing_cycle_term', sanitize_text_field($_REQUEST['trial_billing_cycle_term']));
532
+
533
  echo '<div id="message" class="updated fade"><p>Payment button data successfully updated!</p></div>';
534
  }
535
  }
views/payments/payment-gateway/admin_stripe_subscription_button.php CHANGED
@@ -17,7 +17,7 @@ function swpm_render_new_edit_stripe_subscription_button_interface($opts, $edit
17
  echo '</div>';
18
  return;
19
  }
20
-
21
  function swpm_stripe_subscr_gen_curr_opts($selected = false) {
22
  $curr_arr = array(
23
  "USD" => "US Dollars ($)",
@@ -182,7 +182,7 @@ function swpm_render_new_edit_stripe_subscription_button_interface($opts, $edit
182
  <tr valign="top">
183
  <th scope="row"><?php echo SwpmUtils::_('Return URL'); ?></th>
184
  <td>
185
- <input type="text" size="100" name="return_url" value="" />
186
  <p class="description">This is the URL the user will be redirected to after a successful payment. Enter the URL of your Thank You page here.</p>
187
  </td>
188
  </tr>
@@ -190,7 +190,7 @@ function swpm_render_new_edit_stripe_subscription_button_interface($opts, $edit
190
  <tr valign="top">
191
  <th scope="row"><?php echo SwpmUtils::_('Button Image URL'); ?></th>
192
  <td>
193
- <input type="text" size="100" name="button_image_url" value="" />
194
  <p class="description">If you want to customize the look of the button using an image then enter the URL of the image.</p>
195
  </td>
196
  </tr>
@@ -200,7 +200,8 @@ function swpm_render_new_edit_stripe_subscription_button_interface($opts, $edit
200
  </div><!-- end of optional details box -->
201
 
202
  <p class="submit">
203
- <input type="submit" name="swpm_stripe_subscription_<?php echo ($edit ? 'edit' : 'save'); ?>_submit" class="button-primary" value="<?php echo SwpmUtils::_('Save Payment Data'); ?>" >
 
204
  </p>
205
 
206
  </form>
@@ -237,7 +238,7 @@ function swpm_edit_stripe_subscription_button() {
237
  add_action('swpm_create_new_button_process_submission', 'swpm_save_edit_stripe_subscription_button_data');
238
  add_action('swpm_edit_payment_button_process_submission', 'swpm_save_edit_stripe_subscription_button_data');
239
 
240
- function swpm_save_edit_stripe_subscription_button_data() {
241
  if (isset($_REQUEST['swpm_stripe_subscription_save_submit'])) {
242
  $edit = false;
243
  }
@@ -285,7 +286,7 @@ function swpm_save_edit_stripe_subscription_button_data() {
285
  } else {
286
  $secret_key = sanitize_text_field($_REQUEST['stripe_live_secret_key']);
287
  }
288
-
289
  require_once(SIMPLE_WP_MEMBERSHIP_PATH . 'lib/stripe-util-functions.php');
290
  $result = StripeUtilFunctions::get_stripe_plan_info($secret_key, sanitize_text_field($_REQUEST['stripe_plan_id']));
291
  if ($result['success']) {
17
  echo '</div>';
18
  return;
19
  }
20
+
21
  function swpm_stripe_subscr_gen_curr_opts($selected = false) {
22
  $curr_arr = array(
23
  "USD" => "US Dollars ($)",
182
  <tr valign="top">
183
  <th scope="row"><?php echo SwpmUtils::_('Return URL'); ?></th>
184
  <td>
185
+ <input type="text" size="100" name="return_url" value="<?php echo ($edit ? $opts['return_url'][0] : ''); ?>" />
186
  <p class="description">This is the URL the user will be redirected to after a successful payment. Enter the URL of your Thank You page here.</p>
187
  </td>
188
  </tr>
190
  <tr valign="top">
191
  <th scope="row"><?php echo SwpmUtils::_('Button Image URL'); ?></th>
192
  <td>
193
+ <input type="text" size="100" name="button_image_url" value="<?php echo ($edit ? $opts['button_image_url'][0] : ''); ?>" />
194
  <p class="description">If you want to customize the look of the button using an image then enter the URL of the image.</p>
195
  </td>
196
  </tr>
200
  </div><!-- end of optional details box -->
201
 
202
  <p class="submit">
203
+ <input type="submit" name="swpm_stripe_subscription_<?php echo ($edit ? 'edit' : 'save');
204
+ ?>_submit" class="button-primary" value="<?php echo SwpmUtils::_('Save Payment Data'); ?>" >
205
  </p>
206
 
207
  </form>
238
  add_action('swpm_create_new_button_process_submission', 'swpm_save_edit_stripe_subscription_button_data');
239
  add_action('swpm_edit_payment_button_process_submission', 'swpm_save_edit_stripe_subscription_button_data');
240
 
241
+ function swpm_save_edit_stripe_subscription_button_data() {
242
  if (isset($_REQUEST['swpm_stripe_subscription_save_submit'])) {
243
  $edit = false;
244
  }
286
  } else {
287
  $secret_key = sanitize_text_field($_REQUEST['stripe_live_secret_key']);
288
  }
289
+
290
  require_once(SIMPLE_WP_MEMBERSHIP_PATH . 'lib/stripe-util-functions.php');
291
  $result = StripeUtilFunctions::get_stripe_plan_info($secret_key, sanitize_text_field($_REQUEST['stripe_plan_id']));
292
  if ($result['success']) {
views/payments/payment-gateway/stripe_button_shortcode_view.php CHANGED
@@ -47,10 +47,6 @@ function swpm_render_stripe_buy_now_button_sc_output($button_code, $args) {
47
  $price_in_cents = $payment_amount * 100; //The amount (in cents). This value is passed to Stripe API.
48
  }
49
  //Return, cancel, notifiy URLs
50
- $return_url = get_post_meta($button_id, 'return_url', true);
51
- if (empty($return_url)) {
52
- $return_url = SIMPLE_WP_MEMBERSHIP_SITE_HOME_URL;
53
- }
54
  $notify_url = SIMPLE_WP_MEMBERSHIP_SITE_HOME_URL . '/?swpm_process_stripe_buy_now=1'; //We are going to use it to do post payment processing.
55
  //$button_image_url = get_post_meta($button_id, 'button_image_url', true);//Stripe doesn't currenty support button image for their standard checkout.
56
  //User's IP address
@@ -101,7 +97,13 @@ function swpm_render_stripe_buy_now_button_sc_output($button_code, $args) {
101
  $output .= apply_filters('swpm_stripe_additional_checkout_data_parameters', ''); //Filter to allow the addition of extra data parameters for stripe checkout.
102
  $output .= "></script>";
103
  $output .= '</div>';
104
- $output .= "<button id='{$button_id}' type='submit' class='{$class}'><span>{$button_text}</span></button>";
 
 
 
 
 
 
105
 
106
  $output .= wp_nonce_field('stripe_payments', '_wpnonce', true, false);
107
  $output .= '<input type="hidden" name="item_number" value="' . $button_id . '" />';
@@ -149,10 +151,6 @@ function swpm_render_stripe_subscription_button_sc_output($button_code, $args) {
149
  }
150
 
151
  //Return, cancel, notifiy URLs
152
- $return_url = get_post_meta($button_id, 'return_url', true);
153
- if (empty($return_url)) {
154
- $return_url = SIMPLE_WP_MEMBERSHIP_SITE_HOME_URL;
155
- }
156
  $notify_url = SIMPLE_WP_MEMBERSHIP_SITE_HOME_URL . '/?swpm_process_stripe_subscription=1'; //We are going to use it to do post payment processing.
157
  //$button_image_url = get_post_meta($button_id, 'button_image_url', true);//Stripe doesn't currenty support button image for their standard checkout.
158
  //User's IP address
@@ -189,7 +187,7 @@ function swpm_render_stripe_subscription_button_sc_output($button_code, $args) {
189
 
190
  if (empty($plan_data)) {
191
  //no plan data available, let's try to request one
192
-
193
  if (version_compare(PHP_VERSION, '5.4.0', '<')) {
194
  //This server's PHP version can't handle the library.
195
  $error_msg = '<div class="swpm-red-box">';
@@ -198,7 +196,7 @@ function swpm_render_stripe_subscription_button_sc_output($button_code, $args) {
198
  $error_msg .= '</div>';
199
  return $error_msg;
200
  }
201
-
202
  require_once(SIMPLE_WP_MEMBERSHIP_PATH . 'lib/stripe-util-functions.php');
203
  $result = StripeUtilFunctions::get_stripe_plan_info($secret_key, $plan_id);
204
  if ($result['success'] === false) {
@@ -252,7 +250,13 @@ function swpm_render_stripe_subscription_button_sc_output($button_code, $args) {
252
  $output .= apply_filters('swpm_stripe_additional_checkout_data_parameters', ''); //Filter to allow the addition of extra data parameters for stripe checkout.
253
  $output .= "></script>";
254
  $output .= '</div>';
255
- $output .= "<button id='{$button_id}' type='submit' class='{$class}'><span>{$button_text}</span></button>";
 
 
 
 
 
 
256
 
257
  $output .= wp_nonce_field('stripe_payments', '_wpnonce', true, false);
258
  $output .= '<input type="hidden" name="item_number" value="' . $button_id . '" />';
47
  $price_in_cents = $payment_amount * 100; //The amount (in cents). This value is passed to Stripe API.
48
  }
49
  //Return, cancel, notifiy URLs
 
 
 
 
50
  $notify_url = SIMPLE_WP_MEMBERSHIP_SITE_HOME_URL . '/?swpm_process_stripe_buy_now=1'; //We are going to use it to do post payment processing.
51
  //$button_image_url = get_post_meta($button_id, 'button_image_url', true);//Stripe doesn't currenty support button image for their standard checkout.
52
  //User's IP address
97
  $output .= apply_filters('swpm_stripe_additional_checkout_data_parameters', ''); //Filter to allow the addition of extra data parameters for stripe checkout.
98
  $output .= "></script>";
99
  $output .= '</div>';
100
+
101
+ $button_image_url = get_post_meta($button_id, 'button_image_url', true);
102
+ if (!empty($button_image_url)) {
103
+ $output .= '<input type="image" src="' . $button_image_url . '" class="' . $class . '" alt="' . $button_text . '" title="' . $button_text . '" />';
104
+ } else {
105
+ $output .= "<button id='{$button_id}' type='submit' class='{$class}'><span>{$button_text}</span></button>";
106
+ }
107
 
108
  $output .= wp_nonce_field('stripe_payments', '_wpnonce', true, false);
109
  $output .= '<input type="hidden" name="item_number" value="' . $button_id . '" />';
151
  }
152
 
153
  //Return, cancel, notifiy URLs
 
 
 
 
154
  $notify_url = SIMPLE_WP_MEMBERSHIP_SITE_HOME_URL . '/?swpm_process_stripe_subscription=1'; //We are going to use it to do post payment processing.
155
  //$button_image_url = get_post_meta($button_id, 'button_image_url', true);//Stripe doesn't currenty support button image for their standard checkout.
156
  //User's IP address
187
 
188
  if (empty($plan_data)) {
189
  //no plan data available, let's try to request one
190
+
191
  if (version_compare(PHP_VERSION, '5.4.0', '<')) {
192
  //This server's PHP version can't handle the library.
193
  $error_msg = '<div class="swpm-red-box">';
196
  $error_msg .= '</div>';
197
  return $error_msg;
198
  }
199
+
200
  require_once(SIMPLE_WP_MEMBERSHIP_PATH . 'lib/stripe-util-functions.php');
201
  $result = StripeUtilFunctions::get_stripe_plan_info($secret_key, $plan_id);
202
  if ($result['success'] === false) {
250
  $output .= apply_filters('swpm_stripe_additional_checkout_data_parameters', ''); //Filter to allow the addition of extra data parameters for stripe checkout.
251
  $output .= "></script>";
252
  $output .= '</div>';
253
+
254
+ $button_image_url = get_post_meta($button_id, 'button_image_url', true);
255
+ if (!empty($button_image_url)) {
256
+ $output .= '<input type="image" src="' . $button_image_url . '" class="' . $class . '" alt="' . $button_text . '" title="' . $button_text . '" />';
257
+ } else {
258
+ $output .= "<button id='{$button_id}' type='submit' class='{$class}'><span>{$button_text}</span></button>";
259
+ }
260
 
261
  $output .= wp_nonce_field('stripe_payments', '_wpnonce', true, false);
262
  $output .= '<input type="hidden" name="item_number" value="' . $button_id . '" />';