/** * Handles Return templates w/ response message. * * @package optimizeMember\Return_Templates * @since 110720 * * @param str $template Optional A Subscr. Gateway code should be used as the template name, or `default` is a multipurpose template. Defaults to `default`. Used in template selection. * @param str $response Optional. Response message to fill template with, using the Replacement Code `%%response%%` inside the template file. Defaults to: `Thank you. Please click the link below.`. * @param str $continue_html Optional. The HTML value of the continuation link presented within the template using Replacement Code `%%continue%%`. Defaults to: `Continue`. * @param str $continue_link Optional. The HREF value for the continuation link presented within the template using Replacement Code `%%continue%%`. Defaults to: ``home_url ("/")``. * @return str The full HTML code of the template. All Replacement Codes inside the template file will have already been filled by this routine. */ public static function return_template($template = FALSE, $response = FALSE, $continue_html = FALSE, $continue_link = FALSE) { eval('foreach(array_keys(get_defined_vars())as$__v)$__refs[$__v]=&$$__v;'); do_action("ws_plugin__optimizemember_before_return_template", get_defined_vars()); unset($__refs, $__v); /* Unset defined __refs, __v. */ /**/ $template = $template ? $template : "default"; $continue_link = $continue_link ? $continue_link : home_url("/"); $continue_html = $continue_html ? $continue_html : _x("Continue", "s2member-front", "s2member"); $response = $response ? $response : _x("Thank you. Please click the link below.", "s2member-front", "s2member"); /**/ $custom_template = file_exists(TEMPLATEPATH . "/" . $template . "-return.php") ? TEMPLATEPATH . "/" . $template . "-return.php" : false; $custom_template = file_exists(TEMPLATEPATH . "/" . $template . "-return.html") ? TEMPLATEPATH . "/" . $template . "-return.html" : $custom_template; /**/ $custom_template = file_exists(WP_CONTENT_DIR . "/" . $template . "-return.php") ? WP_CONTENT_DIR . "/" . $template . "-return.php" : $custom_template; $custom_template = file_exists(WP_CONTENT_DIR . "/" . $template . "-return.html") ? WP_CONTENT_DIR . "/" . $template . "-return.html" : $custom_template; /**/ $custom_template = !$custom_template && file_exists(TEMPLATEPATH . "/default-return.php") ? TEMPLATEPATH . "/default-return.php" : $custom_template; $custom_template = !$custom_template && file_exists(TEMPLATEPATH . "/default-return.html") ? TEMPLATEPATH . "/default-return.html" : $custom_template; /**/ $custom_template = !$custom_template && file_exists(WP_CONTENT_DIR . "/default-return.php") ? WP_CONTENT_DIR . "/default-return.php" : $custom_template; $custom_template = !$custom_template && file_exists(WP_CONTENT_DIR . "/default-return.html") ? WP_CONTENT_DIR . "/default-return.html" : $custom_template; /**/ $specific_template = $custom_template ? $custom_template : (file_exists($_default_specific_template = dirname(dirname(__FILE__)) . "/templates/returns/" . $template . "-return.php") ? $_default_specific_template : false); /**/ $code = trim(file_get_contents($specific_template ? $specific_template : ($_default_template = dirname(dirname(__FILE__)) . "/templates/returns/default-return.php"))); $code = trim(!$custom_template || !is_multisite() || !c_ws_plugin__optimizemember_utils_conds::is_multisite_farm() || is_main_site() ? c_ws_plugin__optimizemember_utilities::evl($code) : $code); /**/ $doctype_html_head = c_ws_plugin__optimizemember_utils_html::doctype_html_head(get_bloginfo("name"), "ws_plugin__optimizemember_during_return_template_head_" . ($specific_template ? basename($specific_template) : "default-return.php")); $code = preg_replace("/%%doctype_html_head%%/i", c_ws_plugin__optimizemember_utils_strings::esc_ds(apply_filters("ws_plugin__optimizemember_return_template_doctype_html_head", $doctype_html_head, get_defined_vars())), $code); /**/ $code = preg_replace("/%%header%%/i", c_ws_plugin__optimizemember_utils_strings::esc_ds(apply_filters("ws_plugin__optimizemember_return_template_header", sprintf(_x('[ %s ] <strong><em>says…</em></strong>', "s2member-front", "s2member"), esc_html($_SERVER["HTTP_HOST"])), get_defined_vars())), $code); /**/ $code = preg_replace("/%%response%%/i", c_ws_plugin__optimizemember_utils_strings::esc_ds(apply_filters("ws_plugin__optimizemember_return_template_response", $response, get_defined_vars())), $code); $code = preg_replace("/%%continue%%/i", c_ws_plugin__optimizemember_utils_strings::esc_ds(apply_filters("ws_plugin__optimizemember_return_template_continue", '<a href="' . esc_attr($continue_link) . '">' . $continue_html . '</a>', get_defined_vars())), $code); $code = preg_replace("/%%support%%/i", c_ws_plugin__optimizemember_utils_strings::esc_ds(apply_filters("ws_plugin__optimizemember_return_template_support", sprintf(_x('If you need assistance, please <a href="%s" target="_blank">contact support</a>.', "s2member-front", "s2member"), esc_attr($GLOBALS["WS_PLUGIN__"]["optimizemember"]["o"]["reg_email_support_link"])), get_defined_vars())), $code); $code = preg_replace("/%%tracking%%/i", c_ws_plugin__optimizemember_utils_strings::esc_ds(apply_filters("ws_plugin__optimizemember_return_template_tracking", c_ws_plugin__optimizemember_tracking_codes::generate_all_tracking_codes(), get_defined_vars())), $code); /**/ return apply_filters("ws_plugin__optimizemember_return_template", $code, get_defined_vars()); }
/** * Displays a Stand-Alone Profile Modification Form. * * @package optimizeMember\Profiles * @since 3.5 * * @attaches-to ``add_action("init");`` * * @return null Or exits script execution after display. */ public static function profile() { do_action("ws_plugin__optimizemember_before_profile", get_defined_vars()); /**/ if (!empty($_GET["optimizemember_profile"])) { c_ws_plugin__optimizemember_no_cache::no_cache_constants(true); /* No caching. */ /**/ $tabindex = apply_filters("ws_plugin__optimizemember_sc_profile_tabindex", 0, get_defined_vars()); /**/ if (($user = is_user_logged_in() ? wp_get_current_user() : false) && ($user_id = $user->ID)) { echo c_ws_plugin__optimizemember_utils_html::doctype_html_head("My Profile", "ws_plugin__optimizemember_during_profile_head"); /**/ echo '<body style="' . esc_attr(apply_filters("ws_plugin__optimizemember_profile_body_styles", "background:#FFFFFF; color:#333333; font-family:'Verdana', sans-serif; font-size:13px;", get_defined_vars())) . '">' . "\n"; /**/ echo '<form method="post" name="ws_plugin__optimizemember_profile" id="ws-plugin--optimizemember-profile" action="' . esc_attr(site_url("/")) . '">' . "\n"; /**/ eval('foreach(array_keys(get_defined_vars())as$__v)$__refs[$__v]=&$$__v;'); do_action("ws_plugin__optimizemember_during_profile_before_table", get_defined_vars()); unset($__refs, $__v); /* Unset defined __refs, __v. */ /**/ echo '<table cellpadding="0" cellspacing="0">' . "\n"; echo '<tbody>' . "\n"; /**/ eval('foreach(array_keys(get_defined_vars())as$__v)$__refs[$__v]=&$$__v;'); do_action("ws_plugin__optimizemember_during_profile_before_fields", get_defined_vars()); unset($__refs, $__v); /* Unset defined __refs, __v. */ /**/ if (apply_filters("ws_plugin__optimizemember_during_profile_during_fields_display_username", true, get_defined_vars())) { eval('foreach(array_keys(get_defined_vars())as$__v)$__refs[$__v]=&$$__v;'); do_action("ws_plugin__optimizemember_during_profile_during_fields_before_username", get_defined_vars()); unset($__refs, $__v); /* Unset defined __refs, __v. */ /**/ echo '<tr>' . "\n"; echo '<td>' . "\n"; echo '<label for="ws-plugin--optimizemember-profile-login">' . "\n"; echo '<strong>' . _x("Username", "s2member-front", "s2member") . ' *</strong> <small>' . _x("( cannot be changed )", "s2member-front", "s2member") . '</small><br />' . "\n"; echo '<input type="text" aria-required="true" maxlength="60" autocomplete="off" name="ws_plugin__optimizemember_profile_login" id="ws-plugin--optimizemember-profile-login" class="ws-plugin--optimizemember-profile-field" value="' . format_to_edit($user->user_login) . '" disabled="disabled" />' . "\n"; echo '</label>' . "\n"; echo '</td>' . "\n"; echo '</tr>' . "\n"; /**/ eval('foreach(array_keys(get_defined_vars())as$__v)$__refs[$__v]=&$$__v;'); do_action("ws_plugin__optimizemember_during_profile_during_fields_after_username", get_defined_vars()); unset($__refs, $__v); /* Unset defined __refs, __v. */ } /**/ if (apply_filters("ws_plugin__optimizemember_during_profile_during_fields_display_email", true, get_defined_vars())) { eval('foreach(array_keys(get_defined_vars())as$__v)$__refs[$__v]=&$$__v;'); do_action("ws_plugin__optimizemember_during_profile_during_fields_before_email", get_defined_vars()); unset($__refs, $__v); /* Unset defined __refs, __v. */ /**/ echo '<tr>' . "\n"; echo '<td>' . "\n"; echo '<label for="ws-plugin--optimizemember-profile-email">' . "\n"; echo '<strong>' . _x("Email Address", "s2member-front", "s2member") . ' *</strong><br />' . "\n"; echo '<input type="text" aria-required="true" data-expected="email" maxlength="100" autocomplete="off" name="ws_plugin__optimizemember_profile_email" id="ws-plugin--optimizemember-profile-email" class="ws-plugin--optimizemember-profile-field" value="' . format_to_edit($user->user_email) . '" tabindex="' . esc_attr($tabindex = $tabindex + 10) . '" />' . "\n"; echo '</label>' . "\n"; echo '</td>' . "\n"; echo '</tr>' . "\n"; /**/ eval('foreach(array_keys(get_defined_vars())as$__v)$__refs[$__v]=&$$__v;'); do_action("ws_plugin__optimizemember_during_profile_during_fields_after_email", get_defined_vars()); unset($__refs, $__v); /* Unset defined __refs, __v. */ } /**/ if ($GLOBALS["WS_PLUGIN__"]["optimizemember"]["o"]["custom_reg_names"]) { if (apply_filters("ws_plugin__optimizemember_during_profile_during_fields_display_first_name", true, get_defined_vars())) { eval('foreach(array_keys(get_defined_vars())as$__v)$__refs[$__v]=&$$__v;'); do_action("ws_plugin__optimizemember_during_profile_during_fields_before_first_name", get_defined_vars()); unset($__refs, $__v); /* Unset defined __refs, __v. */ /**/ echo '<tr>' . "\n"; echo '<td>' . "\n"; echo '<label for="ws-plugin--optimizemember-profile-first-name">' . "\n"; echo '<strong>' . _x("First Name", "s2member-front", "s2member") . ' *</strong><br />' . "\n"; echo '<input type="text" aria-required="true" maxlength="100" autocomplete="off" name="ws_plugin__optimizemember_profile_first_name" id="ws-plugin--optimizemember-profile-first-name" class="ws-plugin--optimizemember-profile-field" value="' . esc_attr($user->first_name) . '" tabindex="' . esc_attr($tabindex = $tabindex + 10) . '" />' . "\n"; echo '</label>' . "\n"; echo '</td>' . "\n"; echo '</tr>' . "\n"; /**/ eval('foreach(array_keys(get_defined_vars())as$__v)$__refs[$__v]=&$$__v;'); do_action("ws_plugin__optimizemember_during_profile_during_fields_after_first_name", get_defined_vars()); unset($__refs, $__v); /* Unset defined __refs, __v. */ } /**/ if (apply_filters("ws_plugin__optimizemember_during_profile_during_fields_display_last_name", true, get_defined_vars())) { eval('foreach(array_keys(get_defined_vars())as$__v)$__refs[$__v]=&$$__v;'); do_action("ws_plugin__optimizemember_during_profile_during_fields_before_last_name", get_defined_vars()); unset($__refs, $__v); /* Unset defined __refs, __v. */ /**/ echo '<tr>' . "\n"; echo '<td>' . "\n"; echo '<label for="ws-plugin--optimizemember-profile-last-name">' . "\n"; echo '<strong>' . _x("Last Name", "s2member-front", "s2member") . ' *</strong><br />' . "\n"; echo '<input type="text" aria-required="true" maxlength="100" autocomplete="off" name="ws_plugin__optimizemember_profile_last_name" id="ws-plugin--optimizemember-profile-last-name" class="ws-plugin--optimizemember-profile-field" value="' . esc_attr($user->last_name) . '" tabindex="' . esc_attr($tabindex = $tabindex + 10) . '" />' . "\n"; echo '</label>' . "\n"; echo '</td>' . "\n"; echo '</tr>' . "\n"; /**/ eval('foreach(array_keys(get_defined_vars())as$__v)$__refs[$__v]=&$$__v;'); do_action("ws_plugin__optimizemember_during_profile_during_fields_after_last_name", get_defined_vars()); unset($__refs, $__v); /* Unset defined __refs, __v. */ } /**/ if (apply_filters("ws_plugin__optimizemember_during_profile_during_fields_display_display_name", true, get_defined_vars())) { eval('foreach(array_keys(get_defined_vars())as$__v)$__refs[$__v]=&$$__v;'); do_action("ws_plugin__optimizemember_during_profile_during_fields_before_display_name", get_defined_vars()); unset($__refs, $__v); /* Unset defined __refs, __v. */ /**/ echo '<tr>' . "\n"; echo '<td>' . "\n"; echo '<label for="ws-plugin--optimizemember-profile-display-name">' . "\n"; echo '<strong>' . _x("Display Name", "s2member-front", "s2member") . ' *</strong><br />' . "\n"; echo '<input type="text" aria-required="true" maxlength="100" autocomplete="off" name="ws_plugin__optimizemember_profile_display_name" id="ws-plugin--optimizemember-profile-display-name" class="ws-plugin--optimizemember-profile-field" value="' . esc_attr($user->display_name) . '" tabindex="' . esc_attr($tabindex = $tabindex + 10) . '" />' . "\n"; echo '</label>' . "\n"; echo '</td>' . "\n"; echo '</tr>' . "\n"; /**/ eval('foreach(array_keys(get_defined_vars())as$__v)$__refs[$__v]=&$$__v;'); do_action("ws_plugin__optimizemember_during_profile_during_fields_after_display_name", get_defined_vars()); unset($__refs, $__v); /* Unset defined __refs, __v. */ } } /**/ if (apply_filters("ws_plugin__optimizemember_during_profile_during_fields_display_custom_fields", true, get_defined_vars())) { if ($GLOBALS["WS_PLUGIN__"]["optimizemember"]["o"]["custom_reg_fields"]) { /* Now, do we have Custom Fields? */ if ($fields_applicable = c_ws_plugin__optimizemember_custom_reg_fields::custom_fields_configured_at_level("auto-detection", "profile")) { $fields = get_user_option("optimizemember_custom_fields", $user_id); /**/ $tabindex = $tabindex + 9; /* Start tabindex at +9 ( +1 below ). */ /**/ eval('foreach(array_keys(get_defined_vars())as$__v)$__refs[$__v]=&$$__v;'); do_action("ws_plugin__optimizemember_during_profile_during_fields_before_custom_fields", get_defined_vars()); unset($__refs, $__v); /* Unset defined __refs, __v. */ /**/ foreach (json_decode($GLOBALS["WS_PLUGIN__"]["optimizemember"]["o"]["custom_reg_fields"], true) as $field) { eval('foreach(array_keys(get_defined_vars())as$__v)$__refs[$__v]=&$$__v;'); do_action("ws_plugin__optimizemember_during_profile_during_fields_during_custom_fields_before", get_defined_vars()); unset($__refs, $__v); /* Unset defined __refs, __v. */ /**/ if (in_array($field["id"], $fields_applicable)) { $field_var = preg_replace("/[^a-z0-9]/i", "_", strtolower($field["id"])); $field_id_class = preg_replace("/_/", "-", $field_var); /**/ eval('foreach(array_keys(get_defined_vars())as$__v)$__refs[$__v]=&$$__v;'); if (apply_filters("ws_plugin__optimizemember_during_profile_during_fields_during_custom_fields_display", true, get_defined_vars())) { if (!empty($field["section"]) && $field["section"] === "yes") { /* Starts a new section? */ echo '<tr><td><div class="ws-plugin--optimizemember-profile-field-divider-section' . (!empty($field["sectitle"]) ? '-title' : '') . '">' . (!empty($field["sectitle"]) ? $field["sectitle"] : '') . '</div></td></tr>'; } /**/ echo '<tr>' . "\n"; echo '<td>' . "\n"; echo '<label for="ws-plugin--optimizemember-profile-' . esc_attr($field_id_class) . '">' . "\n"; echo '<strong' . (preg_match("/^(checkbox|pre_checkbox)\$/", $field["type"]) ? ' style="display:none;"' : '') . '>' . $field["label"] . ($field["required"] === "yes" ? ' *' : '') . '</strong></label>' . (preg_match("/^(checkbox|pre_checkbox)\$/", $field["type"]) ? '' : '<br />') . "\n"; echo c_ws_plugin__optimizemember_custom_reg_fields::custom_field_gen(__FUNCTION__, $field, "ws_plugin__optimizemember_profile_", "ws-plugin--optimizemember-profile-", "ws-plugin--optimizemember-profile-field", "", $tabindex = $tabindex + 1, "", $fields, $fields[$field_var], "profile"); echo '</td>' . "\n"; echo '</tr>' . "\n"; } unset($__refs, $__v); /* Unset defined __refs, __v. */ } /**/ eval('foreach(array_keys(get_defined_vars())as$__v)$__refs[$__v]=&$$__v;'); do_action("ws_plugin__optimizemember_during_profile_during_fields_during_custom_fields_after", get_defined_vars()); unset($__refs, $__v); /* Unset defined __refs, __v. */ } /**/ eval('foreach(array_keys(get_defined_vars())as$__v)$__refs[$__v]=&$$__v;'); do_action("ws_plugin__optimizemember_during_profile_during_fields_after_custom_fields", get_defined_vars()); unset($__refs, $__v); /* Unset defined __refs, __v. */ } } } /**/ if (apply_filters("ws_plugin__optimizemember_during_profile_during_fields_display_password", true, get_defined_vars())) { eval('foreach(array_keys(get_defined_vars())as$__v)$__refs[$__v]=&$$__v;'); do_action("ws_plugin__optimizemember_during_profile_during_fields_before_password", get_defined_vars()); unset($__refs, $__v); /* Unset defined __refs, __v. */ /**/ echo '<tr>' . "\n"; echo '<td>' . "\n"; /**/ echo '<label for="ws-plugin--optimizemember-profile-password1" title="' . esc_attr(_x("Please type your Password twice to confirm.", "s2member-front", "s2member")) . '">' . "\n"; echo '<strong>' . _x("New Password?", "s2member-front", "s2member") . '</strong> <em>' . _x("( please type it twice )", "s2member-front", "s2member") . '</em><br />' . "\n"; echo '<em>' . _x("Only if changing password, otherwise leave blank.", "s2member-front", "s2member") . '</em><br />' . "\n"; echo '<input type="password" maxlength="100" autocomplete="off" name="ws_plugin__optimizemember_profile_password1" id="ws-plugin--optimizemember-profile-password1" class="ws-plugin--optimizemember-profile-field" value="" tabindex="' . esc_attr($tabindex = $tabindex + 10) . '"' . ($user->user_login === "demo" ? ' disabled="disabled"' : '') . ' />' . "\n"; echo '</label>' . "\n"; /**/ echo '<label for="ws-plugin--optimizemember-profile-password2" title="' . esc_attr(_x("Please type your Password twice to confirm.", "s2member-front", "s2member")) . '">' . "\n"; echo '<input type="password" maxlength="100" autocomplete="off" name="ws_plugin__optimizemember_profile_password2" id="ws-plugin--optimizemember-profile-password2" class="ws-plugin--optimizemember-profile-field" value="" tabindex="' . esc_attr($tabindex = $tabindex + 10) . '"' . ($user->user_login === "demo" ? ' disabled="disabled"' : '') . ' />' . "\n"; echo '</label>' . "\n"; /**/ echo '<div id="ws-plugin--optimizemember-profile-password-strength" class="ws-plugin--optimizemember-password-strength"><em>' . _x("password strength indicator", "s2member-front", "s2member") . '</em></div>' . "\n"; /**/ echo '</td>' . "\n"; echo '</tr>' . "\n"; /**/ eval('foreach(array_keys(get_defined_vars())as$__v)$__refs[$__v]=&$$__v;'); do_action("ws_plugin__optimizemember_during_profile_during_fields_after_password", get_defined_vars()); unset($__refs, $__v); /* Unset defined __refs, __v. */ } /**/ eval('foreach(array_keys(get_defined_vars())as$__v)$__refs[$__v]=&$$__v;'); do_action("ws_plugin__optimizemember_during_profile_after_fields", get_defined_vars()); unset($__refs, $__v); /* Unset defined __refs, __v. */ /**/ echo '<tr>' . "\n"; echo '<td>' . "\n"; echo '<input type="hidden" name="ws_plugin__optimizemember_profile_save" id="ws-plugin--optimizemember-profile-save" value="' . esc_attr(wp_create_nonce("ws-plugin--optimizemember-profile-save")) . '" />' . "\n"; echo '<input type="submit" id="ws-plugin--optimizemember-profile-submit" value="' . esc_attr(_x("Save All Changes", "s2member-front", "s2member")) . '" tabindex="' . esc_attr($tabindex = $tabindex + 10) . '" />' . "\n"; echo '</td>' . "\n"; echo '</tr>' . "\n"; /**/ echo '</tbody>' . "\n"; echo '</table>' . "\n"; /**/ eval('foreach(array_keys(get_defined_vars())as$__v)$__refs[$__v]=&$$__v;'); do_action("ws_plugin__optimizemember_during_profile_after_table", get_defined_vars()); unset($__refs, $__v); /* Unset defined __refs, __v. */ /**/ echo '</form>' . "\n"; /**/ echo '</body>' . "\n"; echo '</html>'; } /**/ exit; /* Clean exit. */ } /**/ do_action("ws_plugin__optimizemember_after_profile", get_defined_vars()); }