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;
 }
Example #7
0
 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;
 }