protected function send_reg_email() { global $wpdb; if (empty($this->member_info)) { return false; } $member_info = $this->member_info; $settings = BSettings::get_instance(); $subject = $settings->get_value('reg-complete-mail-subject'); $body = $settings->get_value('reg-complete-mail-body'); $from_address = $settings->get_value('email-from'); $login_link = $settings->get_value('login-page-url'); $headers = 'From: ' . $from_address . "\r\n"; $member_info['membership_level_name'] = BPermission::get_instance($member_info['membership_level'])->get('alias'); $member_info['password'] = $member_info['plain_password']; $member_info['login_link'] = $login_link; $values = array_values($member_info); $keys = array_map('swpm_enclose_var', array_keys($member_info)); $body = str_replace($keys, $values, $body); $email = sanitize_email(filter_input(INPUT_POST, 'email', FILTER_UNSAFE_RAW)); wp_mail(trim($email), $subject, $body, $headers); if ($settings->get_value('enable-admin-notification-after-reg')) { $subject = "Notification of New Member Registration"; $body = "A new member has registered. The following email was sent to the member." . "\n\n-------Member Email----------\n" . $body . "\n\n------End------\n"; wp_mail($from_address, $subject, $body, $headers); } return true; }
function __construct() { parent::__construct(array('singular' => BUtils::_('Membership Level'), 'plural' => BUtils::_('Membership Levels'), 'ajax' => false)); $this->category = array(); $selected = filter_input(INPUT_POST, 'membership_level_id'); $this->selected_level_id = empty($selected) ? 1 : $selected; $this->category = $this->selected_level_id == 1 ? BProtection::get_instance() : BPermission::get_instance($this->selected_level_id); }
public function load($level_ids = array()) { if (empty($level_ids)) { global $wpdb; $level_ids = $wpdb->get_col("SELECT id FROM {$wpdb->prefix}swpm_membership_tbl WHERE id != 1"); } foreach ($level_ids as $id) { $this->permissions[] = BPermission::get_instance($id); } }
public function regigstration_ui($level) { $settings_configs = BSettings::get_instance(); $joinuspage_url = $settings_configs->get_value('join-us-page-url'); $membership_level = ''; $member_id = filter_input(INPUT_GET, 'member_id', FILTER_SANITIZE_NUMBER_INT); $code = filter_input(INPUT_GET, 'code', FILTER_SANITIZE_STRING); global $wpdb; if (BUtils::is_paid_registration()) { $member = $member = BUtils::get_paid_member_info(); if (empty($member)) { BUtils::e('Error! Invalid Request. Could not find a match for the given security code and the user ID.'); } $membership_level = $member->membership_level; } else { if (!empty($level)) { $member = BTransfer::$default_fields; $membership_level = absint($level); } } if (empty($membership_level)) { $joinuspage_link = '<a href="' . $joinuspage_url . '">Join us</a>'; BUtils::e('Free membership is disabled on this site. Please make a payment from the ' . $joinuspage_link . ' page to pay for a premium membership.'); return; } $form = apply_filters('swpm_registration_form_override', '', $membership_level); if (!empty($form)) { return $form; } $mebership_info = BPermission::get_instance($membership_level); $membership_level = $mebership_info->get('id'); if (empty($membership_level)) { return "Membership Level Not Found."; } $level_identifier = md5($membership_level); $membership_level_alias = $mebership_info->get('alias'); $swpm_registration_submit = filter_input(INPUT_POST, 'swpm_registration_submit'); if (!empty($swpm_registration_submit)) { $member = $_POST; } ob_start(); extract((array) $member, EXTR_SKIP); include SIMPLE_WP_MEMBERSHIP_PATH . 'views/add.php'; return ob_get_clean(); }
public function can_i_read_comment($id) { $this->lastError = ''; $protected = BProtection::get_instance(); if (!$protected->is_protected_comment($id)) { return true; } $auth = BAuth::get_instance(); if (!$auth->is_logged_in()) { $this->lastError = apply_filters('swpm_not_logged_in_comment_msg', BUtils::_("You need to login to view this content. ") . BSettings::get_instance()->get_login_link()); return false; } if ($auth->is_expired_account()) { $error_msg = '<div class="swpm-account-expired-msg swpm-yellow-box">' . BUtils::_('Your account has expired. Please renew your account to gain access to this content.') . '</div>'; $this->lastError = apply_filters('swpm_account_expired_msg', $error_msg); return false; } $perms = BPermission::get_instance($auth->get('membership_level')); if ($perms->is_permitted_comment($id)) { return true; } $this->lastError = apply_filters('swpm_restricted_comment_msg', '<div class="swpm-no-access-msg">' . BUtils::_("This content is not permitted for your membership level.") . '</div>'); return false; }
public static function get_free_level() { $encrypted = filter_input(INPUT_POST, 'level_identifier'); global $wpdb; if (!empty($encrypted)) { return BPermission::get_instance($encrypted)->get('id'); } $is_free = BSettings::get_instance()->get_value('enable-free-membership'); $free_level = absint(BSettings::get_instance()->get_value('free-membership-id')); return $is_free ? $free_level : null; }
private function check_constraints() { if (empty($this->userData)) { return false; } $enable_expired_login = BSettings::get_instance()->get_value('enable-expired-account-login', ''); $can_login = true; if ($this->userData->account_state == 'inactive') { $this->lastStatusMsg = BUtils::_('Account is inactive.'); $can_login = false; } else { if ($this->userData->account_state == 'pending') { $this->lastStatusMsg = BUtils::_('Account is pending.'); $can_login = false; } else { if ($this->userData->account_state == 'expired' && empty($enable_expired_login)) { $this->lastStatusMsg = BUtils::_('Account has expired.'); $can_login = false; } } } if (!$can_login) { $this->isLoggedIn = false; $this->userData = null; return false; } if (BUtils::is_subscription_expired($this->userData)) { if ($this->userData->account_state == 'active') { global $wpdb; $wpdb->update($wpdb->prefix . 'swpm_members_tbl', array('account_state' => 'expired'), array('member_id' => $this->userData->member_id), array('%s'), array('%d')); } if (empty($enable_expired_login)) { $this->lastStatusMsg = BUtils::_('Account has expired.'); $this->isLoggedIn = false; $this->userData = null; return false; } } $this->permitted = BPermission::get_instance($this->userData->membership_level); $this->lastStatusMsg = BUtils::_("You are logged in as:") . $this->userData->user_name; $this->isLoggedIn = true; return true; }