PluginProbe
s2Member – Excellent for All Kinds of Memberships, Content Restriction Paywalls & Member Access Subscriptions / 111105
s2Member – Excellent for All Kinds of Memberships, Content Restriction Paywalls & Member Access Subscriptions v111105
260917 260913 260909 260829 260814 260805 110710 110731 110812 110815 110912 110913 110915 110926 110927 111002 111003 111011 111017 111029 111105 111206 111216 111220 120213 All 189 releases
s2member / includes / classes / sc-profile-in.inc.php

sc-profile-in.inc.php in s2Member – Excellent for All Kinds of Memberships, Content Restriction Paywalls & Member Access Subscriptions 111105, at includes/classes/sc-profile-in.inc.php

297 lines 18.4 KB
No matching file
Up and down to move Enter to open Esc to close
Raw Download Zip
1 <?php
2 /**
3 * Shortcode for `[s2Member-Profile /]` ( inner processing routines ).
4 *
5 * Copyright: © 2009-2011
6 * {@link http://www.websharks-inc.com/ WebSharks, Inc.}
7 * ( coded in the USA )
8 *
9 * Released under the terms of the GNU General Public License.
10 * You should have received a copy of the GNU General Public License,
11 * along with this software. In the main directory, see: /licensing/
12 * If not, see: {@link http://www.gnu.org/licenses/}.
13 *
14 * @package s2Member\Profiles
15 * @since 3.5
16 */
17 if (realpath (__FILE__) === realpath ($_SERVER["SCRIPT_FILENAME"]))
18 exit ("Do not access this file directly.");
19 /**/
20 if (!class_exists ("c_ws_plugin__s2member_sc_profile_in"))
21 {
22 /**
23 * Shortcode for `[s2Member-Profile /]` ( inner processing routines ).
24 *
25 * @package s2Member\Profiles
26 * @since 3.5
27 */
28 class c_ws_plugin__s2member_sc_profile_in
29 {
30 /**
31 * Handles the Shortcode for: `[s2Member-Profile /]`.
32 *
33 * @package s2Member\Profiles
34 * @since 3.5
35 *
36 * @attaches-to: ``add_shortcode("s2Member-Profile");``
37 *
38 * @param array $attr An array of Attributes.
39 * @param str $content Content inside the Shortcode.
40 * @param str $shortcode The actual Shortcode name itself.
41 * @return str|null The resulting Profile Modifiation Form *( inline )*, or null if not logged-in.
42 */
43 public static function sc_profile ($attr = FALSE, $content = FALSE, $shortcode = FALSE)
44 {
45 eval ('foreach(array_keys(get_defined_vars())as$__v)$__refs[$__v]=&$$__v;');
46 do_action ("ws_plugin__s2member_before_sc_profile", get_defined_vars ());
47 unset ($__refs, $__v); /* Unset defined __refs, __v. */
48 /**/
49 c_ws_plugin__s2member_no_cache::no_cache_constants (true); /* No caching. */
50 /**/
51 $tabindex = apply_filters ("ws_plugin__s2member_sc_profile_tabindex", 0, get_defined_vars ());
52 /**/
53 if (($user = (is_user_logged_in ()) ? wp_get_current_user () : false) && ($user_id = $user->ID))
54 {
55 $attr = c_ws_plugin__s2member_utils_strings::trim_qts_deep ((array)$attr);
56 /**/
57 $attr = shortcode_atts (array (), $attr); /* Possible Attributes. None. */
58 /**/
59 eval ('foreach(array_keys(get_defined_vars())as$__v)$__refs[$__v]=&$$__v;');
60 do_action ("ws_plugin__s2member_before_sc_profile_after_shortcode_atts", get_defined_vars ());
61 unset ($__refs, $__v); /* Unset defined __refs, __v. */
62 /**/
63 ob_start (); /* Start buffering. Allows Hooks to echo output like: `/?s2member_profile=1`. */
64 /**/
65 echo '<form method="post" name="ws_plugin__s2member_profile" id="ws-plugin--s2member-profile">' . "\n";
66 /**/
67 if ($GLOBALS["ws_plugin__s2member_profile_saved"]) /* Respond to successful updates. */
68 {
69 echo '<div id="ws-plugin--s2member-profile-saved">' . "\n";
70 echo _x ("Profile updated successfully.", "s2member-front", "s2member") . "\n";
71 echo '</div>' . "\n";
72 }
73 /**/
74 eval ('foreach(array_keys(get_defined_vars())as$__v)$__refs[$__v]=&$$__v;');
75 do_action ("ws_plugin__s2member_during_profile_before_table", get_defined_vars ());
76 unset ($__refs, $__v); /* Unset defined __refs, __v. */
77 /**/
78 echo '<table cellpadding="0" cellspacing="0">' . "\n";
79 echo '<tbody>' . "\n";
80 /**/
81 eval ('foreach(array_keys(get_defined_vars())as$__v)$__refs[$__v]=&$$__v;');
82 do_action ("ws_plugin__s2member_during_profile_before_fields", get_defined_vars ());
83 unset ($__refs, $__v); /* Unset defined __refs, __v. */
84 /**/
85 if (apply_filters ("ws_plugin__s2member_during_profile_during_fields_display_username", true, get_defined_vars ()))
86 {
87 eval ('foreach(array_keys(get_defined_vars())as$__v)$__refs[$__v]=&$$__v;');
88 do_action ("ws_plugin__s2member_during_profile_during_fields_before_username", get_defined_vars ());
89 unset ($__refs, $__v); /* Unset defined __refs, __v. */
90 /**/
91 echo '<tr>' . "\n";
92 echo '<td>' . "\n";
93 echo '<label for="ws-plugin--s2member-profile-login">' . "\n";
94 echo '<strong>' . _x ("Username", "s2member-front", "s2member") . ' *</strong> <small>' . _x ("( cannot be changed )", "s2member-front", "s2member") . '</small><br />' . "\n";
95 echo '<input aria-required="true" type="text" maxlength="60" name="ws_plugin__s2member_profile_login" id="ws-plugin--s2member-profile-login" class="ws-plugin--s2member-profile-field" value="' . format_to_edit ($user->user_login) . '" disabled="disabled" />' . "\n";
96 echo '</label>' . "\n";
97 echo '</td>' . "\n";
98 echo '</tr>' . "\n";
99 /**/
100 eval ('foreach(array_keys(get_defined_vars())as$__v)$__refs[$__v]=&$$__v;');
101 do_action ("ws_plugin__s2member_during_profile_during_fields_after_username", get_defined_vars ());
102 unset ($__refs, $__v); /* Unset defined __refs, __v. */
103 }
104 /**/
105 if (apply_filters ("ws_plugin__s2member_during_profile_during_fields_display_email", true, get_defined_vars ()))
106 {
107 eval ('foreach(array_keys(get_defined_vars())as$__v)$__refs[$__v]=&$$__v;');
108 do_action ("ws_plugin__s2member_during_profile_during_fields_before_email", get_defined_vars ());
109 unset ($__refs, $__v); /* Unset defined __refs, __v. */
110 /**/
111 echo '<tr>' . "\n";
112 echo '<td>' . "\n";
113 echo '<label for="ws-plugin--s2member-profile-email">' . "\n";
114 echo '<strong>' . _x ("Email Address", "s2member-front", "s2member") . ' *</strong><br />' . "\n";
115 echo '<input aria-required="true" data-expected="email" type="text" maxlength="100" name="ws_plugin__s2member_profile_email" id="ws-plugin--s2member-profile-email" class="ws-plugin--s2member-profile-field" value="' . format_to_edit ($user->user_email) . '" tabindex="' . esc_attr (($tabindex = $tabindex + 10)) . '" />' . "\n";
116 echo '</label>' . "\n";
117 echo '</td>' . "\n";
118 echo '</tr>' . "\n";
119 /**/
120 eval ('foreach(array_keys(get_defined_vars())as$__v)$__refs[$__v]=&$$__v;');
121 do_action ("ws_plugin__s2member_during_profile_during_fields_after_email", get_defined_vars ());
122 unset ($__refs, $__v); /* Unset defined __refs, __v. */
123 }
124 /**/
125 if ($GLOBALS["WS_PLUGIN__"]["s2member"]["o"]["custom_reg_names"])
126 {
127 if (apply_filters ("ws_plugin__s2member_during_profile_during_fields_display_first_name", true, get_defined_vars ()))
128 {
129 eval ('foreach(array_keys(get_defined_vars())as$__v)$__refs[$__v]=&$$__v;');
130 do_action ("ws_plugin__s2member_during_profile_during_fields_before_first_name", get_defined_vars ());
131 unset ($__refs, $__v); /* Unset defined __refs, __v. */
132 /**/
133 echo '<tr>' . "\n";
134 echo '<td>' . "\n";
135 echo '<label for="ws-plugin--s2member-profile-first-name">' . "\n";
136 echo '<strong>' . _x ("First Name", "s2member-front", "s2member") . ' *</strong><br />' . "\n";
137 echo '<input aria-required="true" type="text" maxlength="100" name="ws_plugin__s2member_profile_first_name" id="ws-plugin--s2member-profile-first-name" class="ws-plugin--s2member-profile-field" value="' . esc_attr ($user->first_name) . '" tabindex="' . esc_attr (($tabindex = $tabindex + 10)) . '" />' . "\n";
138 echo '</label>' . "\n";
139 echo '</td>' . "\n";
140 echo '</tr>' . "\n";
141 /**/
142 eval ('foreach(array_keys(get_defined_vars())as$__v)$__refs[$__v]=&$$__v;');
143 do_action ("ws_plugin__s2member_during_profile_during_fields_after_first_name", get_defined_vars ());
144 unset ($__refs, $__v); /* Unset defined __refs, __v. */
145 }
146 /**/
147 if (apply_filters ("ws_plugin__s2member_during_profile_during_fields_display_last_name", true, get_defined_vars ()))
148 {
149 eval ('foreach(array_keys(get_defined_vars())as$__v)$__refs[$__v]=&$$__v;');
150 do_action ("ws_plugin__s2member_during_profile_during_fields_before_last_name", get_defined_vars ());
151 unset ($__refs, $__v); /* Unset defined __refs, __v. */
152 /**/
153 echo '<tr>' . "\n";
154 echo '<td>' . "\n";
155 echo '<label for="ws-plugin--s2member-profile-last-name">' . "\n";
156 echo '<strong>' . _x ("Last Name", "s2member-front", "s2member") . ' *</strong><br />' . "\n";
157 echo '<input aria-required="true" type="text" maxlength="100" name="ws_plugin__s2member_profile_last_name" id="ws-plugin--s2member-profile-last-name" class="ws-plugin--s2member-profile-field" value="' . esc_attr ($user->last_name) . '" tabindex="' . esc_attr (($tabindex = $tabindex + 10)) . '" />' . "\n";
158 echo '</label>' . "\n";
159 echo '</td>' . "\n";
160 echo '</tr>' . "\n";
161 /**/
162 eval ('foreach(array_keys(get_defined_vars())as$__v)$__refs[$__v]=&$$__v;');
163 do_action ("ws_plugin__s2member_during_profile_during_fields_after_last_name", get_defined_vars ());
164 unset ($__refs, $__v); /* Unset defined __refs, __v. */
165 }
166 /**/
167 if (apply_filters ("ws_plugin__s2member_during_profile_during_fields_display_display_name", true, get_defined_vars ()))
168 {
169 eval ('foreach(array_keys(get_defined_vars())as$__v)$__refs[$__v]=&$$__v;');
170 do_action ("ws_plugin__s2member_during_profile_during_fields_before_display_name", get_defined_vars ());
171 unset ($__refs, $__v); /* Unset defined __refs, __v. */
172 /**/
173 echo '<tr>' . "\n";
174 echo '<td>' . "\n";
175 echo '<label for="ws-plugin--s2member-profile-display-name">' . "\n";
176 echo '<strong>' . _x ("Display Name", "s2member-front", "s2member") . ' *</strong><br />' . "\n";
177 echo '<input aria-required="true" type="text" maxlength="100" name="ws_plugin__s2member_profile_display_name" id="ws-plugin--s2member-profile-display-name" class="ws-plugin--s2member-profile-field" value="' . esc_attr ($user->display_name) . '" tabindex="' . esc_attr (($tabindex = $tabindex + 10)) . '" />' . "\n";
178 echo '</label>' . "\n";
179 echo '</td>' . "\n";
180 echo '</tr>' . "\n";
181 /**/
182 eval ('foreach(array_keys(get_defined_vars())as$__v)$__refs[$__v]=&$$__v;');
183 do_action ("ws_plugin__s2member_during_profile_during_fields_after_display_name", get_defined_vars ());
184 unset ($__refs, $__v); /* Unset defined __refs, __v. */
185 }
186 }
187 /**/
188 if (apply_filters ("ws_plugin__s2member_during_profile_during_fields_display_custom_fields", true, get_defined_vars ()))
189 {
190 if ($GLOBALS["WS_PLUGIN__"]["s2member"]["o"]["custom_reg_fields"]) /* Now, do we have Custom Fields? */
191 if ($fields_applicable = c_ws_plugin__s2member_custom_reg_fields::custom_fields_configured_at_level ("auto-detection", "profile"))
192 {
193 $fields = get_user_option ("s2member_custom_fields", $user_id);
194 /**/
195 $tabindex = $tabindex + 9; /* Start tabindex at +9 ( +1 below ). */
196 /**/
197 eval ('foreach(array_keys(get_defined_vars())as$__v)$__refs[$__v]=&$$__v;');
198 do_action ("ws_plugin__s2member_during_profile_during_fields_before_custom_fields", get_defined_vars ());
199 unset ($__refs, $__v); /* Unset defined __refs, __v. */
200 /**/
201 foreach (json_decode ($GLOBALS["WS_PLUGIN__"]["s2member"]["o"]["custom_reg_fields"], true) as $field)
202 {
203 eval ('foreach(array_keys(get_defined_vars())as$__v)$__refs[$__v]=&$$__v;');
204 do_action ("ws_plugin__s2member_during_profile_during_fields_during_custom_fields_before", get_defined_vars ());
205 unset ($__refs, $__v); /* Unset defined __refs, __v. */
206 /**/
207 if (in_array ($field["id"], $fields_applicable)) /* Field applicable? */
208 {
209 $field_var = preg_replace ("/[^a-z0-9]/i", "_", strtolower ($field["id"]));
210 $field_id_class = preg_replace ("/_/", "-", $field_var);
211 /**/
212 eval ('foreach(array_keys(get_defined_vars())as$__v)$__refs[$__v]=&$$__v;');
213 if (apply_filters ("ws_plugin__s2member_during_profile_during_fields_during_custom_fields_display", true, get_defined_vars ()))
214 {
215 if (!empty ($field["section"]) && $field["section"] === "yes") /* Starts a new section? */
216 echo '<tr><td><div class="ws-plugin--s2member-profile-field-divider-section' . ((!empty ($field["sectitle"])) ? '-title' : '') . '">' . ((!empty ($field["sectitle"])) ? $field["sectitle"] : '') . '</div></td></tr>';
217 /**/
218 echo '<tr>' . "\n";
219 echo '<td>' . "\n";
220 echo '<label for="ws-plugin--s2member-profile-' . esc_attr ($field_id_class) . '">' . "\n";
221 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";
222 echo c_ws_plugin__s2member_custom_reg_fields::custom_field_gen (__FUNCTION__, $field, "ws_plugin__s2member_profile_", "ws-plugin--s2member-profile-", "ws-plugin--s2member-profile-field", "", ($tabindex = $tabindex + 1), "", $fields, $fields[$field_var], "profile");
223 echo '</td>' . "\n";
224 echo '</tr>' . "\n";
225 }
226 unset ($__refs, $__v); /* Unset defined __refs, __v. */
227 }
228 /**/
229 eval ('foreach(array_keys(get_defined_vars())as$__v)$__refs[$__v]=&$$__v;');
230 do_action ("ws_plugin__s2member_during_profile_during_fields_during_custom_fields_after", get_defined_vars ());
231 unset ($__refs, $__v); /* Unset defined __refs, __v. */
232 }
233 /**/
234 eval ('foreach(array_keys(get_defined_vars())as$__v)$__refs[$__v]=&$$__v;');
235 do_action ("ws_plugin__s2member_during_profile_during_fields_after_custom_fields", get_defined_vars ());
236 unset ($__refs, $__v); /* Unset defined __refs, __v. */
237 }
238 }
239 /**/
240 if (apply_filters ("ws_plugin__s2member_during_profile_during_fields_display_password", true, get_defined_vars ()))
241 {
242 eval ('foreach(array_keys(get_defined_vars())as$__v)$__refs[$__v]=&$$__v;');
243 do_action ("ws_plugin__s2member_during_profile_during_fields_before_password", get_defined_vars ());
244 unset ($__refs, $__v); /* Unset defined __refs, __v. */
245 /**/
246 echo '<tr>' . "\n";
247 echo '<td>' . "\n";
248 /**/
249 echo '<label for="ws-plugin--s2member-profile-password1" title="' . esc_attr (_x ("Please type your Password twice to confirm.", "s2member-front", "s2member")) . '">' . "\n";
250 echo '<strong>' . _x ("New Password?", "s2member-front", "s2member") . '</strong> <em>' . _x ("( please type it twice )", "s2member-front", "s2member") . '</em><br />' . "\n";
251 echo '<em>' . _x ("Only if changing password, otherwise leave blank.", "s2member-front", "s2member") . '</em><br />' . "\n";
252 echo '<input type="password" maxlength="100" autocomplete="off" name="ws_plugin__s2member_profile_password1" id="ws-plugin--s2member-profile-password1" class="ws-plugin--s2member-profile-field" value="" tabindex="' . esc_attr (($tabindex = $tabindex + 10)) . '"' . (($user->user_login === "demo") ? ' disabled="disabled"' : '') . ' />' . "\n";
253 echo '</label>' . "\n";
254 /**/
255 echo '<label for="ws-plugin--s2member-profile-password2" title="' . esc_attr (_x ("Please type your Password twice to confirm.", "s2member-front", "s2member")) . '">' . "\n";
256 echo '<input type="password" maxlength="100" autocomplete="off" name="ws_plugin__s2member_profile_password2" id="ws-plugin--s2member-profile-password2" class="ws-plugin--s2member-profile-field" value="" tabindex="' . esc_attr (($tabindex = $tabindex + 10)) . '"' . (($user->user_login === "demo") ? ' disabled="disabled"' : '') . ' />' . "\n";
257 echo '</label>' . "\n";
258 /**/
259 echo '<div id="ws-plugin--s2member-profile-password-strength" class="ws-plugin--s2member-password-strength"><em>' . _x ("password strength indicator", "s2member-front", "s2member") . '</em></div>' . "\n";
260 /**/
261 echo '</td>' . "\n";
262 echo '</tr>' . "\n";
263 /**/
264 eval ('foreach(array_keys(get_defined_vars())as$__v)$__refs[$__v]=&$$__v;');
265 do_action ("ws_plugin__s2member_during_profile_during_fields_after_password", get_defined_vars ());
266 unset ($__refs, $__v); /* Unset defined __refs, __v. */
267 }
268 /**/
269 eval ('foreach(array_keys(get_defined_vars())as$__v)$__refs[$__v]=&$$__v;');
270 do_action ("ws_plugin__s2member_during_profile_after_fields", get_defined_vars ());
271 unset ($__refs, $__v); /* Unset defined __refs, __v. */
272 /**/
273 echo '<tr>' . "\n";
274 echo '<td>' . "\n";
275 echo '<input type="hidden" name="ws_plugin__s2member_sc_profile_save" id="ws-plugin--s2member-sc-profile-save" value="' . esc_attr (wp_create_nonce ("ws-plugin--s2member-sc-profile-save")) . '" />' . "\n";
276 echo '<input type="hidden" name="ws_plugin__s2member_profile_save" id="ws-plugin--s2member-profile-save" value="' . esc_attr (wp_create_nonce ("ws-plugin--s2member-profile-save")) . '" />' . "\n";
277 echo '<input id="ws-plugin--s2member-profile-submit" type="submit" value="' . esc_attr (_x ("Save All Changes", "s2member-front", "s2member")) . '" tabindex="' . esc_attr (($tabindex = $tabindex + 10)) . '" />' . "\n";
278 echo '</td>' . "\n";
279 echo '</tr>' . "\n";
280 /**/
281 echo '</tbody>' . "\n";
282 echo '</table>' . "\n";
283 /**/
284 eval ('foreach(array_keys(get_defined_vars())as$__v)$__refs[$__v]=&$$__v;');
285 do_action ("ws_plugin__s2member_during_profile_after_table", get_defined_vars ());
286 unset ($__refs, $__v); /* Unset defined __refs, __v. */
287 /**/
288 echo '</form>' . "\n";
289 /**/
290 $code = ob_get_clean ();
291 }
292 /**/
293 return apply_filters ("ws_plugin__s2member_sc_profile", ((!empty ($code)) ? $code : null), get_defined_vars ());
294 }
295 }
296 }
297 ?>