/**
  * 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.
 }
Exemplo n.º 2
0
 /**
  * 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.
 }
Exemplo n.º 3
0
 /**
  * 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. */
 }
Exemplo n.º 6
0
 /**
  * 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());
 }