/** * Handles Pro login redirections. * * @package s2Member\Login_Redirects * @since 110720 * * @attaches-to ``add_filter('ws_plugin__s2member_login_redirect');`` * * @param bool|string $redirect Expects a boolean value of true|false, or a non-empty string, passed through by the Filter. * @param array $vars Expects an array of defined variables, passed in by the Filter. * * @return bool|string A One-Time-Offer redirection URL, else the original value. */ public static function login_redirect($redirect = FALSE, $vars = array()) { if ($redirect && !empty($vars['user']) && !empty($vars['logins'])) { foreach (preg_split('/[' . "\r\n\t" . ']+/', $GLOBALS['WS_PLUGIN__']['s2member']['o']['pro_login_welcome_page_otos']) as $oto) { if (($oto = trim($oto)) && preg_match('/^(?:([0-9]+)\\:)(?:([0-9]+)\\:)?(.+)$/', $oto, $m)) { list(, $number_of_logins, $level, $url) = $m; // Assign variables. if ((int) $number_of_logins === (int) $vars['logins']) { // One-Time-Offer applies? if (!is_numeric($level) || c_ws_plugin__s2member_user_access::user_access_level($vars['user']) === (int) $level) { if ($url = c_ws_plugin__s2member_login_redirects::fill_login_redirect_rc_vars($url, $vars['user'])) { return $redirect = $url; } } } } } } return $redirect; // Return ``$redirect`` value. }
/** * Handles Pro login redirections. * * @package s2Member\Login_Redirects * @since 110720 * * @attaches-to ``add_filter("ws_plugin__s2member_login_redirect");`` * * @param bool|str $redirect Expects a boolean value of true|false, or a non-empty string, passed through by the Filter. * @param array $vars Expects an array of defined variables, passed in by the Filter. * @return bool|str A One-Time-Offer redirection URL, else the original value. */ public static function login_redirect($redirect = FALSE, $vars = FALSE) { if ($redirect && ($user = $vars["user"]) && ($logins = $vars["logins"])) { foreach (preg_split("/[\r\n\t]+/", $GLOBALS["WS_PLUGIN__"]["s2member"]["o"]["pro_login_welcome_page_otos"]) as $oto) { if (($oto = trim($oto)) && preg_match("/^(?:([0-9]+)\\:)(?:([0-9]+)\\:)?(.+)\$/", $oto, $m)) { list(, $number_of_logins, $level, $url) = $m; // Assign variables. if ((int) $number_of_logins === (int) $logins) { // One-Time-Offer applies? if (!is_numeric($level) || c_ws_plugin__s2member_user_access::user_access_level($user) === (int) $level) { if ($url = c_ws_plugin__s2member_login_redirects::fill_login_redirect_rc_vars($url, $user)) { return $redirect = $url; } } } } } } return $redirect; // Return ``$redirect`` value. }
/** * Parses a Special Login Redirection URL. * * @package s2Member\Login_Redirects * @since 3.5 * * @param object $user Optional. A WP_User object. Defaults to the current User, if logged-in. * @param bool $root_returns_false Defaults to false. True if the function should return false when a URL is reduced to the site root. * * @return string|bool A Special Login Redirection URL with Replacement Codes having been parsed, or false if ``$root_returns_false = true`` and the URL is the site root. */ public static function login_redirection_url($user = NULL, $root_returns_false = FALSE) { foreach (array_keys(get_defined_vars()) as $__v) { $__refs[$__v] =& ${$__v}; } do_action('ws_plugin__s2member_before_login_redirection_url', get_defined_vars()); unset($__refs, $__v); // Housekeeping. $url = $GLOBALS['WS_PLUGIN__']['s2member']['o']['login_redirection_override']; $url = c_ws_plugin__s2member_login_redirects::fill_login_redirect_rc_vars($url, $user, $root_returns_false); return apply_filters('ws_plugin__s2member_login_redirection_url', $url, get_defined_vars()); }
/** * Parses a Special Login Redirection URL. * * @package s2Member\Login_Redirects * @since 3.5 * * @param obj $user Optional. A WP_User object. Defaults to the current User, if logged-in. * @param bool $root_returns_false Defaults to false. True if the function should return false when a URL is reduced to the site root. * @return str|bool A Special Login Redirection URL with Replacement Codes having been parsed, or false if ``$root_returns_false = true`` and the URL is the site root. */ public static function login_redirection_url($user = FALSE, $root_returns_false = FALSE) { foreach (array_keys(get_defined_vars()) as $__v) { $__refs[$__v] =& ${$__v}; } do_action("ws_plugin__s2member_before_login_redirection_url", get_defined_vars()); unset($__refs, $__v); $url = $GLOBALS["WS_PLUGIN__"]["s2member"]["o"]["login_redirection_override"]; $url = c_ws_plugin__s2member_login_redirects::fill_login_redirect_rc_vars($url, $user, $root_returns_false); return apply_filters("ws_plugin__s2member_login_redirection_url", $url, get_defined_vars()); }
/** * Widget display. * * @package s2Member\Widgets * @since 1.5 * * @param array $args Optional. An array of basic settings. * @param array $instance Optional. An array of options for this instance. * @return null */ public function widget($args = FALSE, $instance = FALSE) { $options = c_ws_plugin__s2member_pro_login_widget::configure_options_and_their_defaults((array) $instance); /**/ eval('foreach(array_keys(get_defined_vars())as$__v)$__refs[$__v]=&$$__v;'); do_action("ws_plugin__s2member_pro_login_widget_before_display", get_defined_vars(), $this); unset($__refs, $__v); /* Unset defined __refs, __v. */ /**/ echo $args["before_widget"]; /* OK, here we go into this widget. */ /**/ if (is_user_logged_in() && strlen($options["profile_title"]) || !is_user_logged_in() && strlen($options["title"])) { echo $args["before_title"] . apply_filters("widget_title", $options[is_user_logged_in() ? "profile_title" : "title"]) . $args["after_title"]; } /**/ eval('foreach(array_keys(get_defined_vars())as$__v)$__refs[$__v]=&$$__v;'); do_action("ws_plugin__s2member_pro_login_widget_during_display_before", get_defined_vars(), $this); unset($__refs, $__v); /* Unset defined __refs, __v. */ /**/ if (!is_user_logged_in()) { $links = c_ws_plugin__s2member_cache::cached_page_links(); /**/ $ops_page = $GLOBALS["WS_PLUGIN__"]["s2member"]["o"]["membership_options_page"]; /**/ if ($ops_page && is_page($ops_page) && !empty($_GET["_s2member_seeking"]["_uri"])) { $seeking = trim(base64_decode(trim(stripslashes((string) $_GET["_s2member_seeking"]["_uri"])))); } /**/ $options["login_redirect"] = $options["login_redirect"] === "%%previous%%" && $ops_page && is_page($ops_page) && empty($seeking) ? "" : $options["login_redirect"]; /**/ $redirect_to = preg_replace("/%%previous%%/i", !empty($seeking) ? $seeking : $_SERVER["REQUEST_URI"], $redirect_to = $options["login_redirect"]); $redirect_to = preg_replace("/%%home%%/i", home_url("/"), $redirect_to); /**/ echo '<div class="ws-plugin--s2member-pro-login-widget">' . "\n"; /**/ echo '<form method="post" action="' . esc_attr(wp_login_url()) . '" class="ws-plugin--s2member-pro-login-widget-form">' . "\n"; /**/ echo '<div class="ws-plugin--s2member-pro-login-widget-username">' . "\n"; echo '<label for="ws-plugin--s2member-pro-login-widget-username">' . _x("Username", "s2member-front", "s2member") . ':</label><br />' . "\n"; echo '<input type="text" name="log" id="ws-plugin--s2member-pro-login-widget-username" title="Username" />' . "\n"; echo '</div>' . "\n"; /**/ echo '<div class="ws-plugin--s2member-pro-login-widget-password">' . "\n"; echo '<label for="ws-plugin--s2member-pro-login-widget-password">' . _x("Password", "s2member-front", "s2member") . ':</label><br />' . "\n"; echo '<input type="password" name="pwd" id="ws-plugin--s2member-pro-login-widget-password" title="Password" />' . "\n"; echo '</div>' . "\n"; /**/ echo '<div class="ws-plugin--s2member-pro-login-widget-lost-password">' . "\n"; $reg_cookies_ok_url = is_multisite() && c_ws_plugin__s2member_utils_conds::is_multisite_farm() && is_main_site() ? c_ws_plugin__s2member_utils_urls::wp_signup_url() : c_ws_plugin__s2member_utils_urls::wp_register_url(); echo $options["signup_url"] ? '<a href="' . esc_attr($options["signup_url"] !== "%%automatic%%" ? $options["signup_url"] : (c_ws_plugin__s2member_register_access::reg_cookies_ok() ? $reg_cookies_ok_url : $links["membership_options_page"])) . '" tabindex="-1">' . _x("signup now", "s2member-front", "s2member") . '</a> | ' : ''; echo '<a href="' . esc_attr(wp_lostpassword_url()) . '" tabindex="-1">' . _x("forgot password?", "s2member-front", "s2member") . '</a>' . "\n"; echo '</div>' . "\n"; /**/ echo '<div class="ws-plugin--s2member-pro-login-widget-remember-me">' . "\n"; echo '<label><input type="checkbox" name="rememberme" value="forever" />' . _x("Remember Me", "s2member-front", "s2member") . '</label>' . "\n"; echo '</div>' . "\n"; /**/ echo '<div class="ws-plugin--s2member-pro-login-widget-submit">' . "\n"; echo $redirect_to ? '<input type="hidden" name="redirect_to" value="' . esc_attr($redirect_to) . '" />' . "\n" : ''; echo '<input type="submit" value="' . esc_attr(_x("Log Me In", "s2member-front", "s2member")) . '" />' . "\n"; echo '</div>' . "\n"; /**/ echo '</form>' . "\n"; /**/ echo '<div class="ws-plugin--s2member-pro-login-widget-code">' . "\n"; /**/ if (is_multisite() && c_ws_plugin__s2member_utils_conds::is_multisite_farm() && !is_main_site()) { echo do_shortcode(trim($options["logged_out_code"])); } else { /* Otherwise, it's OK to execute PHP code. */ echo do_shortcode(c_ws_plugin__s2member_utilities::evl(trim($options["logged_out_code"]))); } /**/ echo '</div>' . "\n"; /**/ echo '<div style="clear:both;"></div>' . "\n"; /**/ echo '</div>' . "\n"; } else { if (is_user_logged_in() && is_object($user = wp_get_current_user()) && !empty($user->ID) && ($user_id = $user->ID)) { $links = c_ws_plugin__s2member_cache::cached_page_links(); /**/ $ops_page = $GLOBALS["WS_PLUGIN__"]["s2member"]["o"]["membership_options_page"]; $welcome_page = $GLOBALS["WS_PLUGIN__"]["s2member"]["o"]["login_welcome_page"]; /**/ $options["logout_redirect"] = $options["logout_redirect"] === "%%previous%%" && $ops_page && is_page($ops_page) ? "" : $options["logout_redirect"]; $options["logout_redirect"] = $options["logout_redirect"] === "%%previous%%" && $welcome_page && is_page($welcome_page) ? "" : $options["logout_redirect"]; /**/ $redirect_to = preg_replace("/%%previous%%/i", $_SERVER["REQUEST_URI"], $redirect_to = $options["logout_redirect"]); $redirect_to = preg_replace("/%%home%%/i", home_url("/"), $redirect_to); /**/ echo '<div id="ws-plugin--s2member-pro-login-widget" class="ws-plugin--s2member-pro-login-widget">' . "\n"; /**/ echo '<div class="ws-plugin--s2member-pro-login-widget-profile-summary">' . "\n"; /**/ echo $options["display_gravatar"] ? ($options["link_gravatar"] ? '<a href="http://www.gravatar.com/" target="_blank">' : '') . get_avatar($user_id, 48) . ($options["link_gravatar"] ? '</a>' : '') . "\n" : ''; /**/ echo $options["display_name"] ? '<div class="ws-plugin--s2member-pro-login-widget-profile-summary-name">' . esc_html($user->display_name) . '</div>' . "\n" : ''; /**/ echo '<div class="ws-plugin--s2member-pro-login-widget-profile-summary-code">' . "\n"; /**/ if (is_multisite() && c_ws_plugin__s2member_utils_conds::is_multisite_farm() && !is_main_site()) { echo do_shortcode(trim($options["logged_in_code"])); } else { /* Otherwise, it's OK to execute PHP code. */ echo do_shortcode(c_ws_plugin__s2member_utilities::evl(trim($options["logged_in_code"]))); } /**/ echo '</div>' . "\n"; /**/ echo $options["my_account_url"] ? '<div class="ws-plugin--s2member-pro-login-widget-profile-summary-my-account"><a href="' . esc_attr($options["my_account_url"] !== "%%automatic%%" ? c_ws_plugin__s2member_login_redirects::fill_login_redirect_rc_vars($options["my_account_url"]) : (($login_redirection_url = c_ws_plugin__s2member_login_redirects::login_redirection_url($user)) ? $login_redirection_url : $links["login_welcome_page"])) . '">' . _x("My Account", "s2member-front", "s2member") . '</a></div>' . "\n" : ''; echo $options["my_profile_url"] ? '<div class="ws-plugin--s2member-pro-login-widget-profile-summary-edit-profile"><a href="' . ($options["my_profile_url"] !== "%%automatic%%" ? esc_attr(c_ws_plugin__s2member_login_redirects::fill_login_redirect_rc_vars($options["my_profile_url"])) : esc_attr(site_url("/?s2member_profile=1")) . '" onclick="if(!window.open(\'' . c_ws_plugin__s2member_utils_strings::esc_js_sq(esc_attr(site_url("/?s2member_profile=1"))) . '\',\'_profile\', \'width=600,height=400,left=\'+((screen.width/2)-(600/2))+\',screenX=\'+((screen.width/2)-(600/2))+\',top=\'+((screen.height/2)-(400/2))+\',screenY=\'+((screen.height/2)-(400/2))+\',location=0,menubar=0,toolbar=0,status=0,scrollbars=1,resizable=1\')) alert(\'' . c_ws_plugin__s2member_utils_strings::esc_js_sq(_x("Please disable popup blockers and try again!", "s2member-front", "s2member")) . '\'); return false;') . '">' . _x("Edit My Profile", "s2member-front", "s2member") . '</a></div>' . "\n" : ''; echo '<div class="ws-plugin--s2member-pro-login-widget-profile-summary-logout"><a href="' . esc_attr(wp_logout_url($redirect_to)) . '">' . _x("Logout", "s2member-front", "s2member") . '</a></div>' . "\n"; /**/ echo '<div style="clear:both;"></div>' . "\n"; /**/ echo '</div>' . "\n"; /**/ echo '</div>' . "\n"; } } /**/ eval('foreach(array_keys(get_defined_vars())as$__v)$__refs[$__v]=&$$__v;'); do_action("ws_plugin__s2member_pro_login_widget_during_display_after", get_defined_vars(), $this); unset($__refs, $__v); /* Unset defined __refs, __v. */ /**/ echo $args["after_widget"]; /**/ do_action("ws_plugin__s2member_pro_login_widget_after_display", get_defined_vars(), $this); /**/ return; /* Return for uniformity. */ }
/** * Widget display. * * @package s2Member\Widgets * @since 140628 * * @param array $args Optional. An array of basic settings. * @param array $instance Optional. An array of options for this instance. */ public static function ___static_widget___($args = array(), $instance = array()) { $options = self::___static_configure_options_and_their_defaults___((array) $instance); foreach (array_keys(get_defined_vars()) as $__v) { $__refs[$__v] =& ${$__v}; } do_action('ws_plugin__s2member_pro_login_widget_before_display', get_defined_vars()); unset($__refs, $__v); // Housekeeping. echo $args['before_widget']; // OK, here we go into this widget. if (is_user_logged_in() && strlen($options['profile_title']) || !is_user_logged_in() && strlen($options['title'])) { echo $args['before_title'] . apply_filters('widget_title', $options[is_user_logged_in() ? 'profile_title' : 'title']) . $args['after_title']; } foreach (array_keys(get_defined_vars()) as $__v) { $__refs[$__v] =& ${$__v}; } do_action('ws_plugin__s2member_pro_login_widget_during_display_before', get_defined_vars()); unset($__refs, $__v); // Housekeeping. if (!is_user_logged_in()) { $links = c_ws_plugin__s2member_cache::cached_page_links(); $ops_page = $GLOBALS['WS_PLUGIN__']['s2member']['o']['membership_options_page']; if ($ops_page && is_page($ops_page) && !empty($_GET['_s2member_seeking']['_uri'])) { $seeking = trim(base64_decode(trim(stripslashes((string) $_GET['_s2member_seeking']['_uri'])))); } $options['login_redirect'] = $options['login_redirect'] === '%%previous%%' && empty($seeking) && $ops_page && is_page($ops_page) ? '' : $options['login_redirect']; $options['login_redirect'] = $options['login_redirect'] === '%%previous%%' && empty($seeking) && is_front_page() ? '' : $options['login_redirect']; $options['login_redirect'] = $options['login_redirect'] === '%%previous%%' && !empty($seeking) && $seeking === '/' ? '' : $options['login_redirect']; $redirect_to = $options['login_redirect']; $redirect_to = preg_replace('/%%previous%%/i', !empty($seeking) ? $seeking : $_SERVER['REQUEST_URI'], $redirect_to); $redirect_to = preg_replace('/%%home%%/i', home_url('/'), $redirect_to); echo '<div class="ws-plugin--s2member-pro-login-widget">' . "\n"; echo '<form method="post" action="' . esc_attr(site_url('wp-login.php', 'login_post')) . '" class="ws-plugin--s2member-pro-login-widget-form">' . "\n"; echo '<div class="ws-plugin--s2member-pro-login-widget-username">' . "\n"; echo '<label for="ws-plugin--s2member-pro-login-widget-username">' . _x('Username', 's2member-front', 's2member') . ':</label><br />' . "\n"; echo '<input type="text" name="log" id="ws-plugin--s2member-pro-login-widget-username" class="form-control" title="Username" />' . "\n"; echo '</div>' . "\n"; echo '<div class="ws-plugin--s2member-pro-login-widget-password">' . "\n"; echo '<label for="ws-plugin--s2member-pro-login-widget-password">' . _x('Password', 's2member-front', 's2member') . ':</label><br />' . "\n"; echo '<input type="password" name="pwd" id="ws-plugin--s2member-pro-login-widget-password" class="form-control" title="Password" />' . "\n"; echo '</div>' . "\n"; echo '<div class="ws-plugin--s2member-pro-login-widget-lost-password">' . "\n"; $reg_cookies_ok_url = is_multisite() && c_ws_plugin__s2member_utils_conds::is_multisite_farm() && is_main_site() ? c_ws_plugin__s2member_utils_urls::wp_signup_url() : c_ws_plugin__s2member_utils_urls::wp_register_url(); echo $options['signup_url'] ? '<a href="' . esc_attr($options['signup_url'] !== '%%automatic%%' ? $options['signup_url'] : (c_ws_plugin__s2member_register_access::reg_cookies_ok() ? $reg_cookies_ok_url : $links['membership_options_page'])) . '" tabindex="-1">' . _x('signup now', 's2member-front', 's2member') . '</a> | ' : ''; echo '<a href="' . esc_attr(wp_lostpassword_url()) . '" tabindex="-1">' . _x('forgot password?', 's2member-front', 's2member') . '</a>' . "\n"; echo '</div>' . "\n"; echo '<div class="ws-plugin--s2member-pro-login-widget-remember-me">' . "\n"; echo '<label><input type="checkbox" name="rememberme" value="forever" />' . _x('Remember Me', 's2member-front', 's2member') . '</label>' . "\n"; echo '</div>' . "\n"; echo '<div class="ws-plugin--s2member-pro-login-widget-submit">' . "\n"; if ($redirect_to) { echo '<input type="hidden" name="redirect_to" value="' . esc_attr($redirect_to) . '" />' . "\n" . (empty($seeking) ? '<input type="hidden" name="redirect_to_automatic" value="1" />' . "\n" : ''); } echo '<input type="submit" class="btn btn-primary" value="' . esc_attr(_x('Log Me In', 's2member-front', 's2member')) . '" />' . "\n"; echo '</div>' . "\n"; echo '</form>' . "\n"; echo '<div class="ws-plugin--s2member-pro-login-widget-code">' . "\n"; if (is_multisite() && c_ws_plugin__s2member_utils_conds::is_multisite_farm() && !is_main_site()) { echo do_shortcode(trim($options['logged_out_code'])); } else { // Otherwise, it's OK to execute PHP code. echo do_shortcode(c_ws_plugin__s2member_utilities::evl(trim($options['logged_out_code']))); } echo '</div>' . "\n"; echo '<div style="clear:both;"></div>' . "\n"; echo '</div>' . "\n"; } else { if (is_user_logged_in() && is_object($user = wp_get_current_user()) && !empty($user->ID) && ($user_id = $user->ID)) { $links = c_ws_plugin__s2member_cache::cached_page_links(); $ops_page = $GLOBALS['WS_PLUGIN__']['s2member']['o']['membership_options_page']; $welcome_page = $GLOBALS['WS_PLUGIN__']['s2member']['o']['login_welcome_page']; $options['logout_redirect'] = $options['logout_redirect'] === '%%previous%%' && $ops_page && is_page($ops_page) ? '' : $options['logout_redirect']; $options['logout_redirect'] = $options['logout_redirect'] === '%%previous%%' && $welcome_page && is_page($welcome_page) ? '' : $options['logout_redirect']; $redirect_to = preg_replace('/%%previous%%/i', $_SERVER['REQUEST_URI'], $redirect_to = $options['logout_redirect']); $redirect_to = preg_replace('/%%home%%/i', home_url('/'), $redirect_to); echo '<div id="ws-plugin--s2member-pro-login-widget" class="ws-plugin--s2member-pro-login-widget">' . "\n"; echo '<div class="ws-plugin--s2member-pro-login-widget-profile-summary">' . "\n"; echo $options['display_gravatar'] ? ($options['link_gravatar'] ? '<a href="http://www.gravatar.com/" target="_blank">' : '') . get_avatar($user_id, 48) . ($options['link_gravatar'] ? '</a>' : '') . "\n" : ''; echo $options['display_name'] ? '<div class="ws-plugin--s2member-pro-login-widget-profile-summary-name">' . esc_html($user->display_name) . '</div>' . "\n" : ''; echo '<div class="ws-plugin--s2member-pro-login-widget-profile-summary-code">' . "\n"; if (is_multisite() && c_ws_plugin__s2member_utils_conds::is_multisite_farm() && !is_main_site()) { echo do_shortcode(trim($options['logged_in_code'])); } else { // Otherwise, it's OK to execute PHP code. echo do_shortcode(c_ws_plugin__s2member_utilities::evl(trim($options['logged_in_code']))); } echo '</div>' . "\n"; echo $options['my_account_url'] ? '<div class="ws-plugin--s2member-pro-login-widget-profile-summary-my-account"><a href="' . esc_attr($options['my_account_url'] !== '%%automatic%%' ? c_ws_plugin__s2member_login_redirects::fill_login_redirect_rc_vars($options['my_account_url']) : (($login_redirection_url = c_ws_plugin__s2member_login_redirects::login_redirection_url($user)) ? $login_redirection_url : $links['login_welcome_page'])) . '">' . _x('My Account', 's2member-front', 's2member') . '</a></div>' . "\n" : ''; echo $options['my_profile_url'] ? '<div class="ws-plugin--s2member-pro-login-widget-profile-summary-edit-profile"><a href="' . ($options['my_profile_url'] !== '%%automatic%%' ? esc_attr(c_ws_plugin__s2member_login_redirects::fill_login_redirect_rc_vars($options['my_profile_url'])) : esc_attr(home_url('/?s2member_profile=1')) . '" onclick="if(!window.open(\'' . c_ws_plugin__s2member_utils_strings::esc_js_sq(esc_attr(home_url('/?s2member_profile=1'))) . '\',\'_profile\', \'width=600,height=400,left=\'+((screen.width/2)-(600/2))+\',screenX=\'+((screen.width/2)-(600/2))+\',top=\'+((screen.height/2)-(400/2))+\',screenY=\'+((screen.height/2)-(400/2))+\',location=0,menubar=0,toolbar=0,status=0,scrollbars=1,resizable=1\')) alert(\'' . c_ws_plugin__s2member_utils_strings::esc_js_sq(_x('Please disable popup blockers and try again!', 's2member-front', 's2member')) . '\'); return false;') . '">' . _x('Edit My Profile', 's2member-front', 's2member') . '</a></div>' . "\n" : ''; echo '<div class="ws-plugin--s2member-pro-login-widget-profile-summary-logout"><a href="' . esc_attr(wp_logout_url($redirect_to)) . '">' . _x('Logout', 's2member-front', 's2member') . '</a></div>' . "\n"; echo '<div style="clear:both;"></div>' . "\n"; echo '</div>' . "\n"; echo '</div>' . "\n"; } } foreach (array_keys(get_defined_vars()) as $__v) { $__refs[$__v] =& ${$__v}; } do_action('ws_plugin__s2member_pro_login_widget_during_display_after', get_defined_vars()); unset($__refs, $__v); // Housekeeping. echo $args['after_widget']; do_action('ws_plugin__s2member_pro_login_widget_after_display', get_defined_vars()); }