Version Description
- Improved the members and payments menu rendering for smaller screen devices.
- Added a utility function to easily output a formatted date in the plugin according to the WordPress's date format settings.
- Fixed a bug in the wp username and email validation functionality. Thanks to Klaas van der Linden for pointing it out.
- The membership password reset form has been restructured (the HTML table has been removed).
Download this release
Release Info
| Developer | mra13 |
| Plugin | |
| Version | 3.1.8 |
| Comparing to | |
| See all releases | |
Code changes from version 3.1.5 to 3.1.8
- classes/admin-includes/class.swpm-payment-buttons-list-table.php +8 -2
- classes/admin-includes/class.swpm-payments-list-table.php +7 -5
- classes/class.simple-wp-membership.php +21 -4
- classes/class.swpm-access-control.php +1 -1
- classes/class.swpm-form.php +7 -4
- classes/class.swpm-front-registration.php +10 -1
- classes/class.swpm-init-time-tasks.php +1 -1
- classes/class.swpm-installation.php +30 -21
- classes/class.swpm-members.php +107 -18
- classes/class.swpm-membership-levels.php +2 -1
- classes/class.swpm-settings.php +21 -10
- classes/class.swpm-transactions.php +1 -0
- classes/{class.swpm-member-utils.php → class.swpm-utils-member.php} +29 -3
- classes/{class.swpm-misc-utils.php → class.swpm-utils-misc.php} +0 -0
- classes/class.swpm-utils.php +38 -16
- css/swpm.common.css +17 -5
- images/addons/google-recaptcha-addon.png +0 -0
- images/addons/swpm-bbpress-integration.png +0 -0
- ipn/swpm_handle_subsc_ipn.php +1 -0
- languages/swpm-pt_BR.mo +0 -0
- languages/swpm-pt_BR.po +1038 -395
- readme.txt +28 -3
- simple-wp-membership.php +2 -2
- views/admin_add_ons_page.php +16 -1
- views/admin_edit.php +18 -1
- views/admin_members_list.php +19 -9
- views/admin_members_menu.php +1 -0
- views/admin_tools_settings.php +26 -9
- views/edit.php +2 -1
- views/forgot_password.php +11 -13
- views/payments/payment-gateway/paypal_button_shortcode_view.php +12 -2
classes/admin-includes/class.swpm-payment-buttons-list-table.php
CHANGED
|
@@ -2,7 +2,7 @@
|
|
| 2 |
|
| 3 |
include_once(SIMPLE_WP_MEMBERSHIP_PATH . 'classes/common/class.swpm-list-table.php');
|
| 4 |
|
| 5 |
-
class SwpmPaymentButtonsListTable extends
|
| 6 |
|
| 7 |
private $per_page;
|
| 8 |
|
|
@@ -30,7 +30,13 @@ class SwpmPaymentButtonsListTable extends SWPM_List_Table {
|
|
| 30 |
return get_post_meta($item['ID'], 'membership_level_id', true);
|
| 31 |
break;
|
| 32 |
case 'button_shortcode':
|
| 33 |
-
$
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| 34 |
return $shortcode;
|
| 35 |
break;
|
| 36 |
}
|
| 2 |
|
| 3 |
include_once(SIMPLE_WP_MEMBERSHIP_PATH . 'classes/common/class.swpm-list-table.php');
|
| 4 |
|
| 5 |
+
class SwpmPaymentButtonsListTable extends WP_List_Table {
|
| 6 |
|
| 7 |
private $per_page;
|
| 8 |
|
| 30 |
return get_post_meta($item['ID'], 'membership_level_id', true);
|
| 31 |
break;
|
| 32 |
case 'button_shortcode':
|
| 33 |
+
$level_id = get_post_meta($item['ID'], 'membership_level_id', true);
|
| 34 |
+
if(!SwpmUtils::membership_level_id_exists($level_id)){
|
| 35 |
+
//This membership level doesn't exist. Show an error instead of the shortcode.
|
| 36 |
+
$shortcode = 'Error! The membership level you specified in this button does not exist. You may have deleted this level. Edit this button and use a valid membership level.';
|
| 37 |
+
} else {
|
| 38 |
+
$shortcode = '[swpm_payment_button id='.$item['ID'].']';
|
| 39 |
+
}
|
| 40 |
return $shortcode;
|
| 41 |
break;
|
| 42 |
}
|
classes/admin-includes/class.swpm-payments-list-table.php
CHANGED
|
@@ -2,7 +2,7 @@
|
|
| 2 |
|
| 3 |
include_once(SIMPLE_WP_MEMBERSHIP_PATH . 'classes/common/class.swpm-list-table.php');
|
| 4 |
|
| 5 |
-
class SWPMPaymentsListTable extends
|
| 6 |
|
| 7 |
function __construct() {
|
| 8 |
global $status, $page;
|
|
@@ -41,10 +41,12 @@ class SWPMPaymentsListTable extends SWPM_List_Table {
|
|
| 41 |
$column_value = '';
|
| 42 |
|
| 43 |
if(empty($member_id)){//Lets try to get the member id using unique reference
|
| 44 |
-
|
| 45 |
-
|
| 46 |
-
|
| 47 |
-
|
|
|
|
|
|
|
| 48 |
}
|
| 49 |
}
|
| 50 |
|
| 2 |
|
| 3 |
include_once(SIMPLE_WP_MEMBERSHIP_PATH . 'classes/common/class.swpm-list-table.php');
|
| 4 |
|
| 5 |
+
class SWPMPaymentsListTable extends WP_List_Table {
|
| 6 |
|
| 7 |
function __construct() {
|
| 8 |
global $status, $page;
|
| 41 |
$column_value = '';
|
| 42 |
|
| 43 |
if(empty($member_id)){//Lets try to get the member id using unique reference
|
| 44 |
+
if(!empty($subscr_id)){
|
| 45 |
+
$resultset = $wpdb->get_row($wpdb->prepare("SELECT * FROM $members_table_name where subscr_id=%s", $subscr_id), OBJECT);
|
| 46 |
+
if ($resultset) {
|
| 47 |
+
//Found a record
|
| 48 |
+
$member_id = $resultset->member_id;
|
| 49 |
+
}
|
| 50 |
}
|
| 51 |
}
|
| 52 |
|
classes/class.simple-wp-membership.php
CHANGED
|
@@ -1,9 +1,9 @@
|
|
| 1 |
<?php
|
| 2 |
|
| 3 |
-
include_once('class.swpm-misc
|
| 4 |
include_once('class.swpm-utils.php');
|
|
|
|
| 5 |
include_once('class.swpm-init-time-tasks.php');
|
| 6 |
-
include_once('class.swpm-member-utils.php');
|
| 7 |
include_once('class.swpm-settings.php');
|
| 8 |
include_once('class.swpm-protection.php');
|
| 9 |
include_once('class.swpm-permission.php');
|
|
@@ -75,7 +75,8 @@ class SimpleWpMembership {
|
|
| 75 |
}
|
| 76 |
|
| 77 |
function wp_password_reset_hook($user, $pass) {
|
| 78 |
-
$
|
|
|
|
| 79 |
if (!empty($swpm_id)) {
|
| 80 |
$password_hash = SwpmUtils::encrypt_password($pass);
|
| 81 |
global $wpdb;
|
|
@@ -151,9 +152,25 @@ class SimpleWpMembership {
|
|
| 151 |
}
|
| 152 |
|
| 153 |
public function hide_adminbar() {
|
| 154 |
-
|
|
|
|
|
|
|
| 155 |
return false;
|
| 156 |
}
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| 157 |
$hide = SwpmSettings::get_instance()->get_value('hide-adminbar');
|
| 158 |
return $hide ? FALSE : TRUE;
|
| 159 |
}
|
| 1 |
<?php
|
| 2 |
|
| 3 |
+
include_once('class.swpm-utils-misc.php');
|
| 4 |
include_once('class.swpm-utils.php');
|
| 5 |
+
include_once('class.swpm-utils-member.php');
|
| 6 |
include_once('class.swpm-init-time-tasks.php');
|
|
|
|
| 7 |
include_once('class.swpm-settings.php');
|
| 8 |
include_once('class.swpm-protection.php');
|
| 9 |
include_once('class.swpm-permission.php');
|
| 75 |
}
|
| 76 |
|
| 77 |
function wp_password_reset_hook($user, $pass) {
|
| 78 |
+
$swpm_user = SwpmMemberUtils::get_user_by_user_name($user->user_login);
|
| 79 |
+
$swpm_id = $swpm_user->member_id;
|
| 80 |
if (!empty($swpm_id)) {
|
| 81 |
$password_hash = SwpmUtils::encrypt_password($pass);
|
| 82 |
global $wpdb;
|
| 152 |
}
|
| 153 |
|
| 154 |
public function hide_adminbar() {
|
| 155 |
+
|
| 156 |
+
//Never show admin toolbar if the user is not even logged in
|
| 157 |
+
if (!is_user_logged_in()) {
|
| 158 |
return false;
|
| 159 |
}
|
| 160 |
+
|
| 161 |
+
//Show admin toolbar to admin only feature is enabled.
|
| 162 |
+
$show_to_admin = SwpmSettings::get_instance()->get_value('show-adminbar-admin-only');
|
| 163 |
+
if($show_to_admin){
|
| 164 |
+
if (current_user_can('administrator')) {
|
| 165 |
+
//This is an admin user so show the tooldbar
|
| 166 |
+
return true;
|
| 167 |
+
}
|
| 168 |
+
else{
|
| 169 |
+
return false;
|
| 170 |
+
}
|
| 171 |
+
}
|
| 172 |
+
|
| 173 |
+
//Hide admin toolbar if the hide adminbar feature is enabled
|
| 174 |
$hide = SwpmSettings::get_instance()->get_value('hide-adminbar');
|
| 175 |
return $hide ? FALSE : TRUE;
|
| 176 |
}
|
classes/class.swpm-access-control.php
CHANGED
|
@@ -38,7 +38,7 @@ class SwpmAccessControl {
|
|
| 38 |
$protect_older_posts = apply_filters('swpm_should_protect_older_post', false, $id);
|
| 39 |
if ($protect_older_posts){
|
| 40 |
$this->lastError = apply_filters ('swpm_restricted_post_msg_older_post',
|
| 41 |
-
SwpmUtils::_('This content can only be viewed by members who joined on or before ' .
|
| 42 |
return false;
|
| 43 |
}
|
| 44 |
$perms = SwpmPermission::get_instance($auth->get('membership_level'));
|
| 38 |
$protect_older_posts = apply_filters('swpm_should_protect_older_post', false, $id);
|
| 39 |
if ($protect_older_posts){
|
| 40 |
$this->lastError = apply_filters ('swpm_restricted_post_msg_older_post',
|
| 41 |
+
SwpmUtils::_('This content can only be viewed by members who joined on or before ' . SwpmUtils::get_formatted_date_according_to_wp_settings($post->post_date) ));
|
| 42 |
return false;
|
| 43 |
}
|
| 44 |
$perms = SwpmPermission::get_instance($auth->get('membership_level'));
|
classes/class.swpm-form.php
CHANGED
|
@@ -20,18 +20,21 @@ class SwpmForm {
|
|
| 20 |
protected function validate_wp_user_email(){
|
| 21 |
$user_name = filter_input(INPUT_POST, 'user_name',FILTER_SANITIZE_STRING);
|
| 22 |
$email = filter_input(INPUT_POST, 'email', FILTER_UNSAFE_RAW);
|
| 23 |
-
if (empty($user_name)) {
|
|
|
|
|
|
|
|
|
|
| 24 |
$user = get_user_by('login', $user_name);
|
| 25 |
-
if ($user && ($user->
|
| 26 |
$this->errors['wp_email'] = SwpmUtils::_('Wordpress account exists with given username. But given email doesn\'t match.');
|
| 27 |
return;
|
| 28 |
}
|
| 29 |
$user = get_user_by('email', $email);
|
| 30 |
-
if($user && ($user_name != $user->
|
| 31 |
$this->errors['wp_user'] = SwpmUtils::_('Wordpress account exists with given email. But given username doesn\'t match.');
|
| 32 |
-
|
| 33 |
}
|
| 34 |
}
|
|
|
|
| 35 |
protected function user_name() {
|
| 36 |
global $wpdb;
|
| 37 |
if (!empty($this->fields['user_name'])){return;}
|
| 20 |
protected function validate_wp_user_email(){
|
| 21 |
$user_name = filter_input(INPUT_POST, 'user_name',FILTER_SANITIZE_STRING);
|
| 22 |
$email = filter_input(INPUT_POST, 'email', FILTER_UNSAFE_RAW);
|
| 23 |
+
if (empty($user_name)) {
|
| 24 |
+
return;
|
| 25 |
+
}
|
| 26 |
+
|
| 27 |
$user = get_user_by('login', $user_name);
|
| 28 |
+
if ($user && ($user->user_email != $email)){
|
| 29 |
$this->errors['wp_email'] = SwpmUtils::_('Wordpress account exists with given username. But given email doesn\'t match.');
|
| 30 |
return;
|
| 31 |
}
|
| 32 |
$user = get_user_by('email', $email);
|
| 33 |
+
if($user && ($user_name != $user->user_login)){
|
| 34 |
$this->errors['wp_user'] = SwpmUtils::_('Wordpress account exists with given email. But given username doesn\'t match.');
|
|
|
|
| 35 |
}
|
| 36 |
}
|
| 37 |
+
|
| 38 |
protected function user_name() {
|
| 39 |
global $wpdb;
|
| 40 |
if (!empty($this->fields['user_name'])){return;}
|
classes/class.swpm-front-registration.php
CHANGED
|
@@ -209,7 +209,8 @@ class SwpmFrontRegistration extends SwpmRegistration {
|
|
| 209 |
$password_hash = SwpmUtils::encrypt_password(trim($password)); //should use $saned??;
|
| 210 |
$wpdb->update($wpdb->prefix . "swpm_members_tbl", array('password' => $password_hash), array('member_id' => $user->member_id));
|
| 211 |
|
| 212 |
-
//
|
|
|
|
| 213 |
SwpmUtils::update_wp_user($user->user_name, array('plain_password' => $password));
|
| 214 |
|
| 215 |
$body = $settings->get_value('reset-mail-body');
|
|
@@ -221,6 +222,8 @@ class SwpmFrontRegistration extends SwpmRegistration {
|
|
| 221 |
$from = $settings->get_value('email-from');
|
| 222 |
$headers = "From: " . $from . "\r\n";
|
| 223 |
wp_mail($email, $subject, $body, $headers);
|
|
|
|
|
|
|
| 224 |
$message = '<div class="swpm-reset-pw-success">' . SwpmUtils::_("New password has been sent to your email address.") . '</div>';
|
| 225 |
$message .= '<div class="swpm-reset-pw-success-email">' . SwpmUtils::_("Email Address: ") . $email . '</div>';
|
| 226 |
|
|
@@ -228,4 +231,10 @@ class SwpmFrontRegistration extends SwpmRegistration {
|
|
| 228 |
SwpmTransfer::get_instance()->set('status', $message);
|
| 229 |
}
|
| 230 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| 231 |
}
|
| 209 |
$password_hash = SwpmUtils::encrypt_password(trim($password)); //should use $saned??;
|
| 210 |
$wpdb->update($wpdb->prefix . "swpm_members_tbl", array('password' => $password_hash), array('member_id' => $user->member_id));
|
| 211 |
|
| 212 |
+
//Update wp user password
|
| 213 |
+
add_filter('send_password_change_email', array(&$this, 'dont_send_password_change_email'),1,3);//Stop wordpress from sending a reset password email to admin.
|
| 214 |
SwpmUtils::update_wp_user($user->user_name, array('plain_password' => $password));
|
| 215 |
|
| 216 |
$body = $settings->get_value('reset-mail-body');
|
| 222 |
$from = $settings->get_value('email-from');
|
| 223 |
$headers = "From: " . $from . "\r\n";
|
| 224 |
wp_mail($email, $subject, $body, $headers);
|
| 225 |
+
SwpmLog::log_simple_debug("Member password has been reset. Password reset email sent to: ".$email,true);
|
| 226 |
+
|
| 227 |
$message = '<div class="swpm-reset-pw-success">' . SwpmUtils::_("New password has been sent to your email address.") . '</div>';
|
| 228 |
$message .= '<div class="swpm-reset-pw-success-email">' . SwpmUtils::_("Email Address: ") . $email . '</div>';
|
| 229 |
|
| 231 |
SwpmTransfer::get_instance()->set('status', $message);
|
| 232 |
}
|
| 233 |
|
| 234 |
+
function dont_send_password_change_email($send=false, $user='', $userdata='')
|
| 235 |
+
{
|
| 236 |
+
//Stop the WordPress's default password change email notification to site admin
|
| 237 |
+
//Only the simple membership plugin's password reset email will be sent.
|
| 238 |
+
return false;
|
| 239 |
+
}
|
| 240 |
}
|
classes/class.swpm-init-time-tasks.php
CHANGED
|
@@ -89,7 +89,7 @@ class SwpmInitTimeTasks {
|
|
| 89 |
|
| 90 |
private function verify_and_delete_account() {
|
| 91 |
include_once(SIMPLE_WP_MEMBERSHIP_PATH . 'classes/class.swpm-members.php');
|
| 92 |
-
$delete_account = filter_input(INPUT_GET, '
|
| 93 |
if (empty($delete_account)) {
|
| 94 |
return;
|
| 95 |
}
|
| 89 |
|
| 90 |
private function verify_and_delete_account() {
|
| 91 |
include_once(SIMPLE_WP_MEMBERSHIP_PATH . 'classes/class.swpm-members.php');
|
| 92 |
+
$delete_account = filter_input(INPUT_GET, 'swpm_delete_account');
|
| 93 |
if (empty($delete_account)) {
|
| 94 |
return;
|
| 95 |
}
|
classes/class.swpm-installation.php
CHANGED
|
@@ -52,16 +52,16 @@ class SwpmInstallation {
|
|
| 52 |
$sql = "CREATE TABLE " . $wpdb->prefix . "swpm_members_tbl (
|
| 53 |
member_id int(12) NOT NULL PRIMARY KEY AUTO_INCREMENT,
|
| 54 |
user_name varchar(255) NOT NULL,
|
| 55 |
-
first_name varchar(
|
| 56 |
-
last_name varchar(
|
| 57 |
-
password varchar(
|
| 58 |
member_since date NOT NULL DEFAULT '0000-00-00',
|
| 59 |
membership_level smallint(6) NOT NULL,
|
| 60 |
more_membership_levels VARCHAR(100) DEFAULT NULL,
|
| 61 |
account_state enum('active','inactive','expired','pending','unsubscribed') DEFAULT 'pending',
|
| 62 |
last_accessed datetime NOT NULL DEFAULT '0000-00-00 00:00:00',
|
| 63 |
-
last_accessed_from_ip varchar(
|
| 64 |
-
email varchar(
|
| 65 |
phone varchar(64) DEFAULT NULL,
|
| 66 |
address_street varchar(255) DEFAULT NULL,
|
| 67 |
address_city varchar(255) DEFAULT NULL,
|
|
@@ -75,9 +75,9 @@ class SwpmInstallation {
|
|
| 75 |
reg_code varchar(255) DEFAULT NULL,
|
| 76 |
subscription_starts date DEFAULT NULL,
|
| 77 |
initial_membership_level smallint(6) DEFAULT NULL,
|
| 78 |
-
txn_id varchar(
|
| 79 |
-
subscr_id varchar(
|
| 80 |
-
company_name varchar(
|
| 81 |
notes text DEFAULT NULL,
|
| 82 |
flags int(11) DEFAULT '0',
|
| 83 |
profile_image varchar(255) DEFAULT ''
|
|
@@ -102,7 +102,7 @@ class SwpmInstallation {
|
|
| 102 |
disable_bookmark_list longtext,
|
| 103 |
options longtext,
|
| 104 |
protect_older_posts tinyint(1) NOT NULL DEFAULT '0',
|
| 105 |
-
campaign_name varchar(
|
| 106 |
)" . $charset_collate . " AUTO_INCREMENT=1 ;";
|
| 107 |
dbDelta($sql);
|
| 108 |
$sql = "SELECT * FROM " . $wpdb->prefix . "swpm_membership_tbl WHERE id = 1";
|
|
@@ -154,19 +154,19 @@ class SwpmInstallation {
|
|
| 154 |
|
| 155 |
$sql = "CREATE TABLE " . $wpdb->prefix . "swpm_payments_tbl (
|
| 156 |
id int(12) NOT NULL PRIMARY KEY AUTO_INCREMENT,
|
| 157 |
-
email varchar(
|
| 158 |
-
first_name varchar(
|
| 159 |
-
last_name varchar(
|
| 160 |
member_id varchar(16) DEFAULT '',
|
| 161 |
-
membership_level varchar(
|
| 162 |
txn_date date NOT NULL default '0000-00-00',
|
| 163 |
-
txn_id varchar(
|
| 164 |
-
subscr_id varchar(
|
| 165 |
-
reference varchar(
|
| 166 |
payment_amount varchar(32) NOT NULL default '',
|
| 167 |
-
gateway varchar(
|
| 168 |
status varchar(16) DEFAULT '',
|
| 169 |
-
ip_address varchar(
|
| 170 |
)" . $charset_collate . ";";
|
| 171 |
dbDelta($sql);
|
| 172 |
|
|
@@ -210,17 +210,23 @@ class SwpmInstallation {
|
|
| 210 |
|
| 211 |
$status_change_email_subject = "Account Updated!";
|
| 212 |
$status_change_email_body = "Dear {first_name} {last_name}," .
|
| 213 |
-
"\n\
|
| 214 |
" Please login to the member area at the following URL:" .
|
| 215 |
"\n\n {login_link}" .
|
| 216 |
"\n\nThank You";
|
| 217 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| 218 |
if (empty($installed_version)) {
|
| 219 |
//Do fresh install tasks
|
| 220 |
|
| 221 |
-
|
| 222 |
SwpmMiscUtils::create_mandatory_wp_pages();
|
| 223 |
-
|
| 224 |
$settings->set_value('reg-complete-mail-subject', stripslashes($reg_email_subject))
|
| 225 |
->set_value('reg-complete-mail-body', stripslashes($reg_email_body))
|
| 226 |
->set_value('reg-prompt-complete-mail-subject', stripslashes($reg_prompt_email_subject))
|
|
@@ -232,6 +238,9 @@ class SwpmInstallation {
|
|
| 232 |
->set_value('account-change-email-subject', stripslashes($status_change_email_subject))
|
| 233 |
->set_value('account-change-email-body', stripslashes($status_change_email_body))
|
| 234 |
->set_value('email-from', trim(get_option('admin_email')));
|
|
|
|
|
|
|
|
|
|
| 235 |
}
|
| 236 |
if (version_compare($installed_version, SIMPLE_WP_MEMBERSHIP_VER) == -1) {
|
| 237 |
//Do upgrade tasks
|
| 52 |
$sql = "CREATE TABLE " . $wpdb->prefix . "swpm_members_tbl (
|
| 53 |
member_id int(12) NOT NULL PRIMARY KEY AUTO_INCREMENT,
|
| 54 |
user_name varchar(255) NOT NULL,
|
| 55 |
+
first_name varchar(64) DEFAULT '',
|
| 56 |
+
last_name varchar(64) DEFAULT '',
|
| 57 |
+
password varchar(255) NOT NULL,
|
| 58 |
member_since date NOT NULL DEFAULT '0000-00-00',
|
| 59 |
membership_level smallint(6) NOT NULL,
|
| 60 |
more_membership_levels VARCHAR(100) DEFAULT NULL,
|
| 61 |
account_state enum('active','inactive','expired','pending','unsubscribed') DEFAULT 'pending',
|
| 62 |
last_accessed datetime NOT NULL DEFAULT '0000-00-00 00:00:00',
|
| 63 |
+
last_accessed_from_ip varchar(128) NOT NULL,
|
| 64 |
+
email varchar(255) DEFAULT NULL,
|
| 65 |
phone varchar(64) DEFAULT NULL,
|
| 66 |
address_street varchar(255) DEFAULT NULL,
|
| 67 |
address_city varchar(255) DEFAULT NULL,
|
| 75 |
reg_code varchar(255) DEFAULT NULL,
|
| 76 |
subscription_starts date DEFAULT NULL,
|
| 77 |
initial_membership_level smallint(6) DEFAULT NULL,
|
| 78 |
+
txn_id varchar(255) DEFAULT '',
|
| 79 |
+
subscr_id varchar(255) DEFAULT '',
|
| 80 |
+
company_name varchar(255) DEFAULT '',
|
| 81 |
notes text DEFAULT NULL,
|
| 82 |
flags int(11) DEFAULT '0',
|
| 83 |
profile_image varchar(255) DEFAULT ''
|
| 102 |
disable_bookmark_list longtext,
|
| 103 |
options longtext,
|
| 104 |
protect_older_posts tinyint(1) NOT NULL DEFAULT '0',
|
| 105 |
+
campaign_name varchar(255) NOT NULL DEFAULT ''
|
| 106 |
)" . $charset_collate . " AUTO_INCREMENT=1 ;";
|
| 107 |
dbDelta($sql);
|
| 108 |
$sql = "SELECT * FROM " . $wpdb->prefix . "swpm_membership_tbl WHERE id = 1";
|
| 154 |
|
| 155 |
$sql = "CREATE TABLE " . $wpdb->prefix . "swpm_payments_tbl (
|
| 156 |
id int(12) NOT NULL PRIMARY KEY AUTO_INCREMENT,
|
| 157 |
+
email varchar(255) DEFAULT NULL,
|
| 158 |
+
first_name varchar(64) DEFAULT '',
|
| 159 |
+
last_name varchar(64) DEFAULT '',
|
| 160 |
member_id varchar(16) DEFAULT '',
|
| 161 |
+
membership_level varchar(64) DEFAULT '',
|
| 162 |
txn_date date NOT NULL default '0000-00-00',
|
| 163 |
+
txn_id varchar(255) NOT NULL default '',
|
| 164 |
+
subscr_id varchar(255) NOT NULL default '',
|
| 165 |
+
reference varchar(255) NOT NULL default '',
|
| 166 |
payment_amount varchar(32) NOT NULL default '',
|
| 167 |
+
gateway varchar(32) DEFAULT '',
|
| 168 |
status varchar(16) DEFAULT '',
|
| 169 |
+
ip_address varchar(128) default ''
|
| 170 |
)" . $charset_collate . ";";
|
| 171 |
dbDelta($sql);
|
| 172 |
|
| 210 |
|
| 211 |
$status_change_email_subject = "Account Updated!";
|
| 212 |
$status_change_email_body = "Dear {first_name} {last_name}," .
|
| 213 |
+
"\n\nYour account status has been updated!" .
|
| 214 |
" Please login to the member area at the following URL:" .
|
| 215 |
"\n\n {login_link}" .
|
| 216 |
"\n\nThank You";
|
| 217 |
|
| 218 |
+
$bulk_activate_email_subject = "Account Activated!";
|
| 219 |
+
$bulk_activate_email_body = "Hi," .
|
| 220 |
+
"\n\nYour account has been activated!" .
|
| 221 |
+
"\n\nYou can now login to the member area." .
|
| 222 |
+
"\n\nThank You";
|
| 223 |
+
|
| 224 |
if (empty($installed_version)) {
|
| 225 |
//Do fresh install tasks
|
| 226 |
|
| 227 |
+
//Create the mandatory pages (if they are not there)
|
| 228 |
SwpmMiscUtils::create_mandatory_wp_pages();
|
| 229 |
+
//End of page creation
|
| 230 |
$settings->set_value('reg-complete-mail-subject', stripslashes($reg_email_subject))
|
| 231 |
->set_value('reg-complete-mail-body', stripslashes($reg_email_body))
|
| 232 |
->set_value('reg-prompt-complete-mail-subject', stripslashes($reg_prompt_email_subject))
|
| 238 |
->set_value('account-change-email-subject', stripslashes($status_change_email_subject))
|
| 239 |
->set_value('account-change-email-body', stripslashes($status_change_email_body))
|
| 240 |
->set_value('email-from', trim(get_option('admin_email')));
|
| 241 |
+
|
| 242 |
+
$settings->set_value('bulk-activate-notify-mail-subject', stripslashes($bulk_activate_email_subject));
|
| 243 |
+
$settings->set_value('bulk-activate-notify-mail-body', stripslashes($bulk_activate_email_body));
|
| 244 |
}
|
| 245 |
if (version_compare($installed_version, SIMPLE_WP_MEMBERSHIP_VER) == -1) {
|
| 246 |
//Do upgrade tasks
|
classes/class.swpm-members.php
CHANGED
|
@@ -2,7 +2,7 @@
|
|
| 2 |
|
| 3 |
include_once(SIMPLE_WP_MEMBERSHIP_PATH . 'classes/common/class.swpm-list-table.php');
|
| 4 |
|
| 5 |
-
class SwpmMembers extends
|
| 6 |
|
| 7 |
function __construct() {
|
| 8 |
parent::__construct(array(
|
|
@@ -40,7 +40,7 @@ class SwpmMembers extends SWPM_List_Table {
|
|
| 40 |
$actions = array(
|
| 41 |
'bulk_delete' => SwpmUtils::_('Delete'),
|
| 42 |
'bulk_active' => SwpmUtils::_('Set Status to Active'),
|
| 43 |
-
|
| 44 |
'bulk_inactive' => SwpmUtils::_('Set Status to Inactive'),
|
| 45 |
'bulk_pending' => SwpmUtils::_('Set Status to Pending'),
|
| 46 |
'bulk_expired' => SwpmUtils::_('Set Status to Expired'),
|
|
@@ -60,6 +60,14 @@ class SwpmMembers extends SWPM_List_Table {
|
|
| 60 |
);
|
| 61 |
return $item['member_id'] . $this->row_actions($actions);
|
| 62 |
}
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| 63 |
|
| 64 |
function column_cb($item) {
|
| 65 |
return sprintf(
|
|
@@ -71,32 +79,62 @@ class SwpmMembers extends SWPM_List_Table {
|
|
| 71 |
global $wpdb;
|
| 72 |
|
| 73 |
$this->process_bulk_action();
|
| 74 |
-
|
| 75 |
$query = "SELECT * FROM " . $wpdb->prefix . "swpm_members_tbl";
|
| 76 |
$query .= " LEFT JOIN " . $wpdb->prefix . "swpm_membership_tbl";
|
| 77 |
$query .= " ON ( membership_level = id ) ";
|
| 78 |
$s = filter_input(INPUT_POST, 's');
|
|
|
|
|
|
|
|
|
|
|
|
|
| 79 |
if (!empty($s)) {
|
| 80 |
-
$
|
|
|
|
| 81 |
. " OR first_name LIKE '%" . strip_tags($s) . "%' "
|
| 82 |
. " OR last_name LIKE '%" . strip_tags($s) . "%' "
|
| 83 |
. " OR email LIKE '%" . strip_tags($s) . "%' "
|
| 84 |
. " OR address_city LIKE '%" . strip_tags($s) . "%' "
|
| 85 |
. " OR address_state LIKE '%" . strip_tags($s) . "%' "
|
| 86 |
. " OR country LIKE '%" . strip_tags($s) . "%' "
|
| 87 |
-
. " OR company_name LIKE '%" . strip_tags($s) . "%' ";
|
| 88 |
}
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| 89 |
$orderby = filter_input(INPUT_GET, 'orderby');
|
| 90 |
$orderby = empty($orderby) ? 'member_id' : $orderby;
|
| 91 |
$order = filter_input(INPUT_GET, 'order');
|
| 92 |
$order = empty($order) ? 'DESC' : $order;
|
| 93 |
-
|
| 94 |
$sortable_columns = $this->get_sortable_columns();
|
| 95 |
$orderby = SwpmUtils::sanitize_value_by_array($orderby, $sortable_columns);
|
| 96 |
$order = SwpmUtils::sanitize_value_by_array($order, array('DESC' => '1', 'ASC' => '1'));
|
| 97 |
-
|
| 98 |
$query.=' ORDER BY ' . $orderby . ' ' . $order;
|
|
|
|
|
|
|
| 99 |
$totalitems = $wpdb->query($query); //return the total number of affected rows
|
|
|
|
|
|
|
| 100 |
$perpage = 20;
|
| 101 |
$paged = filter_input(INPUT_GET, 'paged');
|
| 102 |
if (empty($paged) || !is_numeric($paged) || $paged <= 0) {
|
|
@@ -120,9 +158,28 @@ class SwpmMembers extends SWPM_List_Table {
|
|
| 120 |
$this->_column_headers = array($columns, $hidden, $sortable);
|
| 121 |
$this->items = $wpdb->get_results($query, ARRAY_A);
|
| 122 |
}
|
| 123 |
-
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| 124 |
function no_items() {
|
| 125 |
-
_e('No
|
| 126 |
}
|
| 127 |
|
| 128 |
function process_form_request() {
|
|
@@ -172,18 +229,28 @@ class SwpmMembers extends SWPM_List_Table {
|
|
| 172 |
}
|
| 173 |
|
| 174 |
function process_bulk_action() {
|
| 175 |
-
//Detect when a bulk action is being triggered...
|
| 176 |
$members = isset($_REQUEST['members'])? $_REQUEST['members']: array();
|
|
|
|
| 177 |
$current_action = $this->current_action();
|
| 178 |
-
if
|
|
|
|
| 179 |
if (empty($members)) {
|
| 180 |
-
echo '<div id="message" class="
|
| 181 |
return;
|
| 182 |
-
}
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| 183 |
foreach ($members as $record_id) {
|
| 184 |
SwpmMembers::delete_user_by_id($record_id);
|
| 185 |
}
|
| 186 |
echo '<div id="message" class="updated fade"><p>Selected records deleted successfully!</p></div>';
|
|
|
|
| 187 |
}
|
| 188 |
else if ('bulk_active' === $current_action){
|
| 189 |
$this->bulk_set_status($members, 'active');
|
|
@@ -199,7 +266,9 @@ class SwpmMembers extends SWPM_List_Table {
|
|
| 199 |
}
|
| 200 |
else if ('bulk_expired' == $current_action){
|
| 201 |
$this->bulk_set_status($members, 'expired');
|
| 202 |
-
}
|
|
|
|
|
|
|
| 203 |
}
|
| 204 |
|
| 205 |
function bulk_set_status($members, $status, $notify = false ){
|
|
@@ -211,7 +280,25 @@ class SwpmMembers extends SWPM_List_Table {
|
|
| 211 |
$wpdb->query($query);
|
| 212 |
|
| 213 |
if ($notify){
|
| 214 |
-
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| 215 |
}
|
| 216 |
}
|
| 217 |
|
|
@@ -223,9 +310,10 @@ class SwpmMembers extends SWPM_List_Table {
|
|
| 223 |
}
|
| 224 |
|
| 225 |
public static function delete_user_by_id($id) {
|
| 226 |
-
$
|
| 227 |
-
|
| 228 |
-
SwpmMembers::
|
|
|
|
| 229 |
}
|
| 230 |
|
| 231 |
public static function delete_swpm_user_by_id($id) {
|
|
@@ -236,6 +324,7 @@ class SwpmMembers extends SWPM_List_Table {
|
|
| 236 |
|
| 237 |
function show() {
|
| 238 |
ob_start();
|
|
|
|
| 239 |
include_once(SIMPLE_WP_MEMBERSHIP_PATH . 'views/admin_members_list.php');
|
| 240 |
$output = ob_get_clean();
|
| 241 |
return $output;
|
| 2 |
|
| 3 |
include_once(SIMPLE_WP_MEMBERSHIP_PATH . 'classes/common/class.swpm-list-table.php');
|
| 4 |
|
| 5 |
+
class SwpmMembers extends WP_List_Table {
|
| 6 |
|
| 7 |
function __construct() {
|
| 8 |
parent::__construct(array(
|
| 40 |
$actions = array(
|
| 41 |
'bulk_delete' => SwpmUtils::_('Delete'),
|
| 42 |
'bulk_active' => SwpmUtils::_('Set Status to Active'),
|
| 43 |
+
'bulk_active_notify' => SwpmUtils::_('Set Status to Active and Notify'),
|
| 44 |
'bulk_inactive' => SwpmUtils::_('Set Status to Inactive'),
|
| 45 |
'bulk_pending' => SwpmUtils::_('Set Status to Pending'),
|
| 46 |
'bulk_expired' => SwpmUtils::_('Set Status to Expired'),
|
| 60 |
);
|
| 61 |
return $item['member_id'] . $this->row_actions($actions);
|
| 62 |
}
|
| 63 |
+
|
| 64 |
+
function column_user_name($item) {
|
| 65 |
+
$user_name = $item['user_name'];
|
| 66 |
+
if(empty($user_name)){
|
| 67 |
+
$user_name = '['.SwpmUtils::_('incomplete').']';
|
| 68 |
+
}
|
| 69 |
+
return $user_name;
|
| 70 |
+
}
|
| 71 |
|
| 72 |
function column_cb($item) {
|
| 73 |
return sprintf(
|
| 79 |
global $wpdb;
|
| 80 |
|
| 81 |
$this->process_bulk_action();
|
| 82 |
+
|
| 83 |
$query = "SELECT * FROM " . $wpdb->prefix . "swpm_members_tbl";
|
| 84 |
$query .= " LEFT JOIN " . $wpdb->prefix . "swpm_membership_tbl";
|
| 85 |
$query .= " ON ( membership_level = id ) ";
|
| 86 |
$s = filter_input(INPUT_POST, 's');
|
| 87 |
+
$status = filter_input(INPUT_GET, 'status');
|
| 88 |
+
$filter1 = '';
|
| 89 |
+
|
| 90 |
+
//Add the search parameter to the query
|
| 91 |
if (!empty($s)) {
|
| 92 |
+
$s = trim($s);//Trim the input
|
| 93 |
+
$filter1 .= "( user_name LIKE '%" . strip_tags($s) . "%' "
|
| 94 |
. " OR first_name LIKE '%" . strip_tags($s) . "%' "
|
| 95 |
. " OR last_name LIKE '%" . strip_tags($s) . "%' "
|
| 96 |
. " OR email LIKE '%" . strip_tags($s) . "%' "
|
| 97 |
. " OR address_city LIKE '%" . strip_tags($s) . "%' "
|
| 98 |
. " OR address_state LIKE '%" . strip_tags($s) . "%' "
|
| 99 |
. " OR country LIKE '%" . strip_tags($s) . "%' "
|
| 100 |
+
. " OR company_name LIKE '%" . strip_tags($s) . "%' )";
|
| 101 |
}
|
| 102 |
+
|
| 103 |
+
//Add account status filtering to the query
|
| 104 |
+
$filter2 = '';
|
| 105 |
+
if (!empty($status)){
|
| 106 |
+
if ($status == 'incomplete') {
|
| 107 |
+
$filter2 .= "user_name = ''";
|
| 108 |
+
} else {
|
| 109 |
+
$filter2 .= "account_state = '" . $status . "'";
|
| 110 |
+
}
|
| 111 |
+
}
|
| 112 |
+
|
| 113 |
+
//Build the WHERE clause of the query string
|
| 114 |
+
if (!empty($filter1) && !empty($filter2)){
|
| 115 |
+
$query .= "WHERE " . $filter1 . " AND " . $filter2;
|
| 116 |
+
}
|
| 117 |
+
else if (!empty($filter1)){
|
| 118 |
+
$query .= "WHERE " . $filter1 ;
|
| 119 |
+
}
|
| 120 |
+
else if (!empty($filter2)){
|
| 121 |
+
$query .= "WHERE " . $filter2 ;
|
| 122 |
+
}
|
| 123 |
+
|
| 124 |
+
//Build the orderby and order query parameters
|
| 125 |
$orderby = filter_input(INPUT_GET, 'orderby');
|
| 126 |
$orderby = empty($orderby) ? 'member_id' : $orderby;
|
| 127 |
$order = filter_input(INPUT_GET, 'order');
|
| 128 |
$order = empty($order) ? 'DESC' : $order;
|
|
|
|
| 129 |
$sortable_columns = $this->get_sortable_columns();
|
| 130 |
$orderby = SwpmUtils::sanitize_value_by_array($orderby, $sortable_columns);
|
| 131 |
$order = SwpmUtils::sanitize_value_by_array($order, array('DESC' => '1', 'ASC' => '1'));
|
|
|
|
| 132 |
$query.=' ORDER BY ' . $orderby . ' ' . $order;
|
| 133 |
+
|
| 134 |
+
//Execute the query
|
| 135 |
$totalitems = $wpdb->query($query); //return the total number of affected rows
|
| 136 |
+
|
| 137 |
+
//Pagination setup
|
| 138 |
$perpage = 20;
|
| 139 |
$paged = filter_input(INPUT_GET, 'paged');
|
| 140 |
if (empty($paged) || !is_numeric($paged) || $paged <= 0) {
|
| 158 |
$this->_column_headers = array($columns, $hidden, $sortable);
|
| 159 |
$this->items = $wpdb->get_results($query, ARRAY_A);
|
| 160 |
}
|
| 161 |
+
|
| 162 |
+
function get_user_count_by_account_state(){
|
| 163 |
+
global $wpdb;
|
| 164 |
+
$query = "SELECT count(member_id) AS count, account_state FROM " . $wpdb->prefix . "swpm_members_tbl GROUP BY account_state";
|
| 165 |
+
$result = $wpdb->get_results($query, ARRAY_A);
|
| 166 |
+
$count = array();
|
| 167 |
+
|
| 168 |
+
$all = 0;
|
| 169 |
+
foreach($result as $row){
|
| 170 |
+
$count[$row["account_state"]] = $row["count"];
|
| 171 |
+
$all += intval($row['count']);
|
| 172 |
+
}
|
| 173 |
+
$count ["all"] = $all;
|
| 174 |
+
|
| 175 |
+
$count_incomplete_query = "SELECT COUNT(*) FROM " . $wpdb->prefix . "swpm_members_tbl WHERE user_name = ''";
|
| 176 |
+
$count['incomplete'] = $wpdb->get_var($count_incomplete_query);
|
| 177 |
+
|
| 178 |
+
return $count;
|
| 179 |
+
}
|
| 180 |
+
|
| 181 |
function no_items() {
|
| 182 |
+
_e('No member found.');
|
| 183 |
}
|
| 184 |
|
| 185 |
function process_form_request() {
|
| 229 |
}
|
| 230 |
|
| 231 |
function process_bulk_action() {
|
| 232 |
+
//Detect when a bulk action is being triggered... then perform the action.
|
| 233 |
$members = isset($_REQUEST['members'])? $_REQUEST['members']: array();
|
| 234 |
+
|
| 235 |
$current_action = $this->current_action();
|
| 236 |
+
if(!empty($current_action)){
|
| 237 |
+
//Bulk operation action. Lets make sure multiple records were selected before going ahead.
|
| 238 |
if (empty($members)) {
|
| 239 |
+
echo '<div id="message" class="error"><p>Error! You need to select multiple records to perform a bulk action!</p></div>';
|
| 240 |
return;
|
| 241 |
+
}
|
| 242 |
+
}else{
|
| 243 |
+
//No bulk operation.
|
| 244 |
+
return;
|
| 245 |
+
}
|
| 246 |
+
|
| 247 |
+
//perform the bulk operation according to the selection
|
| 248 |
+
if ('bulk_delete' === $current_action) {
|
| 249 |
foreach ($members as $record_id) {
|
| 250 |
SwpmMembers::delete_user_by_id($record_id);
|
| 251 |
}
|
| 252 |
echo '<div id="message" class="updated fade"><p>Selected records deleted successfully!</p></div>';
|
| 253 |
+
return;
|
| 254 |
}
|
| 255 |
else if ('bulk_active' === $current_action){
|
| 256 |
$this->bulk_set_status($members, 'active');
|
| 266 |
}
|
| 267 |
else if ('bulk_expired' == $current_action){
|
| 268 |
$this->bulk_set_status($members, 'expired');
|
| 269 |
+
}
|
| 270 |
+
|
| 271 |
+
echo '<div id="message" class="updated fade"><p>Bulk operation completed successfully!</p></div>';
|
| 272 |
}
|
| 273 |
|
| 274 |
function bulk_set_status($members, $status, $notify = false ){
|
| 280 |
$wpdb->query($query);
|
| 281 |
|
| 282 |
if ($notify){
|
| 283 |
+
$settings = SwpmSettings::get_instance();
|
| 284 |
+
|
| 285 |
+
$emails = $wpdb->get_col("SELECT email FROM " . $wpdb->prefix . "swpm_members_tbl " . " WHERE member_id IN ( $ids ) ");
|
| 286 |
+
|
| 287 |
+
$subject = $settings->get_value('bulk-activate-notify-mail-subject');
|
| 288 |
+
if (empty($subject)) {
|
| 289 |
+
$subject = "Account Activated!";
|
| 290 |
+
}
|
| 291 |
+
$body = $settings->get_value('bulk-activate-notify-mail-body');
|
| 292 |
+
if (empty($body)) {
|
| 293 |
+
$body = "Hi, Your account has been activated successfully!";
|
| 294 |
+
}
|
| 295 |
+
|
| 296 |
+
$from_address = $settings->get_value('email-from');
|
| 297 |
+
$to_email_list = implode(',', $emails);
|
| 298 |
+
$headers = 'From: ' . $from_address . "\r\n";
|
| 299 |
+
$headers .= 'bcc: ' . $to_email_list . "\r\n";
|
| 300 |
+
wp_mail(array()/* $email_list */, $subject, $body, $headers);
|
| 301 |
+
SwpmLog::log_simple_debug("Bulk activation email notification sent. Activation email sent to the following email: " . $to_email_list, true);
|
| 302 |
}
|
| 303 |
}
|
| 304 |
|
| 310 |
}
|
| 311 |
|
| 312 |
public static function delete_user_by_id($id) {
|
| 313 |
+
$swpm_user = SwpmMemberUtils::get_user_by_id($id);
|
| 314 |
+
$user_name = $swpm_user->user_name;
|
| 315 |
+
SwpmMembers::delete_wp_user($user_name);//Deletes the WP User record
|
| 316 |
+
SwpmMembers::delete_swpm_user_by_id($id);//Deletes the SWPM record
|
| 317 |
}
|
| 318 |
|
| 319 |
public static function delete_swpm_user_by_id($id) {
|
| 324 |
|
| 325 |
function show() {
|
| 326 |
ob_start();
|
| 327 |
+
$status = filter_input(INPUT_GET, 'status');
|
| 328 |
include_once(SIMPLE_WP_MEMBERSHIP_PATH . 'views/admin_members_list.php');
|
| 329 |
$output = ob_get_clean();
|
| 330 |
return $output;
|
classes/class.swpm-membership-levels.php
CHANGED
|
@@ -43,7 +43,8 @@ class SwpmMembershipLevels extends WP_List_Table {
|
|
| 43 |
return 'No Expiry';
|
| 44 |
}
|
| 45 |
if ($item['subscription_duration_type'] == SwpmMembershipLevel::FIXED_DATE) {
|
| 46 |
-
|
|
|
|
| 47 |
}
|
| 48 |
if ($item['subscription_duration_type'] == SwpmMembershipLevel::DAYS) {
|
| 49 |
return $item['subscription_period'] . " Day(s)";
|
| 43 |
return 'No Expiry';
|
| 44 |
}
|
| 45 |
if ($item['subscription_duration_type'] == SwpmMembershipLevel::FIXED_DATE) {
|
| 46 |
+
$formatted_date = SwpmUtils::get_formatted_date_according_to_wp_settings($item['subscription_period']);
|
| 47 |
+
return $formatted_date;
|
| 48 |
}
|
| 49 |
if ($item['subscription_duration_type'] == SwpmMembershipLevel::DAYS) {
|
| 50 |
return $item['subscription_period'] . " Day(s)";
|
classes/class.swpm-settings.php
CHANGED
|
@@ -44,7 +44,9 @@ class SwpmSettings {
|
|
| 44 |
add_settings_field('enable-moretag', SwpmUtils::_('Enable More Tag Protection'), array(&$this, 'checkbox_callback'), 'simple_wp_membership_settings', 'general-settings', array('item' => 'enable-moretag',
|
| 45 |
'message' => SwpmUtils::_('Enables or disables "more" tag protection in the posts and pages. Anything after the More tag is protected. Anything before the more tag is teaser content.')));
|
| 46 |
add_settings_field('hide-adminbar', SwpmUtils::_('Hide Adminbar'), array(&$this, 'checkbox_callback'), 'simple_wp_membership_settings', 'general-settings', array('item' => 'hide-adminbar',
|
| 47 |
-
'message' => SwpmUtils::_('WordPress shows an admin toolbar to the logged in users of the site. Check this
|
|
|
|
|
|
|
| 48 |
|
| 49 |
add_settings_field('default-account-status', SwpmUtils::_('Default Account Status'), array(&$this, 'selectbox_callback'), 'simple_wp_membership_settings', 'general-settings', array('item' => 'default-account-status',
|
| 50 |
'options' => SwpmUtils::get_account_state_options(),
|
|
@@ -122,17 +124,18 @@ class SwpmSettings {
|
|
| 122 |
'message' => ''));
|
| 123 |
|
| 124 |
add_settings_section('reset-password-settings', SwpmUtils::_('Email Settings (Password Reset)'), array(&$this, 'reset_password_settings_callback'), 'simple_wp_membership_settings');
|
| 125 |
-
add_settings_field('reset-mail-subject', SwpmUtils::_('Email Subject'), array(&$this, 'textfield_callback'), 'simple_wp_membership_settings', 'reset-password-settings', array('item' => 'reset-mail-subject',
|
| 126 |
-
|
| 127 |
-
add_settings_field('reset-mail-body', SwpmUtils::_('Email Body'), array(&$this, 'textarea_callback'), 'simple_wp_membership_settings', 'reset-password-settings', array('item' => 'reset-mail-body',
|
| 128 |
-
'message' => ''));
|
| 129 |
|
| 130 |
|
| 131 |
add_settings_section('upgrade-email-settings', SwpmUtils::_(' Email Settings (Account Upgrade Notification)'), array(&$this, 'upgrade_email_settings_callback'), 'simple_wp_membership_settings');
|
| 132 |
-
add_settings_field('upgrade-complete-mail-subject', SwpmUtils::_('Email Subject'), array(&$this, 'textfield_callback'), 'simple_wp_membership_settings', 'upgrade-email-settings', array('item' => 'upgrade-complete-mail-subject',
|
| 133 |
-
|
| 134 |
-
|
| 135 |
-
|
|
|
|
|
|
|
|
|
|
| 136 |
}
|
| 137 |
|
| 138 |
private function tab_4() {
|
|
@@ -272,6 +275,10 @@ class SwpmSettings {
|
|
| 272 |
SwpmUtils::e('This email will be sent to your users after account upgrade (when an existing member pays for a new membership level).');
|
| 273 |
}
|
| 274 |
|
|
|
|
|
|
|
|
|
|
|
|
|
| 275 |
public function reg_prompt_email_settings_callback() {
|
| 276 |
SwpmUtils::e('This email will be sent to prompt users to complete registration after the payment.');
|
| 277 |
}
|
|
@@ -288,6 +295,8 @@ class SwpmSettings {
|
|
| 288 |
//general settings block
|
| 289 |
|
| 290 |
$output['hide-adminbar'] = isset($input['hide-adminbar']) ? esc_attr($input['hide-adminbar']) : "";
|
|
|
|
|
|
|
| 291 |
$output['protect-everything'] = isset($input['protect-everything']) ? esc_attr($input['protect-everything']) : "";
|
| 292 |
$output['enable-free-membership'] = isset($input['enable-free-membership']) ? esc_attr($input['enable-free-membership']) : "";
|
| 293 |
$output['enable-moretag'] = isset($input['enable-moretag']) ? esc_attr($input['enable-moretag']) : "";
|
|
@@ -316,10 +325,12 @@ class SwpmSettings {
|
|
| 316 |
$output['reset-mail-subject'] = sanitize_text_field($input['reset-mail-subject']);
|
| 317 |
$output['reset-mail-body'] = wp_kses_data(force_balance_tags($input['reset-mail-body']));
|
| 318 |
|
| 319 |
-
|
| 320 |
$output['upgrade-complete-mail-subject'] = sanitize_text_field($input['upgrade-complete-mail-subject']);
|
| 321 |
$output['upgrade-complete-mail-body'] = wp_kses_data(force_balance_tags($input['upgrade-complete-mail-body']));
|
| 322 |
|
|
|
|
|
|
|
|
|
|
| 323 |
$output['reg-prompt-complete-mail-subject'] = sanitize_text_field($input['reg-prompt-complete-mail-subject']);
|
| 324 |
$output['reg-prompt-complete-mail-body'] = wp_kses_data(force_balance_tags($input['reg-prompt-complete-mail-body']));
|
| 325 |
$output['email-from'] = trim($input['email-from']);
|
| 44 |
add_settings_field('enable-moretag', SwpmUtils::_('Enable More Tag Protection'), array(&$this, 'checkbox_callback'), 'simple_wp_membership_settings', 'general-settings', array('item' => 'enable-moretag',
|
| 45 |
'message' => SwpmUtils::_('Enables or disables "more" tag protection in the posts and pages. Anything after the More tag is protected. Anything before the more tag is teaser content.')));
|
| 46 |
add_settings_field('hide-adminbar', SwpmUtils::_('Hide Adminbar'), array(&$this, 'checkbox_callback'), 'simple_wp_membership_settings', 'general-settings', array('item' => 'hide-adminbar',
|
| 47 |
+
'message' => SwpmUtils::_('WordPress shows an admin toolbar to the logged in users of the site. Check this if you want to hide that admin toolbar in the frontend of your site.')));
|
| 48 |
+
add_settings_field('show-adminbar-admin-only', SwpmUtils::_('Show Adminbar to Admin'), array(&$this, 'checkbox_callback'), 'simple_wp_membership_settings', 'general-settings', array('item' => 'show-adminbar-admin-only',
|
| 49 |
+
'message' => SwpmUtils::_('Use this option if you want to show the admin toolbar to admin users only. The admin toolbar will be hidden for all other users.')));
|
| 50 |
|
| 51 |
add_settings_field('default-account-status', SwpmUtils::_('Default Account Status'), array(&$this, 'selectbox_callback'), 'simple_wp_membership_settings', 'general-settings', array('item' => 'default-account-status',
|
| 52 |
'options' => SwpmUtils::get_account_state_options(),
|
| 124 |
'message' => ''));
|
| 125 |
|
| 126 |
add_settings_section('reset-password-settings', SwpmUtils::_('Email Settings (Password Reset)'), array(&$this, 'reset_password_settings_callback'), 'simple_wp_membership_settings');
|
| 127 |
+
add_settings_field('reset-mail-subject', SwpmUtils::_('Email Subject'), array(&$this, 'textfield_callback'), 'simple_wp_membership_settings', 'reset-password-settings', array('item' => 'reset-mail-subject', 'message' => ''));
|
| 128 |
+
add_settings_field('reset-mail-body', SwpmUtils::_('Email Body'), array(&$this, 'textarea_callback'), 'simple_wp_membership_settings', 'reset-password-settings', array('item' => 'reset-mail-body', 'message' => ''));
|
|
|
|
|
|
|
| 129 |
|
| 130 |
|
| 131 |
add_settings_section('upgrade-email-settings', SwpmUtils::_(' Email Settings (Account Upgrade Notification)'), array(&$this, 'upgrade_email_settings_callback'), 'simple_wp_membership_settings');
|
| 132 |
+
add_settings_field('upgrade-complete-mail-subject', SwpmUtils::_('Email Subject'), array(&$this, 'textfield_callback'), 'simple_wp_membership_settings', 'upgrade-email-settings', array('item' => 'upgrade-complete-mail-subject', 'message' => ''));
|
| 133 |
+
add_settings_field('upgrade-complete-mail-body', SwpmUtils::_('Email Body'), array(&$this, 'textarea_callback'), 'simple_wp_membership_settings', 'upgrade-email-settings', array('item' => 'upgrade-complete-mail-body', 'message' => ''));
|
| 134 |
+
|
| 135 |
+
add_settings_section('bulk-activate-email-settings', SwpmUtils::_(' Email Settings (Bulk Account Activate Notification)'), array(&$this, 'bulk_activate_email_settings_callback'), 'simple_wp_membership_settings');
|
| 136 |
+
add_settings_field('bulk-activate-notify-mail-subject', SwpmUtils::_('Email Subject'), array(&$this, 'textfield_callback'), 'simple_wp_membership_settings', 'bulk-activate-email-settings', array('item' => 'bulk-activate-notify-mail-subject', 'message' => ''));
|
| 137 |
+
add_settings_field('bulk-activate-notify-mail-body', SwpmUtils::_('Email Body'), array(&$this, 'textarea_callback'), 'simple_wp_membership_settings', 'bulk-activate-email-settings', array('item' => 'bulk-activate-notify-mail-body', 'message' => ''));
|
| 138 |
+
|
| 139 |
}
|
| 140 |
|
| 141 |
private function tab_4() {
|
| 275 |
SwpmUtils::e('This email will be sent to your users after account upgrade (when an existing member pays for a new membership level).');
|
| 276 |
}
|
| 277 |
|
| 278 |
+
public function bulk_activate_email_settings_callback() {
|
| 279 |
+
SwpmUtils::e('This email will be sent to your members when you use the bulk account activate and notify action.');
|
| 280 |
+
}
|
| 281 |
+
|
| 282 |
public function reg_prompt_email_settings_callback() {
|
| 283 |
SwpmUtils::e('This email will be sent to prompt users to complete registration after the payment.');
|
| 284 |
}
|
| 295 |
//general settings block
|
| 296 |
|
| 297 |
$output['hide-adminbar'] = isset($input['hide-adminbar']) ? esc_attr($input['hide-adminbar']) : "";
|
| 298 |
+
$output['show-adminbar-admin-only'] = isset($input['show-adminbar-admin-only']) ? esc_attr($input['show-adminbar-admin-only']) : "";
|
| 299 |
+
|
| 300 |
$output['protect-everything'] = isset($input['protect-everything']) ? esc_attr($input['protect-everything']) : "";
|
| 301 |
$output['enable-free-membership'] = isset($input['enable-free-membership']) ? esc_attr($input['enable-free-membership']) : "";
|
| 302 |
$output['enable-moretag'] = isset($input['enable-moretag']) ? esc_attr($input['enable-moretag']) : "";
|
| 325 |
$output['reset-mail-subject'] = sanitize_text_field($input['reset-mail-subject']);
|
| 326 |
$output['reset-mail-body'] = wp_kses_data(force_balance_tags($input['reset-mail-body']));
|
| 327 |
|
|
|
|
| 328 |
$output['upgrade-complete-mail-subject'] = sanitize_text_field($input['upgrade-complete-mail-subject']);
|
| 329 |
$output['upgrade-complete-mail-body'] = wp_kses_data(force_balance_tags($input['upgrade-complete-mail-body']));
|
| 330 |
|
| 331 |
+
$output['bulk-activate-notify-mail-subject'] = sanitize_text_field($input['bulk-activate-notify-mail-subject']);
|
| 332 |
+
$output['bulk-activate-notify-mail-body'] = wp_kses_data(force_balance_tags($input['bulk-activate-notify-mail-body']));
|
| 333 |
+
|
| 334 |
$output['reg-prompt-complete-mail-subject'] = sanitize_text_field($input['reg-prompt-complete-mail-subject']);
|
| 335 |
$output['reg-prompt-complete-mail-body'] = wp_kses_data(force_balance_tags($input['reg-prompt-complete-mail-body']));
|
| 336 |
$output['email-from'] = trim($input['email-from']);
|
classes/class.swpm-transactions.php
CHANGED
|
@@ -29,6 +29,7 @@ class SwpmTransactions {
|
|
| 29 |
$txn_data['gateway'] = $ipn_data['gateway'];
|
| 30 |
$txn_data['status'] = $ipn_data['status'];
|
| 31 |
|
|
|
|
| 32 |
$wpdb->insert($wpdb->prefix . "swpm_payments_tbl", $txn_data);
|
| 33 |
|
| 34 |
}
|
| 29 |
$txn_data['gateway'] = $ipn_data['gateway'];
|
| 30 |
$txn_data['status'] = $ipn_data['status'];
|
| 31 |
|
| 32 |
+
$txn_data = array_filter($txn_data);//Remove any null values.
|
| 33 |
$wpdb->insert($wpdb->prefix . "swpm_payments_tbl", $txn_data);
|
| 34 |
|
| 35 |
}
|
classes/{class.swpm-member-utils.php → class.swpm-utils-member.php}
RENAMED
|
@@ -1,9 +1,8 @@
|
|
| 1 |
<?php
|
| 2 |
|
| 3 |
/**
|
| 4 |
-
*
|
| 5 |
-
*
|
| 6 |
-
* @author nur
|
| 7 |
*/
|
| 8 |
class SwpmMemberUtils {
|
| 9 |
|
|
@@ -58,7 +57,34 @@ class SwpmMemberUtils {
|
|
| 58 |
|
| 59 |
return apply_filters('swpm_get_member_field_by_id', $default, $id, $field);
|
| 60 |
}
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| 61 |
public static function is_valid_user_name($user_name){
|
| 62 |
return preg_match("/^[a-zA-Z0-9!@#$%&+\/=?^_`{|}~\.-]+$/", $user_name)== 1;
|
| 63 |
}
|
|
|
|
| 64 |
}
|
| 1 |
<?php
|
| 2 |
|
| 3 |
/**
|
| 4 |
+
* SwpmMemberUtils
|
| 5 |
+
* All the utility functions related to member records should be added to this class
|
|
|
|
| 6 |
*/
|
| 7 |
class SwpmMemberUtils {
|
| 8 |
|
| 57 |
|
| 58 |
return apply_filters('swpm_get_member_field_by_id', $default, $id, $field);
|
| 59 |
}
|
| 60 |
+
|
| 61 |
+
|
| 62 |
+
public static function get_user_by_id($swpm_id) {
|
| 63 |
+
//Retrieves the SWPM user record for the given member ID
|
| 64 |
+
global $wpdb;
|
| 65 |
+
$query = $wpdb->prepare("SELECT * FROM {$wpdb->prefix}swpm_members_tbl WHERE member_id = %d", $swpm_id);
|
| 66 |
+
$result = $wpdb->get_row($query);
|
| 67 |
+
return $result;
|
| 68 |
+
}
|
| 69 |
+
|
| 70 |
+
public static function get_user_by_user_name($swpm_user_name) {
|
| 71 |
+
//Retrieves the SWPM user record for the given member username
|
| 72 |
+
global $wpdb;
|
| 73 |
+
$query = $wpdb->prepare("SELECT * FROM {$wpdb->prefix}swpm_members_tbl WHERE user_name = %s", $swpm_user_name);
|
| 74 |
+
$result = $wpdb->get_row($query);
|
| 75 |
+
return $result;
|
| 76 |
+
}
|
| 77 |
+
|
| 78 |
+
public static function get_user_by_email($swpm_email) {
|
| 79 |
+
//Retrieves the SWPM user record for the given member email address
|
| 80 |
+
global $wpdb;
|
| 81 |
+
$query = $wpdb->prepare("SELECT * FROM {$wpdb->prefix}swpm_members_tbl WHERE email = %d", $swpm_email);
|
| 82 |
+
$result = $wpdb->get_row($query);
|
| 83 |
+
return $result;
|
| 84 |
+
}
|
| 85 |
+
|
| 86 |
public static function is_valid_user_name($user_name){
|
| 87 |
return preg_match("/^[a-zA-Z0-9!@#$%&+\/=?^_`{|}~\.-]+$/", $user_name)== 1;
|
| 88 |
}
|
| 89 |
+
|
| 90 |
}
|
classes/{class.swpm-misc-utils.php → class.swpm-utils-misc.php}
RENAMED
|
File without changes
|
classes/class.swpm-utils.php
CHANGED
|
@@ -95,19 +95,18 @@ abstract class SwpmUtils {
|
|
| 95 |
$query = "SELECT id FROM " . $wpdb->prefix . "swpm_membership_tbl WHERE id != 1";
|
| 96 |
return $wpdb->get_col($query);
|
| 97 |
}
|
| 98 |
-
|
| 99 |
-
public static function
|
| 100 |
-
|
| 101 |
-
$
|
| 102 |
-
|
| 103 |
-
|
| 104 |
-
|
| 105 |
-
|
| 106 |
-
|
| 107 |
-
|
| 108 |
-
return $wpdb->get_var($query);
|
| 109 |
}
|
| 110 |
-
|
| 111 |
public static function get_registration_link($for = 'all', $send_email = false, $member_id = '') {
|
| 112 |
$members = array();
|
| 113 |
global $wpdb;
|
|
@@ -289,17 +288,37 @@ abstract class SwpmUtils {
|
|
| 289 |
}
|
| 290 |
|
| 291 |
public static function get_expire_date($start_date, $subscription_duration, $subscription_duration_type) {
|
| 292 |
-
if ($subscription_duration_type == SwpmMembershipLevel::FIXED_DATE) {
|
| 293 |
-
|
|
|
|
| 294 |
}
|
|
|
|
| 295 |
$expires = self::calculate_subscription_period_days($subscription_duration, $subscription_duration_type);
|
| 296 |
-
if ($expires == 'noexpire') {
|
|
|
|
| 297 |
return SwpmUtils::_('Never');
|
| 298 |
}
|
| 299 |
|
|
|
|
|
|
|
| 300 |
return date(get_option('date_format'), strtotime($start_date . ' ' . $expires . ' days'));
|
| 301 |
}
|
| 302 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| 303 |
public static function swpm_username_exists($user_name) {
|
| 304 |
global $wpdb;
|
| 305 |
$member_table = $wpdb->prefix . 'swpm_members_tbl';
|
|
@@ -368,7 +387,10 @@ abstract class SwpmUtils {
|
|
| 368 |
return "";
|
| 369 |
}
|
| 370 |
|
| 371 |
-
|
|
|
|
|
|
|
|
|
|
| 372 |
}
|
| 373 |
|
| 374 |
public static function encrypt_password($plain_password) {
|
| 95 |
$query = "SELECT id FROM " . $wpdb->prefix . "swpm_membership_tbl WHERE id != 1";
|
| 96 |
return $wpdb->get_col($query);
|
| 97 |
}
|
| 98 |
+
|
| 99 |
+
public static function membership_level_id_exists($level_id){
|
| 100 |
+
//Returns true if the specified membership level exists in the system. Returns false if the level has been deleted (or doesn't exist).
|
| 101 |
+
$all_level_ids = SwpmUtils::get_all_membership_level_ids();
|
| 102 |
+
if (in_array($level_id, $all_level_ids)) {
|
| 103 |
+
//Valid level ID
|
| 104 |
+
return true;
|
| 105 |
+
} else {
|
| 106 |
+
return false;
|
| 107 |
+
}
|
|
|
|
| 108 |
}
|
| 109 |
+
|
| 110 |
public static function get_registration_link($for = 'all', $send_email = false, $member_id = '') {
|
| 111 |
$members = array();
|
| 112 |
global $wpdb;
|
| 288 |
}
|
| 289 |
|
| 290 |
public static function get_expire_date($start_date, $subscription_duration, $subscription_duration_type) {
|
| 291 |
+
if ($subscription_duration_type == SwpmMembershipLevel::FIXED_DATE) {
|
| 292 |
+
//Membership will expire after a fixed date.
|
| 293 |
+
return SwpmUtils::get_formatted_date_according_to_wp_settings($subscription_duration);
|
| 294 |
}
|
| 295 |
+
|
| 296 |
$expires = self::calculate_subscription_period_days($subscription_duration, $subscription_duration_type);
|
| 297 |
+
if ($expires == 'noexpire') {
|
| 298 |
+
//Membership is set to no expiry or until cancelled.
|
| 299 |
return SwpmUtils::_('Never');
|
| 300 |
}
|
| 301 |
|
| 302 |
+
//Membership is set to a duration expiry settings.
|
| 303 |
+
|
| 304 |
return date(get_option('date_format'), strtotime($start_date . ' ' . $expires . ' days'));
|
| 305 |
}
|
| 306 |
|
| 307 |
+
/*
|
| 308 |
+
* Formats the given date value according to the WP date format settings. This function is useful for displaying a human readable date value to the user.
|
| 309 |
+
*/
|
| 310 |
+
public static function get_formatted_date_according_to_wp_settings($date){
|
| 311 |
+
$date_format = get_option('date_format');
|
| 312 |
+
if (empty($date_format)) {
|
| 313 |
+
//WordPress's date form settings is not set. Lets set a default format.
|
| 314 |
+
$date_format = 'Y-m-d';
|
| 315 |
+
}
|
| 316 |
+
|
| 317 |
+
$date_obj = new DateTime($date);
|
| 318 |
+
$formatted_date = $date_obj->format($date_format);//Format the date value using date format settings
|
| 319 |
+
return $formatted_date;
|
| 320 |
+
}
|
| 321 |
+
|
| 322 |
public static function swpm_username_exists($user_name) {
|
| 323 |
global $wpdb;
|
| 324 |
$member_table = $wpdb->prefix . 'swpm_members_tbl';
|
| 387 |
return "";
|
| 388 |
}
|
| 389 |
|
| 390 |
+
$account_delete_link = '<div class="swpm-profile-account-delete-section">';
|
| 391 |
+
$account_delete_link .= '<a href="'.SIMPLE_WP_MEMBERSHIP_SITE_HOME_URL.'/?swpm_delete_account=1"><div class="swpm-account-delete-button">' . SwpmUtils::_("Delete Account") . '</div></a>';
|
| 392 |
+
$account_delete_link .= '</div>';
|
| 393 |
+
return $account_delete_link;
|
| 394 |
}
|
| 395 |
|
| 396 |
public static function encrypt_password($plain_password) {
|
css/swpm.common.css
CHANGED
|
@@ -53,6 +53,16 @@
|
|
| 53 |
border-width: 1px;
|
| 54 |
}
|
| 55 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| 56 |
/* Login form CSS */
|
| 57 |
.swpm-login-widget-form input,.swpm-login-widget-form checkbox{
|
| 58 |
width: auto;
|
|
@@ -91,15 +101,17 @@
|
|
| 91 |
}
|
| 92 |
|
| 93 |
/* Edit profile form CSS */
|
| 94 |
-
.swpm-account-delete-button{
|
| 95 |
-
text-align: center;
|
| 96 |
-
}
|
| 97 |
-
|
| 98 |
.swpm-edit-profile-form input[type="text"], .swpm-edit-profile-form input[type="password"]{
|
| 99 |
width: 95%;
|
| 100 |
}
|
|
|
|
|
|
|
|
|
|
| 101 |
|
| 102 |
-
.swpm-account-delete-
|
|
|
|
|
|
|
|
|
|
| 103 |
color: red !important;
|
| 104 |
}
|
| 105 |
|
| 53 |
border-width: 1px;
|
| 54 |
}
|
| 55 |
|
| 56 |
+
/* Membership buy buttons */
|
| 57 |
+
.swpm-button-wrapper input[type="submit"]{
|
| 58 |
+
width: auto !important;
|
| 59 |
+
height: auto !important;
|
| 60 |
+
}
|
| 61 |
+
.swpm-button-wrapper input[type="image"]{
|
| 62 |
+
width: auto !important;
|
| 63 |
+
height: auto !important;
|
| 64 |
+
}
|
| 65 |
+
|
| 66 |
/* Login form CSS */
|
| 67 |
.swpm-login-widget-form input,.swpm-login-widget-form checkbox{
|
| 68 |
width: auto;
|
| 101 |
}
|
| 102 |
|
| 103 |
/* Edit profile form CSS */
|
|
|
|
|
|
|
|
|
|
|
|
|
| 104 |
.swpm-edit-profile-form input[type="text"], .swpm-edit-profile-form input[type="password"]{
|
| 105 |
width: 95%;
|
| 106 |
}
|
| 107 |
+
.swpm-edit-profile-submit-section{
|
| 108 |
+
text-align: center;
|
| 109 |
+
}
|
| 110 |
|
| 111 |
+
.swpm-profile-account-delete-section{
|
| 112 |
+
text-align: center;
|
| 113 |
+
}
|
| 114 |
+
.swpm-profile-account-delete-section a{
|
| 115 |
color: red !important;
|
| 116 |
}
|
| 117 |
|
images/addons/google-recaptcha-addon.png
ADDED
|
Binary file
|
images/addons/swpm-bbpress-integration.png
ADDED
|
Binary file
|
ipn/swpm_handle_subsc_ipn.php
CHANGED
|
@@ -101,6 +101,7 @@ function swpm_handle_subsc_signup_stand_alone($ipn_data, $subsc_ref, $unique_ref
|
|
| 101 |
$data['subscr_id'] = $subscr_id;
|
| 102 |
$data['last_accessed_from_ip'] = isset($user_ip) ? $user_ip : ''; //Save the users IP address
|
| 103 |
|
|
|
|
| 104 |
$wpdb->insert($members_table_name, $data); //Create the member record
|
| 105 |
$results = $wpdb->get_row($wpdb->prepare("SELECT * FROM $members_table_name where subscr_id=%s and reg_code=%s", $subscr_id, $md5_code), OBJECT);
|
| 106 |
$id = $results->member_id; //Alternatively use $wpdb->insert_id;
|
| 101 |
$data['subscr_id'] = $subscr_id;
|
| 102 |
$data['last_accessed_from_ip'] = isset($user_ip) ? $user_ip : ''; //Save the users IP address
|
| 103 |
|
| 104 |
+
$data = array_filter($data);//Remove any null values.
|
| 105 |
$wpdb->insert($members_table_name, $data); //Create the member record
|
| 106 |
$results = $wpdb->get_row($wpdb->prepare("SELECT * FROM $members_table_name where subscr_id=%s and reg_code=%s", $subscr_id, $md5_code), OBJECT);
|
| 107 |
$id = $results->member_id; //Alternatively use $wpdb->insert_id;
|
languages/swpm-pt_BR.mo
CHANGED
|
Binary file
|
languages/swpm-pt_BR.po
CHANGED
|
@@ -1,644 +1,1122 @@
|
|
| 1 |
msgid ""
|
| 2 |
msgstr ""
|
| 3 |
-
"Project-Id-Version: simple membership\n"
|
| 4 |
-
"POT-Creation-Date:
|
| 5 |
-
"PO-Revision-Date:
|
| 6 |
-
"
|
| 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.
|
| 12 |
"X-Poedit-KeywordsList: __;_e\n"
|
| 13 |
"X-Poedit-Basepath: .\n"
|
|
|
|
| 14 |
"Plural-Forms: nplurals=2; plural=(n > 1);\n"
|
| 15 |
"Language: pt_BR\n"
|
| 16 |
"X-Poedit-SearchPath-0: .\n"
|
| 17 |
|
| 18 |
-
#: classes/class.
|
| 19 |
-
msgid "You are not
|
| 20 |
-
msgstr "Você não
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| 21 |
|
| 22 |
-
#: classes/class.
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| 23 |
msgid "You need to login to view this content. "
|
| 24 |
-
msgstr "
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| 25 |
|
| 26 |
-
#: classes/class.
|
| 27 |
-
#: classes/class.
|
| 28 |
-
msgid "
|
| 29 |
-
msgstr "
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| 30 |
|
| 31 |
-
#: classes/class.
|
| 32 |
-
#: classes/class.
|
| 33 |
-
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| 34 |
msgid "Please correct the following:"
|
| 35 |
-
msgstr "
|
|
|
|
|
|
|
|
|
|
|
|
|
| 36 |
|
| 37 |
-
#: classes/class.
|
|
|
|
|
|
|
|
|
|
|
|
|
| 38 |
msgid "Aready taken"
|
| 39 |
-
msgstr "
|
|
|
|
|
|
|
|
|
|
|
|
|
| 40 |
|
| 41 |
-
#: classes/class.
|
| 42 |
msgid "Available"
|
| 43 |
msgstr "Disponível"
|
| 44 |
|
| 45 |
-
#: classes/class.
|
| 46 |
msgid "User Not Found."
|
| 47 |
-
msgstr "Usuário não encontrado
|
| 48 |
|
| 49 |
-
#: classes/class.
|
| 50 |
msgid "Password Empty or Invalid."
|
| 51 |
-
msgstr "Senha
|
| 52 |
|
| 53 |
-
#: classes/class.
|
| 54 |
msgid "Account is inactive."
|
| 55 |
-
msgstr "
|
|
|
|
|
|
|
|
|
|
|
|
|
| 56 |
|
| 57 |
-
#: classes/class.
|
|
|
|
|
|
|
|
|
|
|
|
|
| 58 |
msgid "You are logged in as:"
|
| 59 |
msgstr "Você está logado como:"
|
| 60 |
|
| 61 |
-
#: classes/class.
|
| 62 |
msgid "Logged Out Successfully."
|
| 63 |
-
msgstr "
|
| 64 |
|
| 65 |
-
#: classes/class.
|
| 66 |
msgid "Session Expired."
|
| 67 |
msgstr "Sessão expirada."
|
| 68 |
|
| 69 |
-
#: classes/class.
|
| 70 |
-
msgid "Invalid
|
| 71 |
-
msgstr "Nome de
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| 72 |
|
| 73 |
-
#: classes/class.
|
| 74 |
-
msgid "
|
| 75 |
-
msgstr "
|
| 76 |
|
| 77 |
-
#: classes/class.
|
|
|
|
|
|
|
|
|
|
|
|
|
| 78 |
msgid ""
|
| 79 |
-
"Wordpress account exists with given
|
| 80 |
msgstr ""
|
| 81 |
-
"
|
| 82 |
-
"
|
| 83 |
|
| 84 |
-
#: classes/class.
|
| 85 |
msgid ""
|
| 86 |
-
"Wordpress account exists with given email. But given
|
| 87 |
msgstr ""
|
| 88 |
-
"
|
| 89 |
-
"
|
|
|
|
|
|
|
|
|
|
|
|
|
| 90 |
|
| 91 |
-
#: classes/class.
|
| 92 |
-
msgid "
|
| 93 |
-
msgstr "O nome
|
| 94 |
|
| 95 |
-
#: classes/class.
|
| 96 |
-
msgid "
|
| 97 |
-
msgstr "
|
| 98 |
|
| 99 |
-
#: classes/class.
|
| 100 |
msgid "Password is required"
|
| 101 |
-
msgstr "
|
| 102 |
|
| 103 |
-
#: classes/class.
|
| 104 |
msgid "Password mismatch"
|
| 105 |
-
msgstr "Senha
|
| 106 |
|
| 107 |
-
#: classes/class.
|
| 108 |
msgid "Email is required"
|
| 109 |
-
msgstr "
|
| 110 |
|
| 111 |
-
#: classes/class.
|
| 112 |
msgid "Email is invalid"
|
| 113 |
-
msgstr "
|
| 114 |
|
| 115 |
-
#: classes/class.
|
| 116 |
msgid "Email is already used."
|
| 117 |
-
msgstr "
|
| 118 |
|
| 119 |
-
#: classes/class.
|
| 120 |
msgid "Member since field is invalid"
|
| 121 |
-
msgstr "
|
| 122 |
|
| 123 |
-
#: classes/class.
|
| 124 |
-
msgid "
|
| 125 |
-
msgstr "
|
| 126 |
|
| 127 |
-
#: classes/class.
|
| 128 |
msgid "Gender field is invalid"
|
| 129 |
-
msgstr "
|
| 130 |
|
| 131 |
-
#: classes/class.
|
| 132 |
msgid "Account state field is invalid"
|
| 133 |
-
msgstr "
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| 134 |
|
| 135 |
-
#: classes/class.
|
|
|
|
| 136 |
msgid "Please"
|
| 137 |
-
msgstr "Por favor"
|
| 138 |
|
| 139 |
-
#: classes/class.
|
| 140 |
-
#: views/login.php:21
|
| 141 |
msgid "Login"
|
| 142 |
-
msgstr "
|
| 143 |
|
| 144 |
-
#: classes/class.
|
| 145 |
-
#: classes/class.
|
| 146 |
msgid "Please correct the following"
|
| 147 |
-
msgstr "
|
| 148 |
|
| 149 |
-
#: classes/class.
|
| 150 |
msgid "Membership Level Couldn't be found."
|
| 151 |
-
msgstr "Nível de
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| 152 |
|
| 153 |
-
#: classes/class.
|
| 154 |
-
msgid "Email
|
| 155 |
-
msgstr "
|
| 156 |
|
| 157 |
-
#: classes/class.
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| 158 |
msgid "New password has been sent to your email address."
|
| 159 |
-
msgstr "
|
| 160 |
|
| 161 |
-
#: classes/class.
|
| 162 |
-
msgid "
|
| 163 |
-
msgstr "
|
| 164 |
|
| 165 |
-
#: classes/class.
|
| 166 |
-
msgid "
|
| 167 |
-
msgstr "
|
| 168 |
|
| 169 |
-
#: classes/class.
|
| 170 |
-
msgid "
|
| 171 |
-
msgstr "
|
| 172 |
|
| 173 |
-
#: classes/class.
|
| 174 |
-
msgid "
|
| 175 |
-
msgstr ""
|
| 176 |
|
| 177 |
-
#: classes/class.
|
| 178 |
-
#:
|
| 179 |
-
|
| 180 |
-
|
|
|
|
|
|
|
| 181 |
|
| 182 |
-
#: classes/class.
|
| 183 |
-
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| 184 |
msgid "First Name"
|
| 185 |
-
msgstr "Primeiro
|
| 186 |
|
| 187 |
-
#: classes/class.
|
| 188 |
-
#:
|
|
|
|
|
|
|
| 189 |
msgid "Last Name"
|
| 190 |
msgstr "Sobrenome"
|
| 191 |
|
| 192 |
-
#: classes/class.
|
| 193 |
msgid "Email"
|
| 194 |
-
msgstr "
|
| 195 |
|
| 196 |
-
#: classes/class.
|
| 197 |
-
|
| 198 |
-
|
| 199 |
-
msgid "Membership Level"
|
| 200 |
-
msgstr "Nível de Associação"
|
| 201 |
-
|
| 202 |
-
#: classes/class.bMembers.php:22 views/admin_member_form_common_part.php:78
|
| 203 |
-
msgid "Subscription Starts"
|
| 204 |
-
msgstr "Início da Assinatura"
|
| 205 |
|
| 206 |
-
#: classes/class.
|
| 207 |
msgid "Account State"
|
| 208 |
-
msgstr "
|
| 209 |
|
| 210 |
-
#: classes/class.
|
|
|
|
|
|
|
|
|
|
| 211 |
msgid "Delete"
|
| 212 |
-
msgstr "
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| 213 |
|
| 214 |
-
#: classes/class.
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| 215 |
msgid "No Member found."
|
| 216 |
-
msgstr "Nenhum
|
| 217 |
|
| 218 |
-
#: classes/class.
|
| 219 |
msgid "Membership Level Creation Successful."
|
| 220 |
-
msgstr "
|
| 221 |
|
| 222 |
-
#: classes/class.
|
| 223 |
msgid "Updated Successfully."
|
| 224 |
-
msgstr "
|
| 225 |
-
|
| 226 |
-
#: classes/class.bMembershipLevels.php:9
|
| 227 |
-
#: classes/class.simple-wp-membership.php:469
|
| 228 |
-
msgid "Membership Levels"
|
| 229 |
-
msgstr "Níveis de Associação"
|
| 230 |
|
| 231 |
-
#: classes/class.
|
| 232 |
msgid "Role"
|
| 233 |
-
msgstr "
|
| 234 |
|
| 235 |
-
#: classes/class.
|
| 236 |
-
msgid "
|
| 237 |
-
msgstr "
|
| 238 |
|
| 239 |
-
#: classes/class.
|
| 240 |
-
msgid "
|
| 241 |
-
msgstr "
|
|
|
|
|
|
|
|
|
|
|
|
|
| 242 |
|
| 243 |
-
#: classes/class.
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| 244 |
msgid "General Settings"
|
| 245 |
-
msgstr "Configurações
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| 246 |
|
| 247 |
-
#: classes/class.
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| 248 |
msgid "Enable Free Membership"
|
| 249 |
-
msgstr "
|
| 250 |
|
| 251 |
-
#: classes/class.
|
| 252 |
-
msgid "
|
| 253 |
-
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| 254 |
|
| 255 |
-
#: classes/class.
|
| 256 |
msgid "Free Membership Level ID"
|
| 257 |
-
msgstr "
|
| 258 |
|
| 259 |
-
#: classes/class.
|
| 260 |
msgid "Assign free membership level ID"
|
| 261 |
-
msgstr "
|
|
|
|
|
|
|
|
|
|
|
|
|
| 262 |
|
| 263 |
-
#: classes/class.
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| 264 |
msgid "Hide Adminbar"
|
| 265 |
-
msgstr "
|
| 266 |
|
| 267 |
-
#: classes/class.
|
| 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 |
-
"
|
| 273 |
-
"
|
| 274 |
-
"
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| 275 |
|
| 276 |
-
#: classes/class.
|
|
|
|
|
|
|
|
|
|
|
|
|
| 277 |
msgid "Pages Settings"
|
| 278 |
-
msgstr "Configurações
|
| 279 |
|
| 280 |
-
#: classes/class.
|
| 281 |
msgid "Login Page URL"
|
| 282 |
-
msgstr "URL da página de
|
| 283 |
|
| 284 |
-
#: classes/class.
|
| 285 |
msgid "Registration Page URL"
|
| 286 |
-
msgstr "URL da página
|
| 287 |
|
| 288 |
-
#: classes/class.
|
| 289 |
msgid "Join Us Page URL"
|
| 290 |
-
msgstr "URL da página Junte-se a
|
| 291 |
|
| 292 |
-
#: classes/class.
|
| 293 |
msgid "Edit Profile Page URL"
|
| 294 |
-
msgstr "URL da página
|
| 295 |
|
| 296 |
-
#: classes/class.
|
| 297 |
msgid "Password Reset Page URL"
|
| 298 |
-
msgstr "URL da
|
| 299 |
|
| 300 |
-
#: classes/class.
|
| 301 |
msgid "Test & Debug Settings"
|
| 302 |
-
msgstr "Configurações de teste e
|
|
|
|
|
|
|
|
|
|
|
|
|
| 303 |
|
| 304 |
-
#: classes/class.
|
| 305 |
msgid "Enable Sandbox Testing"
|
| 306 |
-
msgstr "
|
| 307 |
|
| 308 |
-
#: classes/class.
|
| 309 |
msgid "Enable this option if you want to do sandbox payment testing."
|
| 310 |
-
msgstr "
|
|
|
|
| 311 |
|
| 312 |
-
#: classes/class.
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| 313 |
msgid "Email Misc. Settings"
|
| 314 |
-
msgstr "
|
| 315 |
|
| 316 |
-
#: classes/class.
|
| 317 |
msgid "From Email Address"
|
| 318 |
-
msgstr "
|
| 319 |
|
| 320 |
-
#: classes/class.
|
| 321 |
msgid "Email Settings (Prompt to Complete Registration )"
|
| 322 |
-
msgstr ""
|
| 323 |
|
| 324 |
-
#: classes/class.
|
| 325 |
-
#: classes/class.
|
| 326 |
msgid "Email Subject"
|
| 327 |
-
msgstr "Assunto do
|
| 328 |
|
| 329 |
-
#: classes/class.
|
| 330 |
-
#: classes/class.
|
| 331 |
msgid "Email Body"
|
| 332 |
-
msgstr "Corpo do
|
| 333 |
|
| 334 |
-
#: classes/class.
|
| 335 |
msgid "Email Settings (Registration Complete)"
|
| 336 |
-
msgstr "Configurações
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| 337 |
|
| 338 |
-
#: classes/class.
|
| 339 |
-
msgid "
|
| 340 |
-
msgstr "
|
| 341 |
|
| 342 |
-
#: classes/class.
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| 343 |
msgid "Send Email to Member When Added via Admin Dashboard"
|
| 344 |
msgstr ""
|
| 345 |
-
"
|
|
|
|
| 346 |
|
| 347 |
-
#: classes/class.
|
|
|
|
|
|
|
|
|
|
|
|
|
| 348 |
msgid " Email Settings (Account Upgrade Notification)"
|
| 349 |
-
msgstr "Configurações de
|
|
|
|
|
|
|
|
|
|
|
|
|
| 350 |
|
| 351 |
-
#: classes/class.
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| 352 |
msgid "Not a Member?"
|
| 353 |
-
msgstr "
|
| 354 |
|
| 355 |
-
#: classes/class.
|
| 356 |
msgid "Join Us"
|
| 357 |
-
msgstr "
|
| 358 |
|
| 359 |
-
#: classes/class.
|
| 360 |
msgid "Active"
|
| 361 |
-
msgstr "
|
| 362 |
|
| 363 |
-
#: classes/class.
|
| 364 |
msgid "Inactive"
|
| 365 |
-
msgstr "
|
| 366 |
|
| 367 |
-
#: classes/class.
|
| 368 |
msgid "Pending"
|
| 369 |
-
msgstr "
|
| 370 |
|
| 371 |
-
#: classes/class.
|
| 372 |
msgid "Expired"
|
| 373 |
msgstr "Expirado"
|
| 374 |
|
| 375 |
-
#: classes/class.
|
| 376 |
msgid "Never"
|
| 377 |
msgstr "Nunca"
|
| 378 |
|
| 379 |
-
#: classes/class.
|
| 380 |
-
msgid "
|
| 381 |
-
msgstr "
|
| 382 |
|
| 383 |
-
#: classes/class.
|
| 384 |
-
msgid "
|
| 385 |
-
msgstr "
|
| 386 |
|
| 387 |
-
#: classes/class.
|
| 388 |
-
msgid "
|
| 389 |
-
msgstr "
|
| 390 |
|
| 391 |
-
#: classes/class.
|
| 392 |
-
msgid "
|
| 393 |
-
msgstr ""
|
| 394 |
|
| 395 |
-
#: classes/class.
|
| 396 |
-
msgid "
|
| 397 |
-
msgstr "
|
| 398 |
|
| 399 |
-
#: classes/class.
|
| 400 |
-
|
| 401 |
-
|
|
|
|
|
|
|
| 402 |
|
| 403 |
-
#: classes/class.
|
| 404 |
-
msgid "
|
| 405 |
-
msgstr "
|
| 406 |
|
| 407 |
-
#: classes/class.
|
| 408 |
-
msgid "
|
| 409 |
-
msgstr "
|
| 410 |
|
| 411 |
-
#: classes/class.
|
| 412 |
-
|
| 413 |
-
|
|
|
|
| 414 |
|
| 415 |
-
#: classes/class.
|
| 416 |
-
msgid "
|
| 417 |
-
msgstr ""
|
| 418 |
|
| 419 |
-
#: classes/class.
|
| 420 |
-
msgid "
|
| 421 |
-
msgstr ""
|
| 422 |
|
| 423 |
-
#: classes/class.
|
| 424 |
-
msgid "
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| 425 |
msgstr ""
|
| 426 |
|
| 427 |
-
#: classes/class.
|
| 428 |
-
|
| 429 |
-
|
|
|
|
| 430 |
|
| 431 |
-
#:
|
| 432 |
-
|
| 433 |
-
|
| 434 |
-
msgstr "Senha"
|
| 435 |
|
| 436 |
-
#:
|
| 437 |
-
msgid "
|
| 438 |
-
msgstr "
|
| 439 |
|
| 440 |
-
#:
|
| 441 |
-
msgid "
|
| 442 |
-
msgstr "
|
| 443 |
|
| 444 |
-
#:
|
| 445 |
-
|
| 446 |
-
|
| 447 |
-
msgstr "telefone"
|
| 448 |
|
| 449 |
-
#:
|
| 450 |
-
|
| 451 |
-
|
| 452 |
-
msgstr "Rua"
|
| 453 |
|
| 454 |
-
#:
|
| 455 |
-
|
| 456 |
-
|
| 457 |
-
msgstr "Cidade"
|
| 458 |
|
| 459 |
-
#:
|
| 460 |
-
|
| 461 |
-
|
| 462 |
-
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| 463 |
|
| 464 |
-
#:
|
| 465 |
-
|
| 466 |
-
|
| 467 |
-
msgstr "Cep"
|
| 468 |
|
| 469 |
-
#:
|
| 470 |
-
|
| 471 |
-
|
| 472 |
-
msgstr "País"
|
| 473 |
|
| 474 |
-
#: views/add.php:
|
| 475 |
-
|
| 476 |
-
|
|
|
|
| 477 |
|
| 478 |
-
#: views/add.php:
|
|
|
|
|
|
|
|
|
|
|
|
|
| 479 |
msgid "Register"
|
| 480 |
-
msgstr "
|
| 481 |
|
| 482 |
#: views/admin_add.php:6
|
| 483 |
msgid "Add Member"
|
| 484 |
-
msgstr "Adicionar
|
| 485 |
|
| 486 |
#: views/admin_add.php:7
|
| 487 |
-
#, fuzzy
|
| 488 |
msgid "Create a brand new user and add it to this site."
|
| 489 |
-
msgstr "
|
| 490 |
-
|
| 491 |
-
#: views/admin_add.php:11
|
| 492 |
-
msgid "User name"
|
| 493 |
-
msgstr ""
|
| 494 |
|
| 495 |
#: views/admin_add.php:11 views/admin_add.php:15 views/admin_add_level.php:11
|
| 496 |
#: views/admin_add_level.php:15 views/admin_add_level.php:19
|
| 497 |
-
#: views/admin_edit.php:9 views/admin_edit.php:13
|
| 498 |
-
#: views/admin_edit_level.php:
|
| 499 |
-
#: views/admin_edit_level.php:18
|
| 500 |
msgid "(required)"
|
| 501 |
msgstr "(obrigatório)"
|
| 502 |
|
| 503 |
#: views/admin_add.php:15 views/admin_edit.php:13
|
| 504 |
msgid "E-mail"
|
| 505 |
-
msgstr ""
|
| 506 |
|
| 507 |
#: views/admin_add.php:19
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| 508 |
msgid "Add New Member "
|
| 509 |
-
msgstr "Adicionar
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| 510 |
|
| 511 |
#: views/admin_add_level.php:6
|
| 512 |
msgid "Create new membership level."
|
| 513 |
-
msgstr "Criar novo nível de
|
| 514 |
|
| 515 |
#: views/admin_add_level.php:11 views/admin_edit_level.php:10
|
| 516 |
msgid "Membership Level Name"
|
| 517 |
-
msgstr "Nome
|
| 518 |
|
| 519 |
#: views/admin_add_level.php:15 views/admin_edit_level.php:14
|
| 520 |
msgid "Default WordPress Role"
|
| 521 |
-
msgstr "
|
| 522 |
|
| 523 |
#: views/admin_add_level.php:19 views/admin_edit_level.php:18
|
| 524 |
-
msgid "
|
| 525 |
-
msgstr "Duração
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| 526 |
|
| 527 |
-
#: views/admin_add_level.php:
|
| 528 |
-
msgid "
|
| 529 |
-
msgstr "
|
| 530 |
|
| 531 |
-
#: views/admin_add_level.php:
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| 532 |
msgid "Add New Membership Level "
|
| 533 |
-
msgstr "Adicionar
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| 534 |
|
| 535 |
#: views/admin_edit.php:5
|
| 536 |
msgid "Edit Member"
|
| 537 |
-
msgstr "Editar
|
| 538 |
|
| 539 |
#: views/admin_edit.php:6
|
| 540 |
msgid "Edit existing member details."
|
| 541 |
-
msgstr "
|
| 542 |
|
| 543 |
-
#: views/admin_edit.php:
|
| 544 |
-
msgid "
|
| 545 |
-
msgstr "
|
| 546 |
|
| 547 |
-
#: views/admin_edit.php:
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| 548 |
msgid "Edit User "
|
| 549 |
-
msgstr "Editar Usuário
|
| 550 |
|
| 551 |
#: views/admin_edit_level.php:5
|
| 552 |
msgid "Edit membership level"
|
| 553 |
-
msgstr "Editar
|
| 554 |
|
| 555 |
#: views/admin_edit_level.php:6
|
| 556 |
msgid "Edit membership level."
|
| 557 |
-
msgstr "Editar
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| 558 |
|
| 559 |
-
#: views/admin_edit_level.php:
|
| 560 |
msgid "Edit Membership Level "
|
| 561 |
-
msgstr "Editar
|
| 562 |
|
| 563 |
#: views/admin_members.php:2
|
| 564 |
msgid "Simple WP Membership::Members"
|
| 565 |
-
msgstr "
|
| 566 |
|
| 567 |
-
#: views/admin_members.php:3 views/
|
| 568 |
-
#: views/admin_membership_levels.php:21
|
| 569 |
msgid "Add New"
|
| 570 |
-
msgstr "Adicionar
|
| 571 |
|
| 572 |
-
#: views/
|
| 573 |
-
msgid "search"
|
| 574 |
-
msgstr "Pesquisa"
|
| 575 |
-
|
| 576 |
-
#: views/admin_membership_levels.php:3
|
| 577 |
msgid "Simple WP Membership::Membership Levels"
|
| 578 |
-
msgstr "
|
|
|
|
|
|
|
|
|
|
|
|
|
| 579 |
|
| 580 |
#: views/admin_membership_level_menu.php:2
|
| 581 |
msgid "Membership level"
|
| 582 |
-
msgstr "Nível de
|
| 583 |
|
| 584 |
#: views/admin_membership_level_menu.php:3
|
| 585 |
msgid "Manage Content Production"
|
| 586 |
-
msgstr "Gerenciar
|
|
|
|
|
|
|
|
|
|
|
|
|
| 587 |
|
| 588 |
#: views/admin_membership_manage.php:17
|
| 589 |
msgid "Example Content Protection Settings"
|
| 590 |
-
msgstr "Exemplo de configurações de proteção de conteúdo"
|
| 591 |
-
|
| 592 |
-
#: views/admin_member_form_common_part.php:45
|
| 593 |
-
msgid "(twice, required)"
|
| 594 |
-
msgstr "(duas vezes, é necessária)"
|
| 595 |
|
| 596 |
-
#: views/admin_member_form_common_part.php:
|
| 597 |
-
msgid "
|
| 598 |
-
msgstr "
|
| 599 |
|
| 600 |
-
#: views/admin_member_form_common_part.php:
|
| 601 |
-
msgid ""
|
| 602 |
-
|
| 603 |
-
"stronger, use upper and lower case letters, numbers and symbols like ! \" ? "
|
| 604 |
-
"$ % ^ & )."
|
| 605 |
-
msgstr ""
|
| 606 |
-
"Dica: A senha deve ter pelo menos sete caracteres. Para torná-lo mais forte, "
|
| 607 |
-
"use letras maiúsculas e minúsculas, números e símbolos como !?"
|
| 608 |
|
| 609 |
-
#: views/admin_member_form_common_part.php:
|
| 610 |
-
|
| 611 |
-
|
| 612 |
-
msgstr "Status da Conta"
|
| 613 |
|
| 614 |
-
#: views/admin_member_form_common_part.php:
|
| 615 |
-
msgid "
|
| 616 |
-
msgstr "
|
| 617 |
|
| 618 |
-
#: views/
|
| 619 |
-
|
| 620 |
-
|
| 621 |
-
msgstr "Membership WP Simples :: Configurações"
|
| 622 |
|
| 623 |
-
#: views/
|
| 624 |
-
msgid "
|
| 625 |
-
msgstr "
|
| 626 |
|
| 627 |
-
#: views/
|
| 628 |
-
msgid "
|
| 629 |
-
msgstr "
|
| 630 |
|
| 631 |
-
#: views/
|
| 632 |
-
msgid "
|
| 633 |
-
msgstr "
|
| 634 |
|
| 635 |
-
#: views/
|
| 636 |
-
msgid "
|
| 637 |
-
msgstr "
|
| 638 |
|
| 639 |
#: views/admin_tools_settings.php:9
|
| 640 |
msgid "Generate a Registration Completion link"
|
| 641 |
-
msgstr "Gerar link de
|
| 642 |
|
| 643 |
#: views/admin_tools_settings.php:12
|
| 644 |
msgid ""
|
|
@@ -646,13 +1124,13 @@ msgid ""
|
|
| 646 |
"your customer if they have missed the email that was automatically sent out "
|
| 647 |
"to them after the payment."
|
| 648 |
msgstr ""
|
| 649 |
-
"Você pode gerar um
|
| 650 |
-
"seu cliente
|
| 651 |
-
"
|
| 652 |
|
| 653 |
#: views/admin_tools_settings.php:17
|
| 654 |
msgid "Generate Registration Completion Link"
|
| 655 |
-
msgstr "Gerar link de
|
| 656 |
|
| 657 |
#: views/admin_tools_settings.php:20
|
| 658 |
msgid "OR"
|
|
@@ -660,52 +1138,217 @@ msgstr "OU"
|
|
| 660 |
|
| 661 |
#: views/admin_tools_settings.php:21
|
| 662 |
msgid "For All Pending Registrations"
|
| 663 |
-
msgstr "Para todos os
|
| 664 |
|
| 665 |
#: views/admin_tools_settings.php:24
|
| 666 |
msgid "Registration Completion Links Will Appear Below:"
|
| 667 |
-
msgstr "Links conclusão de
|
| 668 |
|
| 669 |
#: views/admin_tools_settings.php:31
|
| 670 |
msgid "Send Registration Reminder Email too"
|
| 671 |
-
msgstr "Enviar
|
| 672 |
|
| 673 |
#: views/admin_tools_settings.php:34
|
| 674 |
msgid "Submit"
|
| 675 |
msgstr "Enviar"
|
| 676 |
|
| 677 |
-
#: views/edit.php:
|
| 678 |
msgid "Update"
|
| 679 |
-
msgstr "
|
| 680 |
-
|
| 681 |
-
#: views/forgot_password.php:5
|
| 682 |
-
msgid "Email Address"
|
| 683 |
-
msgstr "Endereço de e-mail"
|
| 684 |
|
| 685 |
#: views/forgot_password.php:12
|
| 686 |
msgid "Reset Password"
|
| 687 |
-
msgstr "Redefinir
|
| 688 |
|
| 689 |
-
#: views/loggedin.php:3
|
| 690 |
msgid "Logged in as"
|
| 691 |
msgstr "Logado como"
|
| 692 |
|
| 693 |
-
#: views/loggedin.php:11
|
| 694 |
msgid "Membership"
|
| 695 |
-
msgstr "
|
| 696 |
|
| 697 |
-
#: views/loggedin.php:15
|
| 698 |
msgid "Account Expiry"
|
| 699 |
-
msgstr "
|
| 700 |
|
| 701 |
-
#: views/loggedin.php:19
|
| 702 |
msgid "Logout"
|
| 703 |
msgstr "Sair"
|
| 704 |
|
| 705 |
-
#: views/login.php:
|
| 706 |
msgid "Remember Me"
|
| 707 |
-
msgstr "
|
| 708 |
|
| 709 |
-
#: views/login.php:
|
| 710 |
msgid "Forgot Password"
|
| 711 |
-
msgstr "
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| 1 |
msgid ""
|
| 2 |
msgstr ""
|
| 3 |
+
"Project-Id-Version: simple membership plugin\n"
|
| 4 |
+
"POT-Creation-Date: 2015-12-28 16:16-0200\n"
|
| 5 |
+
"PO-Revision-Date: 2016-01-03 15:48-0200\n"
|
| 6 |
+
"Language-Team: www.cindie.com.br <nandotelles@yahoo.com>\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 1.8.6\n"
|
| 11 |
"X-Poedit-KeywordsList: __;_e\n"
|
| 12 |
"X-Poedit-Basepath: .\n"
|
| 13 |
+
"Last-Translator: \n"
|
| 14 |
"Plural-Forms: nplurals=2; plural=(n > 1);\n"
|
| 15 |
"Language: pt_BR\n"
|
| 16 |
"X-Poedit-SearchPath-0: .\n"
|
| 17 |
|
| 18 |
+
#: classes/class.simple-wp-membership.php:264
|
| 19 |
+
msgid "You are not logged in."
|
| 20 |
+
msgstr "Você não iniciou uma sessão de usuário!"
|
| 21 |
+
|
| 22 |
+
#: classes/class.simple-wp-membership.php:298
|
| 23 |
+
msgid "Simple WP Membership Protection"
|
| 24 |
+
msgstr "Proteção do Simple WP Membership"
|
| 25 |
+
|
| 26 |
+
#: classes/class.simple-wp-membership.php:310
|
| 27 |
+
msgid "Simple Membership Protection options"
|
| 28 |
+
msgstr "Opções para a proteção do Simple WP Membershp"
|
| 29 |
+
|
| 30 |
+
#: classes/class.simple-wp-membership.php:326
|
| 31 |
+
msgid "Do you want to protect this content?"
|
| 32 |
+
msgstr "Você gostaria de proteger este conteúdo?"
|
| 33 |
+
|
| 34 |
+
#: classes/class.simple-wp-membership.php:331
|
| 35 |
+
msgid "Select the membership level that can access this content:"
|
| 36 |
+
msgstr "Selecione o nível de usuário permitido para o acesso deste conteúdo."
|
| 37 |
+
|
| 38 |
+
#: classes/class.simple-wp-membership.php:464
|
| 39 |
+
msgid "WP Membership"
|
| 40 |
+
msgstr "WP Membership"
|
| 41 |
+
|
| 42 |
+
#: classes/class.simple-wp-membership.php:465 classes/class.swpm-members.php:10
|
| 43 |
+
#: views/admin_members_menu.php:2
|
| 44 |
+
msgid "Members"
|
| 45 |
+
msgstr "Usuários"
|
| 46 |
+
|
| 47 |
+
#: classes/class.simple-wp-membership.php:466
|
| 48 |
+
#: classes/class.swpm-category-list.php:20
|
| 49 |
+
#: classes/class.swpm-membership-levels.php:11
|
| 50 |
+
msgid "Membership Levels"
|
| 51 |
+
msgstr "Níveis de usuário"
|
| 52 |
+
|
| 53 |
+
#: classes/class.simple-wp-membership.php:467
|
| 54 |
+
msgid "Settings"
|
| 55 |
+
msgstr "Configurações"
|
| 56 |
+
|
| 57 |
+
#: classes/class.simple-wp-membership.php:468
|
| 58 |
+
msgid "Payments"
|
| 59 |
+
msgstr "Pagamentos"
|
| 60 |
|
| 61 |
+
#: classes/class.simple-wp-membership.php:469
|
| 62 |
+
msgid "Add-ons"
|
| 63 |
+
msgstr "Add-ons"
|
| 64 |
+
|
| 65 |
+
#: classes/class.swpm-access-control.php:21
|
| 66 |
+
#: classes/class.swpm-access-control.php:28
|
| 67 |
+
#: classes/class.swpm-access-control.php:55
|
| 68 |
msgid "You need to login to view this content. "
|
| 69 |
+
msgstr ""
|
| 70 |
+
"Você precisa iniciar uma sessão de usuário para visualizar esta página. "
|
| 71 |
+
|
| 72 |
+
#: classes/class.swpm-access-control.php:34
|
| 73 |
+
#: classes/class.swpm-access-control.php:60
|
| 74 |
+
msgid ""
|
| 75 |
+
"Your account has expired. Please renew your account to gain access to this "
|
| 76 |
+
"content."
|
| 77 |
+
msgstr ""
|
| 78 |
+
"Sua conta de usuário expirou! Por favor, renove sua conta para obter acesso "
|
| 79 |
+
"a esta página."
|
| 80 |
+
|
| 81 |
+
#: classes/class.swpm-access-control.php:41
|
| 82 |
+
msgid "This content can only be viewed by members who joined on or before "
|
| 83 |
+
msgstr "Esta página só pode ser visualizada por usuários cadastrados até "
|
| 84 |
|
| 85 |
+
#: classes/class.swpm-access-control.php:46
|
| 86 |
+
#: classes/class.swpm-access-control.php:66
|
| 87 |
+
msgid "This content is not permitted for your membership level."
|
| 88 |
+
msgstr "Este conteúdo não pode ser visualizado pelo seu nível de usuário."
|
| 89 |
+
|
| 90 |
+
#: classes/class.swpm-access-control.php:84
|
| 91 |
+
msgid " The rest of the content is not permitted for your membership level."
|
| 92 |
+
msgstr ""
|
| 93 |
+
"O restante do conteúdo não pode ser visualizado pelo seu nível de usuário."
|
| 94 |
|
| 95 |
+
#: classes/class.swpm-access-control.php:88
|
| 96 |
+
#: classes/class.swpm-access-control.php:106
|
| 97 |
+
msgid "You need to login to view the rest of the content. "
|
| 98 |
+
msgstr ""
|
| 99 |
+
"Você precisa iniciar uma sessão para visualizar o restante do conteúdo."
|
| 100 |
+
|
| 101 |
+
#: classes/class.swpm-admin-registration.php:54
|
| 102 |
+
msgid "Member record added successfully."
|
| 103 |
+
msgstr "Cadastro de usuário realizado com sucesso."
|
| 104 |
+
|
| 105 |
+
#: classes/class.swpm-admin-registration.php:59
|
| 106 |
+
#: classes/class.swpm-admin-registration.php:81
|
| 107 |
+
#: classes/class.swpm-admin-registration.php:105
|
| 108 |
+
#: classes/class.swpm-membership-level.php:43
|
| 109 |
+
#: classes/class.swpm-membership-level.php:62
|
| 110 |
msgid "Please correct the following:"
|
| 111 |
+
msgstr "Por favor, corrija os erros abaixo:"
|
| 112 |
+
|
| 113 |
+
#: classes/class.swpm-admin-registration.php:96
|
| 114 |
+
msgid "Your current password"
|
| 115 |
+
msgstr "Sua senha atual"
|
| 116 |
|
| 117 |
+
#: classes/class.swpm-ajax.php:14
|
| 118 |
+
msgid "Invalid Email Address"
|
| 119 |
+
msgstr "Endereço de email inválido"
|
| 120 |
+
|
| 121 |
+
#: classes/class.swpm-ajax.php:21 classes/class.swpm-ajax.php:36
|
| 122 |
msgid "Aready taken"
|
| 123 |
+
msgstr "Não está disponível para uso"
|
| 124 |
+
|
| 125 |
+
#: classes/class.swpm-ajax.php:30
|
| 126 |
+
msgid "Name contains invalid character"
|
| 127 |
+
msgstr "O nome contem caracteres iválidos"
|
| 128 |
|
| 129 |
+
#: classes/class.swpm-ajax.php:37
|
| 130 |
msgid "Available"
|
| 131 |
msgstr "Disponível"
|
| 132 |
|
| 133 |
+
#: classes/class.swpm-auth.php:50
|
| 134 |
msgid "User Not Found."
|
| 135 |
+
msgstr "Usuário não encontrado"
|
| 136 |
|
| 137 |
+
#: classes/class.swpm-auth.php:57
|
| 138 |
msgid "Password Empty or Invalid."
|
| 139 |
+
msgstr "Senha inválida ou em branco"
|
| 140 |
|
| 141 |
+
#: classes/class.swpm-auth.php:82
|
| 142 |
msgid "Account is inactive."
|
| 143 |
+
msgstr "Conta fora de uso."
|
| 144 |
+
|
| 145 |
+
#: classes/class.swpm-auth.php:85
|
| 146 |
+
msgid "Account is pending."
|
| 147 |
+
msgstr "Conta pendente,"
|
| 148 |
|
| 149 |
+
#: classes/class.swpm-auth.php:88 classes/class.swpm-auth.php:106
|
| 150 |
+
msgid "Account has expired."
|
| 151 |
+
msgstr "A conta expirou."
|
| 152 |
+
|
| 153 |
+
#: classes/class.swpm-auth.php:114
|
| 154 |
msgid "You are logged in as:"
|
| 155 |
msgstr "Você está logado como:"
|
| 156 |
|
| 157 |
+
#: classes/class.swpm-auth.php:160
|
| 158 |
msgid "Logged Out Successfully."
|
| 159 |
+
msgstr "Sessão finalizada com sucesso."
|
| 160 |
|
| 161 |
+
#: classes/class.swpm-auth.php:210
|
| 162 |
msgid "Session Expired."
|
| 163 |
msgstr "Sessão expirada."
|
| 164 |
|
| 165 |
+
#: classes/class.swpm-auth.php:219
|
| 166 |
+
msgid "Invalid Username"
|
| 167 |
+
msgstr "Nome de usuário inválido."
|
| 168 |
+
|
| 169 |
+
#: classes/class.swpm-auth.php:227
|
| 170 |
+
msgid "Please login again."
|
| 171 |
+
msgstr "Por favor, inicie sua sessão novamente."
|
| 172 |
+
|
| 173 |
+
#: classes/class.swpm-category-list.php:19 classes/class.swpm-members.php:23
|
| 174 |
+
#: classes/class.swpm-membership-levels.php:10
|
| 175 |
+
#: classes/class.swpm-membership-levels.php:20
|
| 176 |
+
#: classes/admin-includes/class.swpm-payments-list-table.php:80
|
| 177 |
+
#: views/add.php:30 views/admin_member_form_common_part.php:2 views/edit.php:53
|
| 178 |
+
#: views/payments/payment-gateway/admin_paypal_buy_now_button.php:36
|
| 179 |
+
#: views/payments/payment-gateway/admin_paypal_buy_now_button.php:217
|
| 180 |
+
#: views/payments/payment-gateway/admin_paypal_subscription_button.php:37
|
| 181 |
+
#: views/payments/payment-gateway/admin_paypal_subscription_button.php:310
|
| 182 |
+
msgid "Membership Level"
|
| 183 |
+
msgstr "Nível de usuário"
|
| 184 |
+
|
| 185 |
+
#: classes/class.swpm-category-list.php:33 classes/class.swpm-members.php:18
|
| 186 |
+
#: classes/class.swpm-membership-levels.php:19
|
| 187 |
+
msgid "ID"
|
| 188 |
+
msgstr "ID"
|
| 189 |
+
|
| 190 |
+
#: classes/class.swpm-category-list.php:34
|
| 191 |
+
msgid "Name"
|
| 192 |
+
msgstr "Nome"
|
| 193 |
+
|
| 194 |
+
#: classes/class.swpm-category-list.php:35
|
| 195 |
+
msgid "Description"
|
| 196 |
+
msgstr "Descrição"
|
| 197 |
|
| 198 |
+
#: classes/class.swpm-category-list.php:36
|
| 199 |
+
msgid "Count"
|
| 200 |
+
msgstr "Contagem"
|
| 201 |
|
| 202 |
+
#: classes/class.swpm-category-list.php:80
|
| 203 |
+
msgid "Category protection updated!"
|
| 204 |
+
msgstr "Proteção de categoria atualizada!"
|
| 205 |
+
|
| 206 |
+
#: classes/class.swpm-form.php:26
|
| 207 |
msgid ""
|
| 208 |
+
"Wordpress account exists with given username. But given email doesn't match."
|
| 209 |
msgstr ""
|
| 210 |
+
"Existe uma conta na CINDIE com o nome fornecido, mas este email não está "
|
| 211 |
+
"associado a ela."
|
| 212 |
|
| 213 |
+
#: classes/class.swpm-form.php:31
|
| 214 |
msgid ""
|
| 215 |
+
"Wordpress account exists with given email. But given username doesn't match."
|
| 216 |
msgstr ""
|
| 217 |
+
"Existe uma conta na CINDIE com o email fornecido, mas este nome não está "
|
| 218 |
+
"associado a ela."
|
| 219 |
+
|
| 220 |
+
#: classes/class.swpm-form.php:40
|
| 221 |
+
msgid "Username is required"
|
| 222 |
+
msgstr "Nome de usuário inválido"
|
| 223 |
|
| 224 |
+
#: classes/class.swpm-form.php:44
|
| 225 |
+
msgid "Username contains invalid character"
|
| 226 |
+
msgstr "O nome contem caracteres iválidos"
|
| 227 |
|
| 228 |
+
#: classes/class.swpm-form.php:52
|
| 229 |
+
msgid "Username already exists."
|
| 230 |
+
msgstr "O nome de usuário já existe."
|
| 231 |
|
| 232 |
+
#: classes/class.swpm-form.php:75
|
| 233 |
msgid "Password is required"
|
| 234 |
+
msgstr "Senha inválida ou em branco"
|
| 235 |
|
| 236 |
+
#: classes/class.swpm-form.php:82
|
| 237 |
msgid "Password mismatch"
|
| 238 |
+
msgstr "Senha inválida ou em branco"
|
| 239 |
|
| 240 |
+
#: classes/class.swpm-form.php:93
|
| 241 |
msgid "Email is required"
|
| 242 |
+
msgstr "Endereço de email inválido"
|
| 243 |
|
| 244 |
+
#: classes/class.swpm-form.php:97
|
| 245 |
msgid "Email is invalid"
|
| 246 |
+
msgstr "Endereço de email inválido"
|
| 247 |
|
| 248 |
+
#: classes/class.swpm-form.php:113
|
| 249 |
msgid "Email is already used."
|
| 250 |
+
msgstr "Este email já foi cadastrado."
|
| 251 |
|
| 252 |
+
#: classes/class.swpm-form.php:170
|
| 253 |
msgid "Member since field is invalid"
|
| 254 |
+
msgstr "O campo \"usuário desde\" é inválido"
|
| 255 |
|
| 256 |
+
#: classes/class.swpm-form.php:181
|
| 257 |
+
msgid "Access starts field is invalid"
|
| 258 |
+
msgstr "O campo \"início de acesso\" é inválido."
|
| 259 |
|
| 260 |
+
#: classes/class.swpm-form.php:191
|
| 261 |
msgid "Gender field is invalid"
|
| 262 |
+
msgstr "O campo \"gênero\" é inválido"
|
| 263 |
|
| 264 |
+
#: classes/class.swpm-form.php:202
|
| 265 |
msgid "Account state field is invalid"
|
| 266 |
+
msgstr "O campo \"estado da conta\" é inválido"
|
| 267 |
+
|
| 268 |
+
#: classes/class.swpm-form.php:209
|
| 269 |
+
msgid "Invalid membership level"
|
| 270 |
+
msgstr "Nível de usuário inválido"
|
| 271 |
+
|
| 272 |
+
#: classes/class.swpm-front-registration.php:71
|
| 273 |
+
msgid "Security check: captcha validation failed."
|
| 274 |
+
msgstr "Verificação de segurança: a validação do captcha falhou."
|
| 275 |
+
|
| 276 |
+
#: classes/class.swpm-front-registration.php:80
|
| 277 |
+
msgid "Registration Successful. "
|
| 278 |
+
msgstr "Cadastro realizado com sucesso!"
|
| 279 |
|
| 280 |
+
#: classes/class.swpm-front-registration.php:80
|
| 281 |
+
#: classes/class.swpm-settings.php:377
|
| 282 |
msgid "Please"
|
| 283 |
+
msgstr "Por favor,"
|
| 284 |
|
| 285 |
+
#: classes/class.swpm-front-registration.php:80
|
| 286 |
+
#: classes/class.swpm-settings.php:377 views/login.php:21
|
| 287 |
msgid "Login"
|
| 288 |
+
msgstr "Faça login"
|
| 289 |
|
| 290 |
+
#: classes/class.swpm-front-registration.php:92
|
| 291 |
+
#: classes/class.swpm-front-registration.php:179
|
| 292 |
msgid "Please correct the following"
|
| 293 |
+
msgstr "Por favor, corrija os erros abaixo"
|
| 294 |
|
| 295 |
+
#: classes/class.swpm-front-registration.php:123
|
| 296 |
msgid "Membership Level Couldn't be found."
|
| 297 |
+
msgstr "Nível de usuário inválido"
|
| 298 |
+
|
| 299 |
+
#: classes/class.swpm-front-registration.php:162
|
| 300 |
+
msgid "Profile updated successfully."
|
| 301 |
+
msgstr "Cadastro atualizado com sucesso"
|
| 302 |
+
|
| 303 |
+
#: classes/class.swpm-front-registration.php:170
|
| 304 |
+
msgid ""
|
| 305 |
+
"Profile updated successfully. You will need to re-login since you changed "
|
| 306 |
+
"your password."
|
| 307 |
+
msgstr ""
|
| 308 |
+
"Cadastro realizado com sucesso. Você precisa reiniciar sua sessão uma vez "
|
| 309 |
+
"que sua senha foi alterada."
|
| 310 |
|
| 311 |
+
#: classes/class.swpm-front-registration.php:189
|
| 312 |
+
msgid "Email address not valid."
|
| 313 |
+
msgstr "Endereço de email inválido"
|
| 314 |
|
| 315 |
+
#: classes/class.swpm-front-registration.php:200
|
| 316 |
+
msgid "No user found with that email address."
|
| 317 |
+
msgstr "Endereço de email inválido"
|
| 318 |
+
|
| 319 |
+
#: classes/class.swpm-front-registration.php:201
|
| 320 |
+
#: classes/class.swpm-front-registration.php:225
|
| 321 |
+
msgid "Email Address: "
|
| 322 |
+
msgstr "Endereço de email:"
|
| 323 |
+
|
| 324 |
+
#: classes/class.swpm-front-registration.php:224
|
| 325 |
msgid "New password has been sent to your email address."
|
| 326 |
+
msgstr "Uma nova senha foi enviada para seu email"
|
| 327 |
|
| 328 |
+
#: classes/class.swpm-init-time-tasks.php:108
|
| 329 |
+
msgid "Sorry, Nonce verification failed."
|
| 330 |
+
msgstr "Pedimos desculpa! A verificação falhou!"
|
| 331 |
|
| 332 |
+
#: classes/class.swpm-init-time-tasks.php:115
|
| 333 |
+
msgid "Sorry, Password didn't match."
|
| 334 |
+
msgstr "Pedimos desculpa! A senha não é válida."
|
| 335 |
|
| 336 |
+
#: classes/class.swpm-level-form.php:47
|
| 337 |
+
msgid "Date format is not valid."
|
| 338 |
+
msgstr " O formato de data não é válido."
|
| 339 |
|
| 340 |
+
#: classes/class.swpm-level-form.php:55
|
| 341 |
+
msgid "Access duration must be > 0."
|
| 342 |
+
msgstr "A duração do acesso deve ser maior do que zero."
|
| 343 |
|
| 344 |
+
#: classes/class.swpm-member-utils.php:22
|
| 345 |
+
#: classes/class.swpm-member-utils.php:30
|
| 346 |
+
#: classes/class.swpm-member-utils.php:38
|
| 347 |
+
#: classes/class.swpm-member-utils.php:48
|
| 348 |
+
msgid "User is not logged in."
|
| 349 |
+
msgstr "Você não iniciou uma sessão de usuário!"
|
| 350 |
|
| 351 |
+
#: classes/class.swpm-members.php:9
|
| 352 |
+
msgid "Member"
|
| 353 |
+
msgstr "Usuário"
|
| 354 |
+
|
| 355 |
+
#: classes/class.swpm-members.php:19 views/add.php:6 views/admin_add.php:11
|
| 356 |
+
#: views/admin_edit.php:9 views/edit.php:5 views/login.php:5
|
| 357 |
+
msgid "Username"
|
| 358 |
+
msgstr "Nome de usuário"
|
| 359 |
+
|
| 360 |
+
#: classes/class.swpm-members.php:20
|
| 361 |
+
#: classes/admin-includes/class.swpm-payments-list-table.php:74
|
| 362 |
+
#: views/add.php:22 views/admin_member_form_common_part.php:15
|
| 363 |
+
#: views/edit.php:21
|
| 364 |
msgid "First Name"
|
| 365 |
+
msgstr "Primeiro nome"
|
| 366 |
|
| 367 |
+
#: classes/class.swpm-members.php:21
|
| 368 |
+
#: classes/admin-includes/class.swpm-payments-list-table.php:75
|
| 369 |
+
#: views/add.php:26 views/admin_member_form_common_part.php:19
|
| 370 |
+
#: views/edit.php:25
|
| 371 |
msgid "Last Name"
|
| 372 |
msgstr "Sobrenome"
|
| 373 |
|
| 374 |
+
#: classes/class.swpm-members.php:22 views/add.php:10 views/edit.php:9
|
| 375 |
msgid "Email"
|
| 376 |
+
msgstr "Email"
|
| 377 |
|
| 378 |
+
#: classes/class.swpm-members.php:24 views/admin_member_form_common_part.php:11
|
| 379 |
+
msgid "Access Starts"
|
| 380 |
+
msgstr "Início do acesso"
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| 381 |
|
| 382 |
+
#: classes/class.swpm-members.php:25
|
| 383 |
msgid "Account State"
|
| 384 |
+
msgstr "Estado da conta"
|
| 385 |
|
| 386 |
+
#: classes/class.swpm-members.php:41
|
| 387 |
+
#: classes/class.swpm-membership-levels.php:35
|
| 388 |
+
#: classes/admin-includes/class.swpm-payment-buttons-list-table.php:80
|
| 389 |
+
#: classes/admin-includes/class.swpm-payments-list-table.php:95
|
| 390 |
msgid "Delete"
|
| 391 |
+
msgstr "Deletar"
|
| 392 |
+
|
| 393 |
+
#: classes/class.swpm-members.php:42
|
| 394 |
+
msgid "Set Status to Active"
|
| 395 |
+
msgstr "Definir status como ativo"
|
| 396 |
+
|
| 397 |
+
#: classes/class.swpm-members.php:44
|
| 398 |
+
msgid "Set Status to Inactive"
|
| 399 |
+
msgstr "Definir status como desativado"
|
| 400 |
|
| 401 |
+
#: classes/class.swpm-members.php:45
|
| 402 |
+
msgid "Set Status to Pending"
|
| 403 |
+
msgstr "Definir status como pendente"
|
| 404 |
+
|
| 405 |
+
#: classes/class.swpm-members.php:46
|
| 406 |
+
msgid "Set Status to Expired"
|
| 407 |
+
msgstr "Definir status como expirado"
|
| 408 |
+
|
| 409 |
+
#: classes/class.swpm-members.php:121
|
| 410 |
msgid "No Member found."
|
| 411 |
+
msgstr "Nenhum usuário econtrado"
|
| 412 |
|
| 413 |
+
#: classes/class.swpm-membership-level.php:38
|
| 414 |
msgid "Membership Level Creation Successful."
|
| 415 |
+
msgstr "Criação de nível de usuário bem sucedida"
|
| 416 |
|
| 417 |
+
#: classes/class.swpm-membership-level.php:57
|
| 418 |
msgid "Updated Successfully."
|
| 419 |
+
msgstr "Atualização realizada"
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| 420 |
|
| 421 |
+
#: classes/class.swpm-membership-levels.php:21
|
| 422 |
msgid "Role"
|
| 423 |
+
msgstr "Função"
|
| 424 |
|
| 425 |
+
#: classes/class.swpm-membership-levels.php:22
|
| 426 |
+
msgid "Access Valid For/Until"
|
| 427 |
+
msgstr "O acesso é válido até/durante"
|
| 428 |
|
| 429 |
+
#: classes/class.swpm-misc-utils.php:50
|
| 430 |
+
msgid "Registration"
|
| 431 |
+
msgstr "Cadastro"
|
| 432 |
+
|
| 433 |
+
#: classes/class.swpm-misc-utils.php:73
|
| 434 |
+
msgid "Member Login"
|
| 435 |
+
msgstr "Login de usuário"
|
| 436 |
|
| 437 |
+
#: classes/class.swpm-misc-utils.php:96
|
| 438 |
+
msgid "Profile"
|
| 439 |
+
msgstr "Perfil"
|
| 440 |
+
|
| 441 |
+
#: classes/class.swpm-misc-utils.php:119
|
| 442 |
+
msgid "Password Reset"
|
| 443 |
+
msgstr "Redefinição de senha"
|
| 444 |
+
|
| 445 |
+
#: classes/class.swpm-settings.php:21 classes/class.swpm-settings.php:39
|
| 446 |
msgid "General Settings"
|
| 447 |
+
msgstr "Configurações gerais"
|
| 448 |
+
|
| 449 |
+
#: classes/class.swpm-settings.php:21
|
| 450 |
+
msgid "Payment Settings"
|
| 451 |
+
msgstr "Configurações de pagamento"
|
| 452 |
+
|
| 453 |
+
#: classes/class.swpm-settings.php:22
|
| 454 |
+
msgid "Email Settings"
|
| 455 |
+
msgstr "Configurações de email"
|
| 456 |
+
|
| 457 |
+
#: classes/class.swpm-settings.php:22
|
| 458 |
+
msgid "Tools"
|
| 459 |
+
msgstr "Ferramentas"
|
| 460 |
|
| 461 |
+
#: classes/class.swpm-settings.php:22 classes/class.swpm-settings.php:150
|
| 462 |
+
msgid "Advanced Settings"
|
| 463 |
+
msgstr "Configurações avançadas"
|
| 464 |
+
|
| 465 |
+
#: classes/class.swpm-settings.php:22
|
| 466 |
+
msgid "Addons Settings"
|
| 467 |
+
msgstr "Configurações de add-ons"
|
| 468 |
+
|
| 469 |
+
#: classes/class.swpm-settings.php:38
|
| 470 |
+
msgid "Plugin Documentation"
|
| 471 |
+
msgstr "Documentação de plugin"
|
| 472 |
+
|
| 473 |
+
#: classes/class.swpm-settings.php:40
|
| 474 |
msgid "Enable Free Membership"
|
| 475 |
+
msgstr "Habilitar participação gratuita"
|
| 476 |
|
| 477 |
+
#: classes/class.swpm-settings.php:41
|
| 478 |
+
msgid ""
|
| 479 |
+
"Enable/disable registration for free membership level. When you enable this "
|
| 480 |
+
"option, make sure to specify a free membership level ID in the field below."
|
| 481 |
+
msgstr ""
|
| 482 |
+
"Habilitar/desabilitar cadastro para o nível de usuário gratuito. Quando você "
|
| 483 |
+
"habilitar esta opção, certifique-se de especificar uma ID de nível de "
|
| 484 |
+
"usuário no campo abaixo"
|
| 485 |
|
| 486 |
+
#: classes/class.swpm-settings.php:42
|
| 487 |
msgid "Free Membership Level ID"
|
| 488 |
+
msgstr "Nível de usuário gratuito"
|
| 489 |
|
| 490 |
+
#: classes/class.swpm-settings.php:43
|
| 491 |
msgid "Assign free membership level ID"
|
| 492 |
+
msgstr "Atribua uma ID para o nível de usuário gratuito"
|
| 493 |
+
|
| 494 |
+
#: classes/class.swpm-settings.php:44
|
| 495 |
+
msgid "Enable More Tag Protection"
|
| 496 |
+
msgstr "Habilitar a proteção More Tag"
|
| 497 |
|
| 498 |
+
#: classes/class.swpm-settings.php:45
|
| 499 |
+
msgid ""
|
| 500 |
+
"Enables or disables \"more\" tag protection in the posts and pages. Anything "
|
| 501 |
+
"after the More tag is protected. Anything before the more tag is teaser "
|
| 502 |
+
"content."
|
| 503 |
+
msgstr ""
|
| 504 |
+
"Habilite ou desabilite a proteção more tag nos posts e páginas. Tudo que "
|
| 505 |
+
"estiver após a tag More estará protegido. Qualquer coisa que estiver antes "
|
| 506 |
+
"da tag More é conteúdo do tipo teaser."
|
| 507 |
+
|
| 508 |
+
#: classes/class.swpm-settings.php:46
|
| 509 |
msgid "Hide Adminbar"
|
| 510 |
+
msgstr "Ocultar a barra de administração"
|
| 511 |
|
| 512 |
+
#: classes/class.swpm-settings.php:47
|
| 513 |
msgid ""
|
| 514 |
"WordPress shows an admin toolbar to the logged in users of the site. Check "
|
| 515 |
"this box if you want to hide that admin toolbar in the fronend of your site."
|
| 516 |
msgstr ""
|
| 517 |
+
"O Wordpress mostra uma barra de administração para o usuário logado no site. "
|
| 518 |
+
"Marque esta caixa se você quiser ocultar a barra de ferramentas de "
|
| 519 |
+
"administração."
|
| 520 |
+
|
| 521 |
+
#: classes/class.swpm-settings.php:49
|
| 522 |
+
msgid "Default Account Status"
|
| 523 |
+
msgstr "Estado padrão da conta"
|
| 524 |
+
|
| 525 |
+
#: classes/class.swpm-settings.php:52
|
| 526 |
+
msgid ""
|
| 527 |
+
"Select the default account status for newly registered users. If you want to "
|
| 528 |
+
"manually approve the members then you can set the status to \"Pending\"."
|
| 529 |
+
msgstr ""
|
| 530 |
+
"Selecione o status padrão de conta para usuário recém cadastrados. Se você "
|
| 531 |
+
"quiser aprovar os usuários manualmente, então você poderá definir o status "
|
| 532 |
+
"como \"Pendente\"."
|
| 533 |
+
|
| 534 |
+
#: classes/class.swpm-settings.php:53
|
| 535 |
+
msgid "Allow Account Deletion"
|
| 536 |
+
msgstr "Permitir a desativação da conta"
|
| 537 |
+
|
| 538 |
+
#: classes/class.swpm-settings.php:55
|
| 539 |
+
msgid "Allow users to delete their accounts."
|
| 540 |
+
msgstr "Permitir que os usuários deletem suas contas."
|
| 541 |
+
|
| 542 |
+
#: classes/class.swpm-settings.php:56
|
| 543 |
+
msgid "Auto Delete Pending Account"
|
| 544 |
+
msgstr "Auto Deletar Conta Pendente"
|
| 545 |
|
| 546 |
+
#: classes/class.swpm-settings.php:59
|
| 547 |
+
msgid "Select how long you want to keep \"pending\" account."
|
| 548 |
+
msgstr "Selecione o tempo de duração das contas \"pendentes\"."
|
| 549 |
+
|
| 550 |
+
#: classes/class.swpm-settings.php:67
|
| 551 |
msgid "Pages Settings"
|
| 552 |
+
msgstr "Configurações da página"
|
| 553 |
|
| 554 |
+
#: classes/class.swpm-settings.php:68
|
| 555 |
msgid "Login Page URL"
|
| 556 |
+
msgstr "URL da página de login"
|
| 557 |
|
| 558 |
+
#: classes/class.swpm-settings.php:70
|
| 559 |
msgid "Registration Page URL"
|
| 560 |
+
msgstr "URL da página de cadastro"
|
| 561 |
|
| 562 |
+
#: classes/class.swpm-settings.php:72
|
| 563 |
msgid "Join Us Page URL"
|
| 564 |
+
msgstr "URL da página Cadastre-se/Junte-se a nós"
|
| 565 |
|
| 566 |
+
#: classes/class.swpm-settings.php:74
|
| 567 |
msgid "Edit Profile Page URL"
|
| 568 |
+
msgstr "Edite a URL da página de perfil"
|
| 569 |
|
| 570 |
+
#: classes/class.swpm-settings.php:76
|
| 571 |
msgid "Password Reset Page URL"
|
| 572 |
+
msgstr "Edite a URL da página de redefinição de senha"
|
| 573 |
|
| 574 |
+
#: classes/class.swpm-settings.php:79
|
| 575 |
msgid "Test & Debug Settings"
|
| 576 |
+
msgstr "Configurações de teste e debug"
|
| 577 |
+
|
| 578 |
+
#: classes/class.swpm-settings.php:81
|
| 579 |
+
msgid "Check this option to enable debug logging."
|
| 580 |
+
msgstr "Marque esta opção para habilitar o registro de verificação de erros."
|
| 581 |
|
| 582 |
+
#: classes/class.swpm-settings.php:86
|
| 583 |
msgid "Enable Sandbox Testing"
|
| 584 |
+
msgstr "Habilite o teste sandbox"
|
| 585 |
|
| 586 |
+
#: classes/class.swpm-settings.php:87
|
| 587 |
msgid "Enable this option if you want to do sandbox payment testing."
|
| 588 |
+
msgstr ""
|
| 589 |
+
"Habilite esta opção se você quiser realizar um teste de pagamento em sandbox."
|
| 590 |
|
| 591 |
+
#: classes/class.swpm-settings.php:97 classes/class.swpm-settings.php:145
|
| 592 |
+
#: classes/class.swpm-settings.php:243
|
| 593 |
+
msgid "Settings updated!"
|
| 594 |
+
msgstr "Configurações atualizadas!"
|
| 595 |
+
|
| 596 |
+
#: classes/class.swpm-settings.php:102
|
| 597 |
msgid "Email Misc. Settings"
|
| 598 |
+
msgstr "Outras configurações de email"
|
| 599 |
|
| 600 |
+
#: classes/class.swpm-settings.php:103
|
| 601 |
msgid "From Email Address"
|
| 602 |
+
msgstr "Email remetente"
|
| 603 |
|
| 604 |
+
#: classes/class.swpm-settings.php:106
|
| 605 |
msgid "Email Settings (Prompt to Complete Registration )"
|
| 606 |
+
msgstr "Configurações de email (Avisar para concluir cadastro)"
|
| 607 |
|
| 608 |
+
#: classes/class.swpm-settings.php:107 classes/class.swpm-settings.php:113
|
| 609 |
+
#: classes/class.swpm-settings.php:125 classes/class.swpm-settings.php:132
|
| 610 |
msgid "Email Subject"
|
| 611 |
+
msgstr "Assunto do email"
|
| 612 |
|
| 613 |
+
#: classes/class.swpm-settings.php:109 classes/class.swpm-settings.php:115
|
| 614 |
+
#: classes/class.swpm-settings.php:127 classes/class.swpm-settings.php:134
|
| 615 |
msgid "Email Body"
|
| 616 |
+
msgstr "Corpo do email"
|
| 617 |
|
| 618 |
+
#: classes/class.swpm-settings.php:112
|
| 619 |
msgid "Email Settings (Registration Complete)"
|
| 620 |
+
msgstr "Configurações do email (Cadastro concluído)"
|
| 621 |
+
|
| 622 |
+
#: classes/class.swpm-settings.php:117
|
| 623 |
+
msgid "Send Notification to Admin"
|
| 624 |
+
msgstr "Enviar notificações para o administrador"
|
| 625 |
+
|
| 626 |
+
#: classes/class.swpm-settings.php:118
|
| 627 |
+
msgid ""
|
| 628 |
+
"Enable this option if you want the admin to receive a notification when a "
|
| 629 |
+
"member registers."
|
| 630 |
+
msgstr ""
|
| 631 |
+
"Habilite esta opção se você quiser que o administrador receba uma "
|
| 632 |
+
"notificação quando um usuário se cadastrar."
|
| 633 |
|
| 634 |
+
#: classes/class.swpm-settings.php:119
|
| 635 |
+
msgid "Admin Email Address"
|
| 636 |
+
msgstr "Endereço de email do administrador"
|
| 637 |
|
| 638 |
+
#: classes/class.swpm-settings.php:120
|
| 639 |
+
msgid ""
|
| 640 |
+
"Enter the email address where you want the admin notification email to be "
|
| 641 |
+
"sent to."
|
| 642 |
+
msgstr ""
|
| 643 |
+
"Informe o endereço de email recipiente para as notificações a serem "
|
| 644 |
+
"entregues ao administrador."
|
| 645 |
+
|
| 646 |
+
#: classes/class.swpm-settings.php:121
|
| 647 |
msgid "Send Email to Member When Added via Admin Dashboard"
|
| 648 |
msgstr ""
|
| 649 |
+
"Envir email ao usuário quando seu cadastro for realizado pelo painel de "
|
| 650 |
+
"administração"
|
| 651 |
|
| 652 |
+
#: classes/class.swpm-settings.php:124
|
| 653 |
+
msgid "Email Settings (Password Reset)"
|
| 654 |
+
msgstr "Configurações de email (redefinição de senha)"
|
| 655 |
+
|
| 656 |
+
#: classes/class.swpm-settings.php:131
|
| 657 |
msgid " Email Settings (Account Upgrade Notification)"
|
| 658 |
+
msgstr "Configurações de email (notificação de upgrade de conta)"
|
| 659 |
+
|
| 660 |
+
#: classes/class.swpm-settings.php:152
|
| 661 |
+
msgid "Enable Expired Account Login"
|
| 662 |
+
msgstr "Habilitar login de conta expirada"
|
| 663 |
|
| 664 |
+
#: classes/class.swpm-settings.php:153
|
| 665 |
+
msgid ""
|
| 666 |
+
"When enabled, expired members will be able to log into the system but won't "
|
| 667 |
+
"be able to view any protected content. This allows them to easily renew "
|
| 668 |
+
"their account by making another payment."
|
| 669 |
+
msgstr ""
|
| 670 |
+
"Quando habilitado, as contas expiradas poderão iniciar sessões no sistema "
|
| 671 |
+
"mas não poderão visualizar nenhum conteúdo protegido. Isto permite que eles "
|
| 672 |
+
"renovem suas contas facilmente mediante a realização de novo pagamento."
|
| 673 |
+
|
| 674 |
+
#: classes/class.swpm-settings.php:377
|
| 675 |
msgid "Not a Member?"
|
| 676 |
+
msgstr "Você ainda não possui uma conta de usuário?"
|
| 677 |
|
| 678 |
+
#: classes/class.swpm-settings.php:377 views/login.php:27
|
| 679 |
msgid "Join Us"
|
| 680 |
+
msgstr "Cadastre-se!"
|
| 681 |
|
| 682 |
+
#: classes/class.swpm-utils.php:67
|
| 683 |
msgid "Active"
|
| 684 |
+
msgstr "Ativo"
|
| 685 |
|
| 686 |
+
#: classes/class.swpm-utils.php:68
|
| 687 |
msgid "Inactive"
|
| 688 |
+
msgstr "Fora de uso"
|
| 689 |
|
| 690 |
+
#: classes/class.swpm-utils.php:69
|
| 691 |
msgid "Pending"
|
| 692 |
+
msgstr "Pendente"
|
| 693 |
|
| 694 |
+
#: classes/class.swpm-utils.php:70
|
| 695 |
msgid "Expired"
|
| 696 |
msgstr "Expirado"
|
| 697 |
|
| 698 |
+
#: classes/class.swpm-utils.php:297
|
| 699 |
msgid "Never"
|
| 700 |
msgstr "Nunca"
|
| 701 |
|
| 702 |
+
#: classes/class.swpm-utils.php:371
|
| 703 |
+
msgid "Delete Account"
|
| 704 |
+
msgstr "Excluir conta"
|
| 705 |
|
| 706 |
+
#: classes/admin-includes/class.swpm-payment-buttons-list-table.php:63
|
| 707 |
+
msgid "Payment Button ID"
|
| 708 |
+
msgstr "ID de botão de pagamento"
|
| 709 |
|
| 710 |
+
#: classes/admin-includes/class.swpm-payment-buttons-list-table.php:64
|
| 711 |
+
msgid "Payment Button Title"
|
| 712 |
+
msgstr "Título de botão de pagamento"
|
| 713 |
|
| 714 |
+
#: classes/admin-includes/class.swpm-payment-buttons-list-table.php:65
|
| 715 |
+
msgid "Membership Level ID"
|
| 716 |
+
msgstr "ID de nível de usuário"
|
| 717 |
|
| 718 |
+
#: classes/admin-includes/class.swpm-payment-buttons-list-table.php:66
|
| 719 |
+
msgid "Button Shortcode"
|
| 720 |
+
msgstr "Shortcode do botão"
|
| 721 |
|
| 722 |
+
#: classes/admin-includes/class.swpm-payment-buttons-list-table.php:106
|
| 723 |
+
#: views/admin_members_list.php:15
|
| 724 |
+
#: views/payments/admin_all_payment_transactions.php:33
|
| 725 |
+
msgid "The selected entry was deleted!"
|
| 726 |
+
msgstr "O registro selecionado foi excluído."
|
| 727 |
|
| 728 |
+
#: classes/admin-includes/class.swpm-payments-list-table.php:53
|
| 729 |
+
msgid "View Profile"
|
| 730 |
+
msgstr "Visualizar perfil"
|
| 731 |
|
| 732 |
+
#: classes/admin-includes/class.swpm-payments-list-table.php:72
|
| 733 |
+
msgid "Row ID"
|
| 734 |
+
msgstr "ID da linha"
|
| 735 |
|
| 736 |
+
#: classes/admin-includes/class.swpm-payments-list-table.php:73
|
| 737 |
+
#: views/forgot_password.php:5
|
| 738 |
+
msgid "Email Address"
|
| 739 |
+
msgstr "Endereço de email"
|
| 740 |
|
| 741 |
+
#: classes/admin-includes/class.swpm-payments-list-table.php:76
|
| 742 |
+
msgid "Member Profile"
|
| 743 |
+
msgstr "Perfil de usuário"
|
| 744 |
|
| 745 |
+
#: classes/admin-includes/class.swpm-payments-list-table.php:77
|
| 746 |
+
msgid "Date"
|
| 747 |
+
msgstr "Data"
|
| 748 |
|
| 749 |
+
#: classes/admin-includes/class.swpm-payments-list-table.php:78
|
| 750 |
+
msgid "Transaction ID"
|
| 751 |
+
msgstr "ID da transação"
|
| 752 |
+
|
| 753 |
+
#: classes/admin-includes/class.swpm-payments-list-table.php:79
|
| 754 |
+
msgid "Amount"
|
| 755 |
+
msgstr "Quantidade"
|
| 756 |
+
|
| 757 |
+
#: classes/common/class.swpm-list-table.php:137
|
| 758 |
+
msgid "List View"
|
| 759 |
+
msgstr "Modo lista"
|
| 760 |
+
|
| 761 |
+
#: classes/common/class.swpm-list-table.php:138
|
| 762 |
+
msgid "Excerpt View"
|
| 763 |
+
msgstr "Modo resumo"
|
| 764 |
+
|
| 765 |
+
#: classes/common/class.swpm-list-table.php:305
|
| 766 |
+
msgid "No items found."
|
| 767 |
+
msgstr "Nenhum dado encontrado"
|
| 768 |
+
|
| 769 |
+
#: classes/common/class.swpm-list-table.php:431
|
| 770 |
+
msgid "Select bulk action"
|
| 771 |
+
msgstr "Selecionar ação em massa"
|
| 772 |
+
|
| 773 |
+
#: classes/common/class.swpm-list-table.php:433
|
| 774 |
+
msgid "Bulk Actions"
|
| 775 |
+
msgstr "Ações em massa"
|
| 776 |
+
|
| 777 |
+
#: classes/common/class.swpm-list-table.php:443
|
| 778 |
+
msgid "Apply"
|
| 779 |
+
msgstr "Aplicar"
|
| 780 |
+
|
| 781 |
+
#: classes/common/class.swpm-list-table.php:543
|
| 782 |
+
msgid "Filter by date"
|
| 783 |
+
msgstr "Filtrar por data"
|
| 784 |
+
|
| 785 |
+
#: classes/common/class.swpm-list-table.php:545
|
| 786 |
+
msgid "All dates"
|
| 787 |
+
msgstr "Todas as datas"
|
| 788 |
+
|
| 789 |
+
#: classes/common/class.swpm-list-table.php:555
|
| 790 |
+
#, php-format
|
| 791 |
+
msgid "%1$s %2$d"
|
| 792 |
msgstr ""
|
| 793 |
|
| 794 |
+
#: classes/common/class.swpm-list-table.php:599
|
| 795 |
+
#, php-format
|
| 796 |
+
msgid "%s pending"
|
| 797 |
+
msgstr "%s pendentes"
|
| 798 |
|
| 799 |
+
#: classes/common/class.swpm-list-table.php:704
|
| 800 |
+
msgid "Select Page"
|
| 801 |
+
msgstr "Selecionar página"
|
|
|
|
| 802 |
|
| 803 |
+
#: classes/common/class.swpm-list-table.php:848
|
| 804 |
+
msgid "Select All"
|
| 805 |
+
msgstr "Selecionar tudo"
|
| 806 |
|
| 807 |
+
#: classes/shortcode-related/class.swpm-shortcodes-handler.php:47
|
| 808 |
+
msgid "Your membership profile will be updated to reflect the payment."
|
| 809 |
+
msgstr "Seu perfil de usuário será atualizado de acordo com o pagamento."
|
| 810 |
|
| 811 |
+
#: classes/shortcode-related/class.swpm-shortcodes-handler.php:48
|
| 812 |
+
msgid "Your profile username: "
|
| 813 |
+
msgstr "Nome de usuário de seu perfil"
|
|
|
|
| 814 |
|
| 815 |
+
#: classes/shortcode-related/class.swpm-shortcodes-handler.php:60
|
| 816 |
+
msgid "Click on the following link to complete the registration."
|
| 817 |
+
msgstr "Clique no link a seguir para finalizar o cadastro."
|
|
|
|
| 818 |
|
| 819 |
+
#: classes/shortcode-related/class.swpm-shortcodes-handler.php:61
|
| 820 |
+
msgid "Click here to complete your paid registration"
|
| 821 |
+
msgstr "Clique aqui para finalizar seu cadastro com pagamento"
|
|
|
|
| 822 |
|
| 823 |
+
#: classes/shortcode-related/class.swpm-shortcodes-handler.php:66
|
| 824 |
+
msgid ""
|
| 825 |
+
"If you have just made a membership payment then your payment is yet to be "
|
| 826 |
+
"processed. Please check back in a few minutes. An email will be sent to you "
|
| 827 |
+
"with the details shortly."
|
| 828 |
+
msgstr ""
|
| 829 |
+
"Se você acabou de realizar um pagamento de assinatura, o processamento ainda "
|
| 830 |
+
"será efetuado. Por favor, verifique novamente em alguns minutos. Em breve, "
|
| 831 |
+
"você receberá um email com os detalhes."
|
| 832 |
|
| 833 |
+
#: classes/shortcode-related/class.swpm-shortcodes-handler.php:80
|
| 834 |
+
msgid "Expiry: "
|
| 835 |
+
msgstr "Expiração"
|
|
|
|
| 836 |
|
| 837 |
+
#: classes/shortcode-related/class.swpm-shortcodes-handler.php:82
|
| 838 |
+
msgid "You are not logged-in as a member"
|
| 839 |
+
msgstr "Você não está logado como um usuário."
|
|
|
|
| 840 |
|
| 841 |
+
#: views/add.php:14 views/admin_add.php:19 views/admin_edit.php:17
|
| 842 |
+
#: views/edit.php:13 views/login.php:11
|
| 843 |
+
msgid "Password"
|
| 844 |
+
msgstr "Senha"
|
| 845 |
|
| 846 |
+
#: views/add.php:18 views/edit.php:17
|
| 847 |
+
msgid "Repeat Password"
|
| 848 |
+
msgstr "Repita a senha"
|
| 849 |
+
|
| 850 |
+
#: views/add.php:41
|
| 851 |
msgid "Register"
|
| 852 |
+
msgstr "Cadastrar"
|
| 853 |
|
| 854 |
#: views/admin_add.php:6
|
| 855 |
msgid "Add Member"
|
| 856 |
+
msgstr "Adicionar usuário"
|
| 857 |
|
| 858 |
#: views/admin_add.php:7
|
|
|
|
| 859 |
msgid "Create a brand new user and add it to this site."
|
| 860 |
+
msgstr "Criar uma usuário novo e adicioná-lo a este site."
|
|
|
|
|
|
|
|
|
|
|
|
|
| 861 |
|
| 862 |
#: views/admin_add.php:11 views/admin_add.php:15 views/admin_add_level.php:11
|
| 863 |
#: views/admin_add_level.php:15 views/admin_add_level.php:19
|
| 864 |
+
#: views/admin_edit.php:9 views/admin_edit.php:13 views/admin_edit_level.php:10
|
| 865 |
+
#: views/admin_edit_level.php:14 views/admin_edit_level.php:18
|
|
|
|
| 866 |
msgid "(required)"
|
| 867 |
msgstr "(obrigatório)"
|
| 868 |
|
| 869 |
#: views/admin_add.php:15 views/admin_edit.php:13
|
| 870 |
msgid "E-mail"
|
| 871 |
+
msgstr "Email"
|
| 872 |
|
| 873 |
#: views/admin_add.php:19
|
| 874 |
+
msgid "(twice, required)"
|
| 875 |
+
msgstr "(duas vezes, obrigatório)"
|
| 876 |
+
|
| 877 |
+
#: views/admin_add.php:24 views/admin_edit.php:21
|
| 878 |
+
msgid "Strength indicator"
|
| 879 |
+
msgstr "Indicador de qualidade"
|
| 880 |
+
|
| 881 |
+
#: views/admin_add.php:25 views/admin_edit.php:22
|
| 882 |
+
msgid ""
|
| 883 |
+
"Hint: The password should be at least seven characters long. To make it "
|
| 884 |
+
"stronger, use upper and lower case letters, numbers and symbols like ! \" ? "
|
| 885 |
+
"$ % ^ & )."
|
| 886 |
+
msgstr ""
|
| 887 |
+
"Dica: A senha deverá ter ao menos sete caracteres. Para torna-la mais forte, "
|
| 888 |
+
"utilize letras em maiúsculas e minúsculas, números e símbolos como ! \" $ ^ "
|
| 889 |
+
"& )."
|
| 890 |
+
|
| 891 |
+
#: views/admin_add.php:29 views/admin_edit.php:26 views/loggedin.php:7
|
| 892 |
+
msgid "Account Status"
|
| 893 |
+
msgstr "Status da conta"
|
| 894 |
+
|
| 895 |
+
#: views/admin_add.php:39
|
| 896 |
msgid "Add New Member "
|
| 897 |
+
msgstr "Adicionar novo membro"
|
| 898 |
+
|
| 899 |
+
#: views/admin_addon_settings.php:3 views/admin_settings.php:3
|
| 900 |
+
#: views/admin_tools_settings.php:3 views/payments/admin_payment_settings.php:3
|
| 901 |
+
msgid "Simple WP Membership::Settings"
|
| 902 |
+
msgstr "Configurações do Simple WP Membership"
|
| 903 |
+
|
| 904 |
+
#: views/admin_addon_settings.php:8
|
| 905 |
+
msgid ""
|
| 906 |
+
"Some of the simple membership plugin's addon settings and options will be "
|
| 907 |
+
"displayed here (if you have them)"
|
| 908 |
+
msgstr ""
|
| 909 |
+
"Alguns dos add-ons e opções do plug-in Simple Membership aparecerão aqui (se "
|
| 910 |
+
"você os possuir)."
|
| 911 |
+
|
| 912 |
+
#: views/admin_addon_settings.php:13
|
| 913 |
+
msgid "Save Changes"
|
| 914 |
+
msgstr "Salvar alterações"
|
| 915 |
|
| 916 |
#: views/admin_add_level.php:6
|
| 917 |
msgid "Create new membership level."
|
| 918 |
+
msgstr "Criar novo nível de usuário"
|
| 919 |
|
| 920 |
#: views/admin_add_level.php:11 views/admin_edit_level.php:10
|
| 921 |
msgid "Membership Level Name"
|
| 922 |
+
msgstr "Nome de nível de usuário"
|
| 923 |
|
| 924 |
#: views/admin_add_level.php:15 views/admin_edit_level.php:14
|
| 925 |
msgid "Default WordPress Role"
|
| 926 |
+
msgstr "Função padrão no Wordpress"
|
| 927 |
|
| 928 |
#: views/admin_add_level.php:19 views/admin_edit_level.php:18
|
| 929 |
+
msgid "Access Duration"
|
| 930 |
+
msgstr "Duração do acesso"
|
| 931 |
+
|
| 932 |
+
#: views/admin_add_level.php:22
|
| 933 |
+
msgid "No Expiry (Access for this level will not expire until cancelled"
|
| 934 |
+
msgstr ""
|
| 935 |
+
"Sem expiração (O acesso para este nível não irá epirar até ser canelado)"
|
| 936 |
+
|
| 937 |
+
#: views/admin_add_level.php:23 views/admin_add_level.php:25
|
| 938 |
+
#: views/admin_add_level.php:27 views/admin_add_level.php:29
|
| 939 |
+
#: views/admin_edit_level.php:22 views/admin_edit_level.php:25
|
| 940 |
+
#: views/admin_edit_level.php:28 views/admin_edit_level.php:31
|
| 941 |
+
msgid "Expire After"
|
| 942 |
+
msgstr "Expirar após"
|
| 943 |
+
|
| 944 |
+
#: views/admin_add_level.php:24 views/admin_edit_level.php:23
|
| 945 |
+
msgid "Days (Access expires after given number of days)"
|
| 946 |
+
msgstr "Dias (O acesso expira após o número informado de dias)"
|
| 947 |
+
|
| 948 |
+
#: views/admin_add_level.php:26
|
| 949 |
+
msgid "Weeks (Access expires after given number of weeks"
|
| 950 |
+
msgstr "Semanas (O acesso expira após o número informado de semanas)"
|
| 951 |
|
| 952 |
+
#: views/admin_add_level.php:28 views/admin_edit_level.php:29
|
| 953 |
+
msgid "Months (Access expires after given number of months)"
|
| 954 |
+
msgstr "Meses (O acesso expira após o número informado de meses)"
|
| 955 |
|
| 956 |
+
#: views/admin_add_level.php:30 views/admin_edit_level.php:32
|
| 957 |
+
msgid "Years (Access expires after given number of years)"
|
| 958 |
+
msgstr "Anos (O acesso expira após o número informado de anos)"
|
| 959 |
+
|
| 960 |
+
#: views/admin_add_level.php:31 views/admin_edit_level.php:34
|
| 961 |
+
msgid "Fixed Date Expiry"
|
| 962 |
+
msgstr "Expiração de data fixa"
|
| 963 |
+
|
| 964 |
+
#: views/admin_add_level.php:32 views/admin_edit_level.php:35
|
| 965 |
+
msgid "(Access expires on a fixed date)"
|
| 966 |
+
msgstr "(O acesso expira em uma data fixada)"
|
| 967 |
+
|
| 968 |
+
#: views/admin_add_level.php:38
|
| 969 |
msgid "Add New Membership Level "
|
| 970 |
+
msgstr "Adicionar novo nível de usuário"
|
| 971 |
+
|
| 972 |
+
#: views/admin_add_ons_page.php:7
|
| 973 |
+
msgid "Simple WP Membership::Add-ons"
|
| 974 |
+
msgstr "Simple WP Membership::Add-ons"
|
| 975 |
+
|
| 976 |
+
#: views/admin_category_list.php:2
|
| 977 |
+
msgid "Simple WP Membership::Categories"
|
| 978 |
+
msgstr "Simple WP Membership::Categorias"
|
| 979 |
+
|
| 980 |
+
#: views/admin_category_list.php:7
|
| 981 |
+
msgid ""
|
| 982 |
+
"First of all, globally protect the category on your site by selecting "
|
| 983 |
+
"\"General Protection\" from the drop-down box below and then select the "
|
| 984 |
+
"categories that should be protected from non-logged in users."
|
| 985 |
+
msgstr ""
|
| 986 |
+
"Antes de qualquer coisa, efetue a proteção global de categoria no seu site "
|
| 987 |
+
"selecionando a \"Proteção Geral\" da caixa drop-down abaixo e depois "
|
| 988 |
+
"selecione as categorias que devem ser protegidas de usuários não logados."
|
| 989 |
+
|
| 990 |
+
#: views/admin_category_list.php:10
|
| 991 |
+
msgid ""
|
| 992 |
+
"Next, select an existing membership level from the drop-down box below and "
|
| 993 |
+
"then select the categories you want to grant access to (for that particular "
|
| 994 |
+
"membership level)."
|
| 995 |
+
msgstr ""
|
| 996 |
+
"Em seguida, selecione o nível de usuário da caixa drop-down e depois "
|
| 997 |
+
"selecione as categorias para as quais você deseja conceder acesso (para esse "
|
| 998 |
+
"nível de usuário específico)."
|
| 999 |
|
| 1000 |
#: views/admin_edit.php:5
|
| 1001 |
msgid "Edit Member"
|
| 1002 |
+
msgstr "Editar usuário"
|
| 1003 |
|
| 1004 |
#: views/admin_edit.php:6
|
| 1005 |
msgid "Edit existing member details."
|
| 1006 |
+
msgstr "Editar detalhes de usuário existente."
|
| 1007 |
|
| 1008 |
+
#: views/admin_edit.php:17
|
| 1009 |
+
msgid "(twice, leave empty to retain old password)"
|
| 1010 |
+
msgstr "(duas vezes, deixem em branco para reter a senha antiga)"
|
| 1011 |
|
| 1012 |
+
#: views/admin_edit.php:33
|
| 1013 |
+
msgid "Notify User"
|
| 1014 |
+
msgstr "Notificar usuário"
|
| 1015 |
+
|
| 1016 |
+
#: views/admin_edit.php:40
|
| 1017 |
+
msgid "Subscriber ID/Reference"
|
| 1018 |
+
msgstr "ID/Referência de assinante"
|
| 1019 |
+
|
| 1020 |
+
#: views/admin_edit.php:44
|
| 1021 |
+
msgid "Last Accessed From IP"
|
| 1022 |
+
msgstr "Último acesso do IP"
|
| 1023 |
+
|
| 1024 |
+
#: views/admin_edit.php:52
|
| 1025 |
msgid "Edit User "
|
| 1026 |
+
msgstr "Editar Usuário"
|
| 1027 |
|
| 1028 |
#: views/admin_edit_level.php:5
|
| 1029 |
msgid "Edit membership level"
|
| 1030 |
+
msgstr "Editar nível de usuário"
|
| 1031 |
|
| 1032 |
#: views/admin_edit_level.php:6
|
| 1033 |
msgid "Edit membership level."
|
| 1034 |
+
msgstr "Editar nível de usuário"
|
| 1035 |
+
|
| 1036 |
+
#: views/admin_edit_level.php:21
|
| 1037 |
+
msgid "No Expiry (Access for this level will not expire until cancelled)"
|
| 1038 |
+
msgstr ""
|
| 1039 |
+
"Sem expiração (O acesso deste nível não irá expirar até que seja cancelado)"
|
| 1040 |
+
|
| 1041 |
+
#: views/admin_edit_level.php:26
|
| 1042 |
+
msgid "Weeks (Access expires after given number of weeks)"
|
| 1043 |
+
msgstr "Semanas (O acesso expira após número informado de semanas)"
|
| 1044 |
|
| 1045 |
+
#: views/admin_edit_level.php:41
|
| 1046 |
msgid "Edit Membership Level "
|
| 1047 |
+
msgstr "Editar nível de usuário"
|
| 1048 |
|
| 1049 |
#: views/admin_members.php:2
|
| 1050 |
msgid "Simple WP Membership::Members"
|
| 1051 |
+
msgstr "Simple WP Membership::Usuários"
|
| 1052 |
|
| 1053 |
+
#: views/admin_members.php:3 views/admin_members_list.php:30
|
|
|
|
| 1054 |
msgid "Add New"
|
| 1055 |
+
msgstr "Adicionar novo"
|
| 1056 |
|
| 1057 |
+
#: views/admin_membership_levels.php:2
|
|
|
|
|
|
|
|
|
|
|
|
|
| 1058 |
msgid "Simple WP Membership::Membership Levels"
|
| 1059 |
+
msgstr "Simple WP Membership::Níveis de Usuário"
|
| 1060 |
+
|
| 1061 |
+
#: views/admin_membership_levels.php:12 views/admin_members_list.php:6
|
| 1062 |
+
msgid "search"
|
| 1063 |
+
msgstr "buscar"
|
| 1064 |
|
| 1065 |
#: views/admin_membership_level_menu.php:2
|
| 1066 |
msgid "Membership level"
|
| 1067 |
+
msgstr "Nível de usuário"
|
| 1068 |
|
| 1069 |
#: views/admin_membership_level_menu.php:3
|
| 1070 |
msgid "Manage Content Production"
|
| 1071 |
+
msgstr "Gerenciar produção de conteúdo"
|
| 1072 |
+
|
| 1073 |
+
#: views/admin_membership_level_menu.php:4
|
| 1074 |
+
msgid "Category Protection"
|
| 1075 |
+
msgstr "Proteção de categoria"
|
| 1076 |
|
| 1077 |
#: views/admin_membership_manage.php:17
|
| 1078 |
msgid "Example Content Protection Settings"
|
| 1079 |
+
msgstr "Exemplo de configurações de proteção de conteúdo "
|
|
|
|
|
|
|
|
|
|
|
|
|
| 1080 |
|
| 1081 |
+
#: views/admin_member_form_common_part.php:23
|
| 1082 |
+
msgid "Gender"
|
| 1083 |
+
msgstr "Gênero"
|
| 1084 |
|
| 1085 |
+
#: views/admin_member_form_common_part.php:30 views/edit.php:29
|
| 1086 |
+
msgid "Phone"
|
| 1087 |
+
msgstr "Telefone"
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| 1088 |
|
| 1089 |
+
#: views/admin_member_form_common_part.php:34 views/edit.php:33
|
| 1090 |
+
msgid "Street"
|
| 1091 |
+
msgstr "Rua"
|
|
|
|
| 1092 |
|
| 1093 |
+
#: views/admin_member_form_common_part.php:38 views/edit.php:37
|
| 1094 |
+
msgid "City"
|
| 1095 |
+
msgstr "Cidade"
|
| 1096 |
|
| 1097 |
+
#: views/admin_member_form_common_part.php:42 views/edit.php:41
|
| 1098 |
+
msgid "State"
|
| 1099 |
+
msgstr "Estado"
|
|
|
|
| 1100 |
|
| 1101 |
+
#: views/admin_member_form_common_part.php:46 views/edit.php:45
|
| 1102 |
+
msgid "Zipcode"
|
| 1103 |
+
msgstr "Código Postal"
|
| 1104 |
|
| 1105 |
+
#: views/admin_member_form_common_part.php:50 views/edit.php:49
|
| 1106 |
+
msgid "Country"
|
| 1107 |
+
msgstr "País"
|
| 1108 |
|
| 1109 |
+
#: views/admin_member_form_common_part.php:54
|
| 1110 |
+
msgid "Company"
|
| 1111 |
+
msgstr "Empresa"
|
| 1112 |
|
| 1113 |
+
#: views/admin_member_form_common_part.php:58
|
| 1114 |
+
msgid "Member Since"
|
| 1115 |
+
msgstr "Usuário desde"
|
| 1116 |
|
| 1117 |
#: views/admin_tools_settings.php:9
|
| 1118 |
msgid "Generate a Registration Completion link"
|
| 1119 |
+
msgstr "Gerar um link de conclusão de cadastro"
|
| 1120 |
|
| 1121 |
#: views/admin_tools_settings.php:12
|
| 1122 |
msgid ""
|
| 1124 |
"your customer if they have missed the email that was automatically sent out "
|
| 1125 |
"to them after the payment."
|
| 1126 |
msgstr ""
|
| 1127 |
+
"Você pode gerar aqui um link de conclusão de cadastro manualmente e informa-"
|
| 1128 |
+
"lo ao seu cliente se ele tiver perdido o email que foi automaticamente "
|
| 1129 |
+
"enviado a ele após o pagamento."
|
| 1130 |
|
| 1131 |
#: views/admin_tools_settings.php:17
|
| 1132 |
msgid "Generate Registration Completion Link"
|
| 1133 |
+
msgstr "Gerar link de conclusão de cadastro"
|
| 1134 |
|
| 1135 |
#: views/admin_tools_settings.php:20
|
| 1136 |
msgid "OR"
|
| 1138 |
|
| 1139 |
#: views/admin_tools_settings.php:21
|
| 1140 |
msgid "For All Pending Registrations"
|
| 1141 |
+
msgstr "Para todos os cadastros pendentes"
|
| 1142 |
|
| 1143 |
#: views/admin_tools_settings.php:24
|
| 1144 |
msgid "Registration Completion Links Will Appear Below:"
|
| 1145 |
+
msgstr "Links de conclusão de cadastro aparecerão abaixo:"
|
| 1146 |
|
| 1147 |
#: views/admin_tools_settings.php:31
|
| 1148 |
msgid "Send Registration Reminder Email too"
|
| 1149 |
+
msgstr "Enviar também email de lembrete de cadastro"
|
| 1150 |
|
| 1151 |
#: views/admin_tools_settings.php:34
|
| 1152 |
msgid "Submit"
|
| 1153 |
msgstr "Enviar"
|
| 1154 |
|
| 1155 |
+
#: views/edit.php:59
|
| 1156 |
msgid "Update"
|
| 1157 |
+
msgstr "Atualizar"
|
|
|
|
|
|
|
|
|
|
|
|
|
| 1158 |
|
| 1159 |
#: views/forgot_password.php:12
|
| 1160 |
msgid "Reset Password"
|
| 1161 |
+
msgstr "Redefinir Senha"
|
| 1162 |
|
| 1163 |
+
#: views/loggedin.php:3
|
| 1164 |
msgid "Logged in as"
|
| 1165 |
msgstr "Logado como"
|
| 1166 |
|
| 1167 |
+
#: views/loggedin.php:11
|
| 1168 |
msgid "Membership"
|
| 1169 |
+
msgstr "Usuário"
|
| 1170 |
|
| 1171 |
+
#: views/loggedin.php:15
|
| 1172 |
msgid "Account Expiry"
|
| 1173 |
+
msgstr "Expiração de conta"
|
| 1174 |
|
| 1175 |
+
#: views/loggedin.php:19
|
| 1176 |
msgid "Logout"
|
| 1177 |
msgstr "Sair"
|
| 1178 |
|
| 1179 |
+
#: views/login.php:18
|
| 1180 |
msgid "Remember Me"
|
| 1181 |
+
msgstr "Lembrar-se de mim"
|
| 1182 |
|
| 1183 |
+
#: views/login.php:24
|
| 1184 |
msgid "Forgot Password"
|
| 1185 |
+
msgstr "Esqueceu sua senha"
|
| 1186 |
+
|
| 1187 |
+
#: views/payments/admin_all_payment_transactions.php:7
|
| 1188 |
+
msgid "All the payments/transactions of your members are recorded here."
|
| 1189 |
+
msgstr "Todos os pagamentos/transações de seus usuários serão registrados aqui"
|
| 1190 |
+
|
| 1191 |
+
#: views/payments/admin_all_payment_transactions.php:14
|
| 1192 |
+
msgid "Search for a transaction by using email or name"
|
| 1193 |
+
msgstr "Buscar por transações a partir do email ou do nome"
|
| 1194 |
+
|
| 1195 |
+
#: views/payments/admin_all_payment_transactions.php:18
|
| 1196 |
+
msgid "Search"
|
| 1197 |
+
msgstr "Buscar"
|
| 1198 |
+
|
| 1199 |
+
#: views/payments/admin_create_payment_buttons.php:13
|
| 1200 |
+
msgid ""
|
| 1201 |
+
"You can create new payment button for your memberships using this interface."
|
| 1202 |
+
msgstr "Você pode criar um novo botão de pagamento utilizando esta interface"
|
| 1203 |
+
|
| 1204 |
+
#: views/payments/admin_create_payment_buttons.php:22
|
| 1205 |
+
msgid "Select Payment Button Type"
|
| 1206 |
+
msgstr "Selecionar tipo de botão de pagamento"
|
| 1207 |
+
|
| 1208 |
+
#: views/payments/admin_create_payment_buttons.php:34
|
| 1209 |
+
msgid "Next"
|
| 1210 |
+
msgstr "Próximo"
|
| 1211 |
+
|
| 1212 |
+
#: views/payments/admin_edit_payment_buttons.php:12
|
| 1213 |
+
msgid "You can edit a payment button using this interface."
|
| 1214 |
+
msgstr "Você pode editar um botão de pagamento utilizando esta interface"
|
| 1215 |
+
|
| 1216 |
+
#: views/payments/admin_payments_page.php:9
|
| 1217 |
+
msgid "Simple Membership::Payments"
|
| 1218 |
+
msgstr "Simple Membership::Pagamentos"
|
| 1219 |
+
|
| 1220 |
+
#: views/payments/admin_payment_buttons.php:7
|
| 1221 |
+
msgid ""
|
| 1222 |
+
"All the membership buttons that you created in the plugin are displayed here."
|
| 1223 |
+
msgstr "Todos os botões de cadastro de usuário que você criou aparecerão aqui."
|
| 1224 |
+
|
| 1225 |
+
#: views/payments/admin_payment_settings.php:31
|
| 1226 |
+
msgid "PayPal Integration Settings"
|
| 1227 |
+
msgstr "Configurações de integração com o PayPal"
|
| 1228 |
+
|
| 1229 |
+
#: views/payments/admin_payment_settings.php:34
|
| 1230 |
+
msgid "Generate the \"Advanced Variables\" Code for your PayPal button"
|
| 1231 |
+
msgstr "Gerar o código de \"Variáveis Avançadas\" para seu botão PayPal"
|
| 1232 |
+
|
| 1233 |
+
#: views/payments/admin_payment_settings.php:37
|
| 1234 |
+
msgid "Enter the Membership Level ID"
|
| 1235 |
+
msgstr "Informe o ID de nível de usuário"
|
| 1236 |
+
|
| 1237 |
+
#: views/payments/admin_payment_settings.php:39
|
| 1238 |
+
msgid "Generate Code"
|
| 1239 |
+
msgstr "Gerar Código"
|
| 1240 |
+
|
| 1241 |
+
#: views/payments/payment-gateway/admin_paypal_buy_now_button.php:18
|
| 1242 |
+
#: views/payments/payment-gateway/admin_paypal_buy_now_button.php:192
|
| 1243 |
+
msgid "PayPal Buy Now Button Configuration"
|
| 1244 |
+
msgstr "Configuração do botão \"Comprar Agora\" do PayPal"
|
| 1245 |
+
|
| 1246 |
+
#: views/payments/payment-gateway/admin_paypal_buy_now_button.php:28
|
| 1247 |
+
#: views/payments/payment-gateway/admin_paypal_buy_now_button.php:209
|
| 1248 |
+
#: views/payments/payment-gateway/admin_paypal_subscription_button.php:29
|
| 1249 |
+
#: views/payments/payment-gateway/admin_paypal_subscription_button.php:302
|
| 1250 |
+
msgid "Button Title"
|
| 1251 |
+
msgstr "Título do botão"
|
| 1252 |
+
|
| 1253 |
+
#: views/payments/payment-gateway/admin_paypal_buy_now_button.php:46
|
| 1254 |
+
#: views/payments/payment-gateway/admin_paypal_buy_now_button.php:227
|
| 1255 |
+
msgid "Payment Amount"
|
| 1256 |
+
msgstr "Valor do Pagamento"
|
| 1257 |
+
|
| 1258 |
+
#: views/payments/payment-gateway/admin_paypal_buy_now_button.php:54
|
| 1259 |
+
#: views/payments/payment-gateway/admin_paypal_buy_now_button.php:235
|
| 1260 |
+
#: views/payments/payment-gateway/admin_paypal_subscription_button.php:47
|
| 1261 |
+
#: views/payments/payment-gateway/admin_paypal_subscription_button.php:320
|
| 1262 |
+
msgid "Payment Currency"
|
| 1263 |
+
msgstr "Moeda de Pagamento"
|
| 1264 |
+
|
| 1265 |
+
#: views/payments/payment-gateway/admin_paypal_buy_now_button.php:93
|
| 1266 |
+
#: views/payments/payment-gateway/admin_paypal_buy_now_button.php:274
|
| 1267 |
+
#: views/payments/payment-gateway/admin_paypal_subscription_button.php:173
|
| 1268 |
+
#: views/payments/payment-gateway/admin_paypal_subscription_button.php:446
|
| 1269 |
+
msgid "Return URL"
|
| 1270 |
+
msgstr "URL de Retorno"
|
| 1271 |
+
|
| 1272 |
+
#: views/payments/payment-gateway/admin_paypal_buy_now_button.php:101
|
| 1273 |
+
#: views/payments/payment-gateway/admin_paypal_buy_now_button.php:282
|
| 1274 |
+
#: views/payments/payment-gateway/admin_paypal_subscription_button.php:86
|
| 1275 |
+
#: views/payments/payment-gateway/admin_paypal_subscription_button.php:359
|
| 1276 |
+
msgid "PayPal Email"
|
| 1277 |
+
msgstr "Email do PayPal"
|
| 1278 |
+
|
| 1279 |
+
#: views/payments/payment-gateway/admin_paypal_buy_now_button.php:109
|
| 1280 |
+
#: views/payments/payment-gateway/admin_paypal_buy_now_button.php:290
|
| 1281 |
+
#: views/payments/payment-gateway/admin_paypal_subscription_button.php:181
|
| 1282 |
+
#: views/payments/payment-gateway/admin_paypal_subscription_button.php:454
|
| 1283 |
+
msgid "Button Image URL"
|
| 1284 |
+
msgstr "URL da Imagem do botão"
|
| 1285 |
+
|
| 1286 |
+
#: views/payments/payment-gateway/admin_paypal_buy_now_button.php:119
|
| 1287 |
+
#: views/payments/payment-gateway/admin_paypal_buy_now_button.php:300
|
| 1288 |
+
#: views/payments/payment-gateway/admin_paypal_subscription_button.php:193
|
| 1289 |
+
#: views/payments/payment-gateway/admin_paypal_subscription_button.php:466
|
| 1290 |
+
msgid "Save Payment Data"
|
| 1291 |
+
msgstr "Salvar Dados do Pagamento"
|
| 1292 |
+
|
| 1293 |
+
#: views/payments/payment-gateway/admin_paypal_buy_now_button.php:201
|
| 1294 |
+
#: views/payments/payment-gateway/admin_paypal_subscription_button.php:294
|
| 1295 |
+
msgid "Button ID"
|
| 1296 |
+
msgstr "ID do Botão"
|
| 1297 |
+
|
| 1298 |
+
#: views/payments/payment-gateway/admin_paypal_subscription_button.php:20
|
| 1299 |
+
#: views/payments/payment-gateway/admin_paypal_subscription_button.php:288
|
| 1300 |
+
msgid "PayPal Subscription Button Configuration"
|
| 1301 |
+
msgstr "Configuração do Botão de Assinatura do PayPal"
|
| 1302 |
+
|
| 1303 |
+
#: views/payments/payment-gateway/admin_paypal_subscription_button.php:94
|
| 1304 |
+
#: views/payments/payment-gateway/admin_paypal_subscription_button.php:367
|
| 1305 |
+
msgid "Billing Amount Each Cycle"
|
| 1306 |
+
msgstr "Cobrança de cada Ciclo"
|
| 1307 |
+
|
| 1308 |
+
#: views/payments/payment-gateway/admin_paypal_subscription_button.php:102
|
| 1309 |
+
#: views/payments/payment-gateway/admin_paypal_subscription_button.php:375
|
| 1310 |
+
msgid "Billing Cycle"
|
| 1311 |
+
msgstr "Ciclo de cobrança"
|
| 1312 |
+
|
| 1313 |
+
#: views/payments/payment-gateway/admin_paypal_subscription_button.php:115
|
| 1314 |
+
#: views/payments/payment-gateway/admin_paypal_subscription_button.php:388
|
| 1315 |
+
msgid "Billing Cycle Count"
|
| 1316 |
+
msgstr "Contagem de Ciclo de Cobrança"
|
| 1317 |
+
|
| 1318 |
+
#: views/payments/payment-gateway/admin_paypal_subscription_button.php:123
|
| 1319 |
+
#: views/payments/payment-gateway/admin_paypal_subscription_button.php:396
|
| 1320 |
+
msgid "Re-attempt on Failure"
|
| 1321 |
+
msgstr "Tentar novamente se falhar"
|
| 1322 |
+
|
| 1323 |
+
#: views/payments/payment-gateway/admin_paypal_subscription_button.php:136
|
| 1324 |
+
#: views/payments/payment-gateway/admin_paypal_subscription_button.php:409
|
| 1325 |
+
msgid ""
|
| 1326 |
+
"Trial Billing Details (Leave empty if you are not offering a trial period)"
|
| 1327 |
+
msgstr ""
|
| 1328 |
+
"Detalhes da Cobrança de período de experimentação (Deixe em branco se você "
|
| 1329 |
+
"não oferecer uma período de experimentação)"
|
| 1330 |
+
|
| 1331 |
+
#: views/payments/payment-gateway/admin_paypal_subscription_button.php:142
|
| 1332 |
+
#: views/payments/payment-gateway/admin_paypal_subscription_button.php:415
|
| 1333 |
+
msgid "Trial Billing Amount"
|
| 1334 |
+
msgstr "Valor do período de experimentação"
|
| 1335 |
+
|
| 1336 |
+
#: views/payments/payment-gateway/admin_paypal_subscription_button.php:150
|
| 1337 |
+
#: views/payments/payment-gateway/admin_paypal_subscription_button.php:423
|
| 1338 |
+
msgid "Trial Billing Period"
|
| 1339 |
+
msgstr "Período de cobrança de experimentação"
|
| 1340 |
+
|
| 1341 |
+
#: views/payments/payment-gateway/admin_paypal_subscription_button.php:167
|
| 1342 |
+
#: views/payments/payment-gateway/admin_paypal_subscription_button.php:440
|
| 1343 |
+
msgid "Optional Details"
|
| 1344 |
+
msgstr "Detalhes Opcionais"
|
| 1345 |
+
|
| 1346 |
+
#: views/payments/payment-gateway/paypal_button_shortcode_view.php:77
|
| 1347 |
+
#: views/payments/payment-gateway/paypal_button_shortcode_view.php:79
|
| 1348 |
+
msgid "Buy Now"
|
| 1349 |
+
msgstr "Comprar Agora"
|
| 1350 |
+
|
| 1351 |
+
#: views/payments/payment-gateway/paypal_button_shortcode_view.php:197
|
| 1352 |
+
#: views/payments/payment-gateway/paypal_button_shortcode_view.php:199
|
| 1353 |
+
msgid "Subscribe Now"
|
| 1354 |
+
msgstr "Assinar Agora"
|
readme.txt
CHANGED
|
@@ -3,8 +3,8 @@ Contributors: smp7, wp.insider, amijanina
|
|
| 3 |
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,
|
| 5 |
Requires at least: 3.3
|
| 6 |
-
Tested up to: 4.4
|
| 7 |
-
Stable tag: 3.1.
|
| 8 |
License: GPLv2 or later
|
| 9 |
License URI: http://www.gnu.org/licenses/gpl-2.0.html
|
| 10 |
|
|
@@ -57,11 +57,13 @@ You can create a free forum user account and ask your questions.
|
|
| 57 |
* Membership management side is handled by the plugin.
|
| 58 |
* Ability to manually approve your members.
|
| 59 |
* Ability to import WordPress users as members.
|
|
|
|
| 60 |
* Can be translated to any language.
|
| 61 |
* Hide the admin toolbar from the frontend of your site.
|
| 62 |
-
* Allow your members to
|
| 63 |
* Send quick notification email to your members.
|
| 64 |
* Customize the password reset email for members.
|
|
|
|
| 65 |
* The login and registration widgets will be responsive if you are using a responsive theme.
|
| 66 |
* Front-end member registration page.
|
| 67 |
* Front-end member profiles.
|
|
@@ -115,6 +117,29 @@ https://simple-membership-plugin.com/
|
|
| 115 |
|
| 116 |
== Changelog ==
|
| 117 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| 118 |
= 3.1.5 =
|
| 119 |
- Added a new shortcode [swpm_show_expiry_date] to show the logged-in member's expiry details.
|
| 120 |
- The search feature in the members menu will search the company name, city, state, country fields also.
|
| 3 |
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,
|
| 5 |
Requires at least: 3.3
|
| 6 |
+
Tested up to: 4.4.1
|
| 7 |
+
Stable tag: 3.1.8
|
| 8 |
License: GPLv2 or later
|
| 9 |
License URI: http://www.gnu.org/licenses/gpl-2.0.html
|
| 10 |
|
| 57 |
* Membership management side is handled by the plugin.
|
| 58 |
* Ability to manually approve your members.
|
| 59 |
* Ability to import WordPress users as members.
|
| 60 |
+
* Filter members list by account status.
|
| 61 |
* Can be translated to any language.
|
| 62 |
* Hide the admin toolbar from the frontend of your site.
|
| 63 |
+
* Allow your members to delete their membership accounts.
|
| 64 |
* Send quick notification email to your members.
|
| 65 |
* Customize the password reset email for members.
|
| 66 |
+
* Use Google reCAPTCHA on your member registration form.
|
| 67 |
* The login and registration widgets will be responsive if you are using a responsive theme.
|
| 68 |
* Front-end member registration page.
|
| 69 |
* Front-end member profiles.
|
| 117 |
|
| 118 |
== Changelog ==
|
| 119 |
|
| 120 |
+
= 3.1.8 =
|
| 121 |
+
- Improved the members and payments menu rendering for smaller screen devices.
|
| 122 |
+
- Added a utility function to easily output a formatted date in the plugin according to the WordPress's date format settings.
|
| 123 |
+
- Fixed a bug in the wp username and email validation functionality. Thanks to Klaas van der Linden for pointing it out.
|
| 124 |
+
- The membership password reset form has been restructured (the HTML table has been removed).
|
| 125 |
+
|
| 126 |
+
= 3.1.7 =
|
| 127 |
+
- Added debug logging for after a password is reset successfully.
|
| 128 |
+
- The plugin will prevent WordPress's default password reset email notification from going out when a member resets the password.
|
| 129 |
+
- Added a new bulk action item. Activate account and notify members in bulk. Customize the activation email from the email settings menu of the plugin.
|
| 130 |
+
- Added validation in the bulk operation function to check and make sure that multiple records were selected before trying the bulk action.
|
| 131 |
+
- Updated the Portuguese (Brazil) language translation file. The translation was updated by Fernando Telles.
|
| 132 |
+
- Updated the Tools interface of the plugin.
|
| 133 |
+
- The members list can now be filtered by account status (from the members interface)
|
| 134 |
+
- The members list now shows "incomplete" keyword in the username field for the member profiles that are incomplete.
|
| 135 |
+
- Added an "Add Member" tab in the members menu.
|
| 136 |
+
|
| 137 |
+
= 3.1.6 =
|
| 138 |
+
- Added a new feature to show the admin toolbar to admin users only.
|
| 139 |
+
- Added CSS for membership buy buttons to force their width and height to be auto.
|
| 140 |
+
- Added a few utility functions to retrieve a member's record from custom PHP code (useful for developers).
|
| 141 |
+
- Added the free Google recaptcha addon for registration forms.
|
| 142 |
+
|
| 143 |
= 3.1.5 =
|
| 144 |
- Added a new shortcode [swpm_show_expiry_date] to show the logged-in member's expiry details.
|
| 145 |
- The search feature in the members menu will search the company name, city, state, country fields also.
|
simple-wp-membership.php
CHANGED
|
@@ -1,7 +1,7 @@
|
|
| 1 |
<?php
|
| 2 |
/*
|
| 3 |
Plugin Name: Simple WordPress Membership
|
| 4 |
-
Version: 3.1.
|
| 5 |
Plugin URI: https://simple-membership-plugin.com/
|
| 6 |
Author: smp7, wp.insider
|
| 7 |
Author URI: https://simple-membership-plugin.com/
|
|
@@ -17,7 +17,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.1.
|
| 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.1.8
|
| 5 |
Plugin URI: https://simple-membership-plugin.com/
|
| 6 |
Author: smp7, wp.insider
|
| 7 |
Author URI: https://simple-membership-plugin.com/
|
| 17 |
include_once('classes/class.swpm-cronjob.php');
|
| 18 |
include_once('swpm-compat.php');
|
| 19 |
|
| 20 |
+
define('SIMPLE_WP_MEMBERSHIP_VER', '3.1.8');
|
| 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__) . '/');
|
views/admin_add_ons_page.php
CHANGED
|
@@ -8,7 +8,6 @@ echo '<link type="text/css" rel="stylesheet" href="' . SIMPLE_WP_MEMBERSHIP_URL
|
|
| 8 |
|
| 9 |
<div id="poststuff"><div id="post-body">
|
| 10 |
|
| 11 |
-
|
| 12 |
<?php
|
| 13 |
$addons_data = array();
|
| 14 |
$addon_1 = array(
|
|
@@ -90,6 +89,22 @@ echo '<link type="text/css" rel="stylesheet" href="' . SIMPLE_WP_MEMBERSHIP_URL
|
|
| 90 |
'page_url' => 'https://simple-membership-plugin.com/simple-membership-and-wp-affiliate-platform-integration/',
|
| 91 |
);
|
| 92 |
array_push($addons_data, $addon_10);
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| 93 |
|
| 94 |
/*** Show the addons list ***/
|
| 95 |
foreach ($addons_data as $addon) {
|
| 8 |
|
| 9 |
<div id="poststuff"><div id="post-body">
|
| 10 |
|
|
|
|
| 11 |
<?php
|
| 12 |
$addons_data = array();
|
| 13 |
$addon_1 = array(
|
| 89 |
'page_url' => 'https://simple-membership-plugin.com/simple-membership-and-wp-affiliate-platform-integration/',
|
| 90 |
);
|
| 91 |
array_push($addons_data, $addon_10);
|
| 92 |
+
|
| 93 |
+
$addon_11 = array(
|
| 94 |
+
'name' => 'bbPress Integration',
|
| 95 |
+
'thumbnail' => SIMPLE_WP_MEMBERSHIP_URL . '/images/addons/swpm-bbpress-integration.png',
|
| 96 |
+
'description' => 'Adds bbPress forum integration with the simple membership plugin to offer members only forum functionality.',
|
| 97 |
+
'page_url' => 'https://simple-membership-plugin.com/simple-membership-bbpress-forum-integration-addon/',
|
| 98 |
+
);
|
| 99 |
+
array_push($addons_data, $addon_11);
|
| 100 |
+
|
| 101 |
+
$addon_12 = array(
|
| 102 |
+
'name' => 'Google reCAPTCHA',
|
| 103 |
+
'thumbnail' => SIMPLE_WP_MEMBERSHIP_URL . '/images/addons/google-recaptcha-addon.png',
|
| 104 |
+
'description' => 'Allows you to add Google reCAPTCHA to your membership registration form/page.',
|
| 105 |
+
'page_url' => 'https://simple-membership-plugin.com/simple-membership-and-google-recaptcha-integration/',
|
| 106 |
+
);
|
| 107 |
+
array_push($addons_data, $addon_12);
|
| 108 |
|
| 109 |
/*** Show the addons list ***/
|
| 110 |
foreach ($addons_data as $addon) {
|
views/admin_edit.php
CHANGED
|
@@ -7,7 +7,24 @@
|
|
| 7 |
<table class="form-table">
|
| 8 |
<tr class="form-field form-required">
|
| 9 |
<th scope="row"><label for="user_name"><?php echo SwpmUtils::_('Username'); ?> <span class="description"><?php echo SwpmUtils::_('(required)'); ?></span></label></th>
|
| 10 |
-
<td
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| 11 |
</tr>
|
| 12 |
<tr class="form-required">
|
| 13 |
<th scope="row"><label for="email"><?php echo SwpmUtils::_('E-mail'); ?> <span class="description"><?php echo SwpmUtils::_('(required)'); ?></span></label></th>
|
| 7 |
<table class="form-table">
|
| 8 |
<tr class="form-field form-required">
|
| 9 |
<th scope="row"><label for="user_name"><?php echo SwpmUtils::_('Username'); ?> <span class="description"><?php echo SwpmUtils::_('(required)'); ?></span></label></th>
|
| 10 |
+
<td>
|
| 11 |
+
<?php
|
| 12 |
+
if (empty($user_name)) {
|
| 13 |
+
//This is a record with incomplete registration. The member need to complete the registration by clicking on the unique link sent to them
|
| 14 |
+
?>
|
| 15 |
+
<div class="swpm-yellow-box" style="max-width:450px;">
|
| 16 |
+
<p>This user account registration is not complete yet. The member needs to click on the unique registration completion link (sent to his email) and complete the registration by choosing a username and password.</p>
|
| 17 |
+
<br />
|
| 18 |
+
<p>You can go to the <a href="admin.php?page=simple_wp_membership_settings&tab=4" target="_blank">Tools Interface</a> and generate another unique "Registration Completion" link then send the link to the user. Alternatively, you can use that link yourself and complete the registration on behalf of the user.</p>
|
| 19 |
+
<br />
|
| 20 |
+
<p>If you suspect that this user has lost interest in becoming a member then you can delete this member record.</p>
|
| 21 |
+
</div>
|
| 22 |
+
<?php
|
| 23 |
+
} else {
|
| 24 |
+
echo esc_attr($user_name);
|
| 25 |
+
}
|
| 26 |
+
?>
|
| 27 |
+
</td>
|
| 28 |
</tr>
|
| 29 |
<tr class="form-required">
|
| 30 |
<th scope="row"><label for="email"><?php echo SwpmUtils::_('E-mail'); ?> <span class="description"><?php echo SwpmUtils::_('(required)'); ?></span></label></th>
|
views/admin_members_list.php
CHANGED
|
@@ -1,12 +1,3 @@
|
|
| 1 |
-
<form method="post">
|
| 2 |
-
<p class="search-box">
|
| 3 |
-
<label class="screen-reader-text" for="search_id-search-input">
|
| 4 |
-
search:</label>
|
| 5 |
-
<input id="search_id-search-input" type="text" name="s" value="" />
|
| 6 |
-
<input id="search-submit" class="button" type="submit" name="" value="<?php echo SwpmUtils::_('search') ?>" />
|
| 7 |
-
<input type="hidden" name="page" value="simple_wp_membership" />
|
| 8 |
-
</p>
|
| 9 |
-
</form>
|
| 10 |
<?php
|
| 11 |
if (isset($_REQUEST['member_action']) && $_REQUEST['member_action'] == 'delete') {
|
| 12 |
//Delete this record
|
|
@@ -18,7 +9,26 @@ if (isset($_REQUEST['member_action']) && $_REQUEST['member_action'] == 'delete')
|
|
| 18 |
}
|
| 19 |
|
| 20 |
$this->prepare_items();
|
|
|
|
| 21 |
?>
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| 22 |
<form id="tables-filter" method="get" onSubmit="return confirm('Are you sure you want to perform this bulk operation on the selected entries?');">
|
| 23 |
<!-- For plugins, we also need to ensure that the form posts back to our current page -->
|
| 24 |
<input type="hidden" name="page" value="<?php echo $_REQUEST['page']; ?>" />
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| 1 |
<?php
|
| 2 |
if (isset($_REQUEST['member_action']) && $_REQUEST['member_action'] == 'delete') {
|
| 3 |
//Delete this record
|
| 9 |
}
|
| 10 |
|
| 11 |
$this->prepare_items();
|
| 12 |
+
$count = $this->get_user_count_by_account_state();
|
| 13 |
?>
|
| 14 |
+
<ul class="subsubsub">
|
| 15 |
+
<li class="all"><a href="admin.php?page=simple_wp_membership" <?php echo $status == ""? "class='current'": "";?> >All <span class="count">(<?php echo $count['all'];?>)</span></a> |</li>
|
| 16 |
+
<li class="active"><a href="admin.php?page=simple_wp_membership&status=active" <?php echo $status == "active"? "class='current'": "";?>>Active <span class="count">(<?php echo isset($count['active'])? $count['active']: 0 ?>)</span></a> |</li>
|
| 17 |
+
<li class="active"><a href="admin.php?page=simple_wp_membership&status=inactive" <?php echo $status == "inactive"? "class='current'": "";?>>Inactive <span class="count">(<?php echo isset($count['inactive'])? $count['inactive']: 0 ?>)</span></a> |</li>
|
| 18 |
+
<li class="pending"><a href="admin.php?page=simple_wp_membership&status=pending" <?php echo $status == "pending"? "class='current'": "";?>>Pending <span class="count">(<?php echo isset($count['pending'])? $count['pending']: 0 ?>)</span></a> |</li>
|
| 19 |
+
<li class="incomplete"><a href="admin.php?page=simple_wp_membership&status=incomplete" <?php echo $status == "incomplete"? "class='current'": "";?>>Incomplete <span class="count">(<?php echo isset($count['incomplete'])? $count['incomplete']: 0 ?>)</span></a> |</li>
|
| 20 |
+
<li class="expired"><a href="admin.php?page=simple_wp_membership&status=expired" <?php echo $status == "expired"? "class='current'": "";?>>Expired <span class="count">(<?php echo isset($count['expired'])? $count['expired']: 0 ?>)</span></a></li>
|
| 21 |
+
</ul>
|
| 22 |
+
|
| 23 |
+
<br />
|
| 24 |
+
<form method="post">
|
| 25 |
+
<p class="search-box">
|
| 26 |
+
<input id="search_id-search-input" type="text" name="s" value="<?php echo isset($_REQUEST['s'])? esc_attr($_REQUEST['s']): ''; ?>" />
|
| 27 |
+
<input id="search-submit" class="button" type="submit" name="" value="<?php echo SwpmUtils::_('Search') ?>" />
|
| 28 |
+
<input type="hidden" name="page" value="simple_wp_membership" />
|
| 29 |
+
</p>
|
| 30 |
+
</form>
|
| 31 |
+
|
| 32 |
<form id="tables-filter" method="get" onSubmit="return confirm('Are you sure you want to perform this bulk operation on the selected entries?');">
|
| 33 |
<!-- For plugins, we also need to ensure that the form posts back to our current page -->
|
| 34 |
<input type="hidden" name="page" value="<?php echo $_REQUEST['page']; ?>" />
|
views/admin_members_menu.php
CHANGED
|
@@ -1,5 +1,6 @@
|
|
| 1 |
<h2 class="nav-tab-wrapper">
|
| 2 |
<a class="nav-tab <?php echo ($selected == "") ? 'nav-tab-active' : ''; ?>" href="admin.php?page=simple_wp_membership"><?php echo SwpmUtils::_('Members') ?></a>
|
|
|
|
| 3 |
<?php
|
| 4 |
$menu = apply_filters('swpm_admin_members_menu_hook', array());
|
| 5 |
foreach ($menu as $member_action => $title):
|
| 1 |
<h2 class="nav-tab-wrapper">
|
| 2 |
<a class="nav-tab <?php echo ($selected == "") ? 'nav-tab-active' : ''; ?>" href="admin.php?page=simple_wp_membership"><?php echo SwpmUtils::_('Members') ?></a>
|
| 3 |
+
<a class="nav-tab <?php echo ($selected == "add") ? 'nav-tab-active' : ''; ?>" href="admin.php?page=simple_wp_membership&member_action=add"><?php echo SwpmUtils::_('Add Member') ?></a>
|
| 4 |
<?php
|
| 5 |
$menu = apply_filters('swpm_admin_members_menu_hook', array());
|
| 6 |
foreach ($menu as $member_action => $title):
|
views/admin_tools_settings.php
CHANGED
|
@@ -14,25 +14,42 @@
|
|
| 14 |
<form action="" method="post">
|
| 15 |
<table>
|
| 16 |
<tr>
|
| 17 |
-
|
| 18 |
<br /><input type="radio" value="one" name="swpm_link_for" /><?php SwpmUtils::e('For a Particular Member ID'); ?>
|
| 19 |
<input type="text" name="member_id" size="5" value="" />
|
| 20 |
-
<br
|
| 21 |
-
<br /><input type="radio" checked="checked" value="all" name="swpm_link_for" /> <?php echo SwpmUtils::_('For All
|
| 22 |
</tr>
|
| 23 |
<tr>
|
| 24 |
-
<td
|
| 25 |
-
|
| 26 |
-
|
| 27 |
-
<?php endforeach; ?>
|
| 28 |
</td>
|
| 29 |
</tr>
|
| 30 |
<tr>
|
| 31 |
-
<td
|
|
|
|
|
|
|
|
|
|
| 32 |
</tr>
|
|
|
|
| 33 |
<tr>
|
| 34 |
-
<td
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| 35 |
</tr>
|
|
|
|
| 36 |
</table>
|
| 37 |
</form>
|
| 38 |
|
| 14 |
<form action="" method="post">
|
| 15 |
<table>
|
| 16 |
<tr>
|
| 17 |
+
<?php echo SwpmUtils::_('Generate Registration Completion Link') ?>
|
| 18 |
<br /><input type="radio" value="one" name="swpm_link_for" /><?php SwpmUtils::e('For a Particular Member ID'); ?>
|
| 19 |
<input type="text" name="member_id" size="5" value="" />
|
| 20 |
+
<br /><strong><?php echo SwpmUtils::_('OR') ?></strong>
|
| 21 |
+
<br /><input type="radio" checked="checked" value="all" name="swpm_link_for" /> <?php echo SwpmUtils::_('For All Incomplete Registrations') ?>
|
| 22 |
</tr>
|
| 23 |
<tr>
|
| 24 |
+
<td>
|
| 25 |
+
<div class="swpm-margin-top-10"></div>
|
| 26 |
+
<?php echo SwpmUtils::_('Send Registration Reminder Email too') ?> <input type="checkbox" value="checked" name="swpm_reminder_email">
|
|
|
|
| 27 |
</td>
|
| 28 |
</tr>
|
| 29 |
<tr>
|
| 30 |
+
<td>
|
| 31 |
+
<div class="swpm-margin-top-10"></div>
|
| 32 |
+
<input type="submit" name="submit" class="button-primary" value="<?php echo SwpmUtils::_('Submit') ?>" />
|
| 33 |
+
</td>
|
| 34 |
</tr>
|
| 35 |
+
|
| 36 |
<tr>
|
| 37 |
+
<td>
|
| 38 |
+
<div class="swpm-margin-top-10"></div>
|
| 39 |
+
<?php
|
| 40 |
+
if(!empty($links)){
|
| 41 |
+
echo '<div class="swpm-green-box">'. SwpmUtils::_('Link(s) generated successfully. The following link(s) can be used to complete the registration.') .'</div>';
|
| 42 |
+
}else{
|
| 43 |
+
echo '<div class="swpm-grey-box">'. SwpmUtils::_('Registration completion links will appear below').'</div>';
|
| 44 |
+
}
|
| 45 |
+
?>
|
| 46 |
+
<div class="swpm-margin-top-10"></div>
|
| 47 |
+
<?php foreach ($links as $key => $link){ ?>
|
| 48 |
+
<input type="text" size="120" readonly="readonly" name="link[<?php echo $key ?>]" value="<?php echo $link; ?>"/><br/>
|
| 49 |
+
<?php } ?>
|
| 50 |
+
</td>
|
| 51 |
</tr>
|
| 52 |
+
|
| 53 |
</table>
|
| 54 |
</form>
|
| 55 |
|
views/edit.php
CHANGED
|
@@ -56,7 +56,8 @@
|
|
| 56 |
</td>
|
| 57 |
</tr>
|
| 58 |
</table>
|
| 59 |
-
<p
|
|
|
|
| 60 |
</p>
|
| 61 |
<?php echo SwpmUtils::delete_account_button(); ?>
|
| 62 |
|
| 56 |
</td>
|
| 57 |
</tr>
|
| 58 |
</table>
|
| 59 |
+
<p class="swpm-edit-profile-submit-section">
|
| 60 |
+
<input type="submit" value="<?php echo SwpmUtils::_('Update')?>" class="swpm-edit-profile-submit" name="swpm_editprofile_submit" />
|
| 61 |
</p>
|
| 62 |
<?php echo SwpmUtils::delete_account_button(); ?>
|
| 63 |
|
views/forgot_password.php
CHANGED
|
@@ -1,17 +1,15 @@
|
|
| 1 |
<div class="swpm-pw-reset-widget-form">
|
| 2 |
<form id="swpm-pw-reset-form" name="swpm-reset-form" method="post" action="">
|
| 3 |
-
<
|
| 4 |
-
|
| 5 |
-
|
| 6 |
-
|
| 7 |
-
|
| 8 |
-
|
| 9 |
-
|
| 10 |
-
|
| 11 |
-
|
| 12 |
-
|
| 13 |
-
|
| 14 |
-
</tr>
|
| 15 |
-
</table>
|
| 16 |
</form>
|
| 17 |
</div>
|
| 1 |
<div class="swpm-pw-reset-widget-form">
|
| 2 |
<form id="swpm-pw-reset-form" name="swpm-reset-form" method="post" action="">
|
| 3 |
+
<div class="swpm-pw-reset-widget-inside">
|
| 4 |
+
<div class="swpm-pw-reset-email swpm-margin-top-10">
|
| 5 |
+
<label for="swpm_reset_email" class="swpm_label swpm-pw-reset-email-label"><?php echo SwpmUtils::_('Email Address')?></label>
|
| 6 |
+
</div>
|
| 7 |
+
<div class="swpm-pw-reset-email-input swpm-margin-top-10">
|
| 8 |
+
<input type="text" name="swpm_reset_email" class="swpm-text-field swpm-pw-reset-text" id="swpm_reset_email" value="" size="60" />
|
| 9 |
+
</div>
|
| 10 |
+
<div class="swpm-pw-reset-submit-button swpm-margin-top-10">
|
| 11 |
+
<input type="submit" name="swpm-reset" class="swpm-pw-reset-submit" value="<?php echo SwpmUtils::_('Reset Password'); ?>" />
|
| 12 |
+
</div>
|
| 13 |
+
</div>
|
|
|
|
|
|
|
| 14 |
</form>
|
| 15 |
</div>
|
views/payments/payment-gateway/paypal_button_shortcode_view.php
CHANGED
|
@@ -9,7 +9,7 @@ function swpm_render_pp_buy_now_button_sc_output($button_code, $args) {
|
|
| 9 |
|
| 10 |
$button_id = isset($args['id']) ? $args['id'] : '';
|
| 11 |
if (empty($button_id)) {
|
| 12 |
-
return '<p
|
| 13 |
}
|
| 14 |
|
| 15 |
//Check new_window parameter
|
|
@@ -19,10 +19,15 @@ function swpm_render_pp_buy_now_button_sc_output($button_code, $args) {
|
|
| 19 |
$button_cpt = get_post($button_id); //Retrieve the CPT for this button
|
| 20 |
|
| 21 |
$membership_level_id = get_post_meta($button_id, 'membership_level_id', true);
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| 22 |
$paypal_email = get_post_meta($button_id, 'paypal_email', true);
|
| 23 |
$payment_amount = get_post_meta($button_id, 'payment_amount', true);
|
| 24 |
if (!is_numeric($payment_amount)) {
|
| 25 |
-
return '<p
|
| 26 |
}
|
| 27 |
$payment_amount = round($payment_amount, 2); //round the amount to 2 decimal place.
|
| 28 |
$payment_currency = get_post_meta($button_id, 'payment_currency', true);
|
|
@@ -108,6 +113,11 @@ function swpm_render_pp_subscription_button_sc_output($button_code, $args) {
|
|
| 108 |
$button_cpt = get_post($button_id); //Retrieve the CPT for this button
|
| 109 |
|
| 110 |
$membership_level_id = get_post_meta($button_id, 'membership_level_id', true);
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| 111 |
$paypal_email = get_post_meta($button_id, 'paypal_email', true);
|
| 112 |
$payment_currency = get_post_meta($button_id, 'payment_currency', true);
|
| 113 |
|
| 9 |
|
| 10 |
$button_id = isset($args['id']) ? $args['id'] : '';
|
| 11 |
if (empty($button_id)) {
|
| 12 |
+
return '<p class="swpm-red-box">Error! swpm_render_pp_buy_now_button_sc_output() function requires the button ID value to be passed to it.</p>';
|
| 13 |
}
|
| 14 |
|
| 15 |
//Check new_window parameter
|
| 19 |
$button_cpt = get_post($button_id); //Retrieve the CPT for this button
|
| 20 |
|
| 21 |
$membership_level_id = get_post_meta($button_id, 'membership_level_id', true);
|
| 22 |
+
//Verify that this membership level exists (to prevent user paying for a level that has been deleted)
|
| 23 |
+
if(!SwpmUtils::membership_level_id_exists($membership_level_id)){
|
| 24 |
+
return '<p class="swpm-red-box">Error! The membership level specified in this button does not exist. You may have deleted this membership level. Edit the button and use the correct membership level.</p>';
|
| 25 |
+
}
|
| 26 |
+
|
| 27 |
$paypal_email = get_post_meta($button_id, 'paypal_email', true);
|
| 28 |
$payment_amount = get_post_meta($button_id, 'payment_amount', true);
|
| 29 |
if (!is_numeric($payment_amount)) {
|
| 30 |
+
return '<p class="swpm-red-box">Error! The payment amount value of the button must be a numeric number. Example: 49.50 </p>';
|
| 31 |
}
|
| 32 |
$payment_amount = round($payment_amount, 2); //round the amount to 2 decimal place.
|
| 33 |
$payment_currency = get_post_meta($button_id, 'payment_currency', true);
|
| 113 |
$button_cpt = get_post($button_id); //Retrieve the CPT for this button
|
| 114 |
|
| 115 |
$membership_level_id = get_post_meta($button_id, 'membership_level_id', true);
|
| 116 |
+
//Verify that this membership level exists (to prevent user paying for a level that has been deleted)
|
| 117 |
+
if(!SwpmUtils::membership_level_id_exists($membership_level_id)){
|
| 118 |
+
return '<p class="swpm-red-box">Error! The membership level specified in this button does not exist. You may have deleted this membership level. Edit the button and use the correct membership level.</p>';
|
| 119 |
+
}
|
| 120 |
+
|
| 121 |
$paypal_email = get_post_meta($button_id, 'paypal_email', true);
|
| 122 |
$payment_currency = get_post_meta($button_id, 'payment_currency', true);
|
| 123 |
|
