/**
  * 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&hellip;</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());
 }
Beispiel #2
0
 /**
  * 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());
 }