get_value('logout-member-on-browser-close'); if (!empty($logout_member_on_browser_close)) { //This feature is enabled. //Setting auth cookie expiry value to 0. $expire = apply_filters( 'swpm_logout_on_close_auth_cookie_expiry_value', 0 ); } return $expire; } public function handle_after_logout_redirection($redirect_url){ $after_logout_url = SwpmSettings::get_instance()->get_value('after-logout-redirection-url'); if(!empty($after_logout_url)){ //After logout URL is being used. Override re-direct URL. $redirect_url = $after_logout_url; } return $redirect_url; } public function handle_swpm_payment_ipn_processed($ipn_data){ $ipn_forward_url = SwpmSettings::get_instance()->get_value('payment-notification-forward-url'); if(!empty($ipn_forward_url)){ SwpmLog::log_simple_debug("Payment Notification Forwarding is Enabled. Posting the payment data to URL: " . $ipn_forward_url, true); $response = wp_remote_post($ipn_forward_url, $ipn_data); if (is_wp_error($response)) { $error_message = $response->get_error_message(); SwpmLog::log_simple_debug("There was an error posting the payment data. Error message: " . $error_message, true); } } } public function after_registration_callback($user_data){ //Handle auto login after registration if enabled $enable_auto_login = SwpmSettings::get_instance()->get_value('auto-login-after-rego'); if (!empty($enable_auto_login)){ SwpmLog::log_simple_debug("Auto login after registration feature is enabled in settings. Performing auto login for user: " . $user_data['user_name'], true); $login_page_url = SwpmSettings::get_instance()->get_value('login-page-url'); // Allow hooks to change the value of login_page_url $login_page_url = apply_filters('swpm_after_reg_callback_login_page_url', $login_page_url); $encoded_pass = base64_encode($user_data['plain_password']); $swpm_auto_login_nonce = wp_create_nonce('swpm-auto-login-nonce'); $arr_params = array( 'swpm_auto_login' => '1', 'swpm_user_name' => urlencode($user_data['user_name']), 'swpm_encoded_pw' => $encoded_pass, 'swpm_auto_login_nonce' => $swpm_auto_login_nonce, ); $redirect_page = add_query_arg($arr_params, $login_page_url); wp_redirect($redirect_page); exit(0); } } public function handle_membership_level_changed_action($args){ $swpm_id = $args['member_id']; $old_level = $args['from_level']; $new_level = $args['to_level']; SwpmLog::log_simple_debug('swpm_membership_level_changed action triggered. Member ID: '.$swpm_id.', Old Level: '.$old_level.', New Level: '.$new_level, true); //Check to see if the old and the new levels are the same or not. if(trim($old_level) == trim($new_level)){ SwpmLog::log_simple_debug('The to (Level ID: '.$new_level.') and from (Level ID: '.$old_level.') values are the same. Nothing to do here.', true); return; } //Find record for this user SwpmLog::log_simple_debug('Retrieving user record for member ID: '.$swpm_id, true); $resultset = SwpmMemberUtils::get_user_by_id($swpm_id); if($resultset){ //Found a record. Lets do some level update specific changes. //$emailaddress = $resultset->email; //$account_status = $resultset->account_state; //Retrieve the new memberhsip level's details $level_row = SwpmUtils::get_membership_level_row_by_id($new_level); //Update the WP user role according to the new level's configuration (if applicable). $user_role = $level_row->role; $user_info = get_user_by('login', $resultset->user_name); $wp_user_id = $user_info->ID; SwpmLog::log_simple_debug('Calling user role update function.', true); SwpmMemberUtils::update_wp_user_role($wp_user_id, $user_role); } } }