PluginProbe
s2Member – Excellent for All Kinds of Memberships, Content Restriction Paywalls & Member Access Subscriptions / 110927
s2Member – Excellent for All Kinds of Memberships, Content Restriction Paywalls & Member Access Subscriptions v110927
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 / profile-in.inc.php

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

284 lines 17.8 KB
No matching file
Up and down to move Enter to open Esc to close
Raw Download Zip
1 <?php
2 /**
3 * s2Member Stand-Alone Profile page ( 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_profile_in"))
21 {
22 /**
23 * s2Member Stand-Alone Profile page ( inner processing routines ).
24 *
25 * @package s2Member\Profiles
26 * @since 3.5
27 */
28 class c_ws_plugin__s2member_profile_in
29 {
30 /**
31 * Displays a Stand-Alone Profile Modification Form.
32 *
33 * @package s2Member\Profiles
34 * @since 3.5
35 *
36 * @attaches-to: ``add_action("init");``
37 *
38 * @return null Or exits script execution after display.
39 */
40 public static function profile ()
41 {
42 do_action ("ws_plugin__s2member_before_profile", get_defined_vars ());
43 /**/
44 if (!empty ($_GET["s2member_profile"])) /* Requesting Profile? */
45 {
46 c_ws_plugin__s2member_no_cache::no_cache_constants (true);
47 /**/
48 $tabindex = apply_filters ("ws_plugin__s2member_sc_profile_tabindex", 0, get_defined_vars ());
49 /**/
50 if (($user = (is_user_logged_in ()) ? wp_get_current_user () : false) && ($user_id = $user->ID))
51 {
52 echo c_ws_plugin__s2member_utils_html::doctype_html_head ("My Profile", "ws_plugin__s2member_during_profile_head");
53 /**/
54 echo '<body style="' . esc_attr (apply_filters ("ws_plugin__s2member_profile_body_styles", "background:#FFFFFF; color:#333333; font-family:'Verdana', sans-serif; font-size:13px;", get_defined_vars ())) . '">' . "\n";
55 /**/
56 echo '<form method="post" name="ws_plugin__s2member_profile" id="ws-plugin--s2member-profile" action="' . esc_attr (site_url ("/")) . '">' . "\n";
57 /**/
58 eval('foreach(array_keys(get_defined_vars())as$__v)$__refs[$__v]=&$$__v;');
59 do_action ("ws_plugin__s2member_during_profile_before_table", get_defined_vars ());
60 unset ($__refs, $__v); /* Unset defined __refs, __v. */
61 /**/
62 echo '<table cellpadding="0" cellspacing="0">' . "\n";
63 echo '<tbody>' . "\n";
64 /**/
65 eval('foreach(array_keys(get_defined_vars())as$__v)$__refs[$__v]=&$$__v;');
66 do_action ("ws_plugin__s2member_during_profile_before_fields", get_defined_vars ());
67 unset ($__refs, $__v); /* Unset defined __refs, __v. */
68 /**/
69 if (apply_filters ("ws_plugin__s2member_during_profile_during_fields_display_username", true, get_defined_vars ()))
70 {
71 eval('foreach(array_keys(get_defined_vars())as$__v)$__refs[$__v]=&$$__v;');
72 do_action ("ws_plugin__s2member_during_profile_during_fields_before_username", get_defined_vars ());
73 unset ($__refs, $__v); /* Unset defined __refs, __v. */
74 /**/
75 echo '<tr>' . "\n";
76 echo '<td>' . "\n";
77 echo '<label for="ws-plugin--s2member-profile-login">' . "\n";
78 echo '<strong>' . _x ("Username", "s2member-front", "s2member") . ' *</strong> <small>' . _x ("( cannot be changed )", "s2member-front", "s2member") . '</small><br />' . "\n";
79 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";
80 echo '</label>' . "\n";
81 echo '</td>' . "\n";
82 echo '</tr>' . "\n";
83 /**/
84 eval('foreach(array_keys(get_defined_vars())as$__v)$__refs[$__v]=&$$__v;');
85 do_action ("ws_plugin__s2member_during_profile_during_fields_after_username", get_defined_vars ());
86 unset ($__refs, $__v); /* Unset defined __refs, __v. */
87 }
88 /**/
89 if (apply_filters ("ws_plugin__s2member_during_profile_during_fields_display_email", true, get_defined_vars ()))
90 {
91 eval('foreach(array_keys(get_defined_vars())as$__v)$__refs[$__v]=&$$__v;');
92 do_action ("ws_plugin__s2member_during_profile_during_fields_before_email", get_defined_vars ());
93 unset ($__refs, $__v); /* Unset defined __refs, __v. */
94 /**/
95 echo '<tr>' . "\n";
96 echo '<td>' . "\n";
97 echo '<label for="ws-plugin--s2member-profile-email">' . "\n";
98 echo '<strong>' . _x ("Email Address", "s2member-front", "s2member") . ' *</strong><br />' . "\n";
99 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";
100 echo '</label>' . "\n";
101 echo '</td>' . "\n";
102 echo '</tr>' . "\n";
103 /**/
104 eval('foreach(array_keys(get_defined_vars())as$__v)$__refs[$__v]=&$$__v;');
105 do_action ("ws_plugin__s2member_during_profile_during_fields_after_email", get_defined_vars ());
106 unset ($__refs, $__v); /* Unset defined __refs, __v. */
107 }
108 /**/
109 if ($GLOBALS["WS_PLUGIN__"]["s2member"]["o"]["custom_reg_names"])
110 {
111 if (apply_filters ("ws_plugin__s2member_during_profile_during_fields_display_first_name", true, get_defined_vars ()))
112 {
113 eval('foreach(array_keys(get_defined_vars())as$__v)$__refs[$__v]=&$$__v;');
114 do_action ("ws_plugin__s2member_during_profile_during_fields_before_first_name", get_defined_vars ());
115 unset ($__refs, $__v); /* Unset defined __refs, __v. */
116 /**/
117 echo '<tr>' . "\n";
118 echo '<td>' . "\n";
119 echo '<label for="ws-plugin--s2member-profile-first-name">' . "\n";
120 echo '<strong>' . _x ("First Name", "s2member-front", "s2member") . ' *</strong><br />' . "\n";
121 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";
122 echo '</label>' . "\n";
123 echo '</td>' . "\n";
124 echo '</tr>' . "\n";
125 /**/
126 eval('foreach(array_keys(get_defined_vars())as$__v)$__refs[$__v]=&$$__v;');
127 do_action ("ws_plugin__s2member_during_profile_during_fields_after_first_name", get_defined_vars ());
128 unset ($__refs, $__v); /* Unset defined __refs, __v. */
129 }
130 /**/
131 if (apply_filters ("ws_plugin__s2member_during_profile_during_fields_display_last_name", true, get_defined_vars ()))
132 {
133 eval('foreach(array_keys(get_defined_vars())as$__v)$__refs[$__v]=&$$__v;');
134 do_action ("ws_plugin__s2member_during_profile_during_fields_before_last_name", get_defined_vars ());
135 unset ($__refs, $__v); /* Unset defined __refs, __v. */
136 /**/
137 echo '<tr>' . "\n";
138 echo '<td>' . "\n";
139 echo '<label for="ws-plugin--s2member-profile-last-name">' . "\n";
140 echo '<strong>' . _x ("Last Name", "s2member-front", "s2member") . ' *</strong><br />' . "\n";
141 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";
142 echo '</label>' . "\n";
143 echo '</td>' . "\n";
144 echo '</tr>' . "\n";
145 /**/
146 eval('foreach(array_keys(get_defined_vars())as$__v)$__refs[$__v]=&$$__v;');
147 do_action ("ws_plugin__s2member_during_profile_during_fields_after_last_name", get_defined_vars ());
148 unset ($__refs, $__v); /* Unset defined __refs, __v. */
149 }
150 /**/
151 if (apply_filters ("ws_plugin__s2member_during_profile_during_fields_display_display_name", true, get_defined_vars ()))
152 {
153 eval('foreach(array_keys(get_defined_vars())as$__v)$__refs[$__v]=&$$__v;');
154 do_action ("ws_plugin__s2member_during_profile_during_fields_before_display_name", get_defined_vars ());
155 unset ($__refs, $__v); /* Unset defined __refs, __v. */
156 /**/
157 echo '<tr>' . "\n";
158 echo '<td>' . "\n";
159 echo '<label for="ws-plugin--s2member-profile-display-name">' . "\n";
160 echo '<strong>' . _x ("Display Name", "s2member-front", "s2member") . ' *</strong><br />' . "\n";
161 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";
162 echo '</label>' . "\n";
163 echo '</td>' . "\n";
164 echo '</tr>' . "\n";
165 /**/
166 eval('foreach(array_keys(get_defined_vars())as$__v)$__refs[$__v]=&$$__v;');
167 do_action ("ws_plugin__s2member_during_profile_during_fields_after_display_name", get_defined_vars ());
168 unset ($__refs, $__v); /* Unset defined __refs, __v. */
169 }
170 }
171 /**/
172 if (apply_filters ("ws_plugin__s2member_during_profile_during_fields_display_custom_fields", true, get_defined_vars ()))
173 {
174 if ($GLOBALS["WS_PLUGIN__"]["s2member"]["o"]["custom_reg_fields"]) /* Now, do we have Custom Fields? */
175 if ($fields_applicable = c_ws_plugin__s2member_custom_reg_fields::custom_fields_configured_at_level ("auto-detection", "profile"))
176 {
177 $fields = get_user_option ("s2member_custom_fields", $user_id);
178 /**/
179 $tabindex = $tabindex + 9; /* Start tabindex at +9 ( +1 below ). */
180 /**/
181 eval('foreach(array_keys(get_defined_vars())as$__v)$__refs[$__v]=&$$__v;');
182 do_action ("ws_plugin__s2member_during_profile_during_fields_before_custom_fields", get_defined_vars ());
183 unset ($__refs, $__v); /* Unset defined __refs, __v. */
184 /**/
185 foreach (json_decode ($GLOBALS["WS_PLUGIN__"]["s2member"]["o"]["custom_reg_fields"], true) as $field)
186 {
187 eval('foreach(array_keys(get_defined_vars())as$__v)$__refs[$__v]=&$$__v;');
188 do_action ("ws_plugin__s2member_during_profile_during_fields_during_custom_fields_before", get_defined_vars ());
189 unset ($__refs, $__v); /* Unset defined __refs, __v. */
190 /**/
191 if (in_array ($field["id"], $fields_applicable)) /* Field applicable? */
192 {
193 $field_var = preg_replace ("/[^a-z0-9]/i", "_", strtolower ($field["id"]));
194 $field_id_class = preg_replace ("/_/", "-", $field_var);
195 /**/
196 eval('foreach(array_keys(get_defined_vars())as$__v)$__refs[$__v]=&$$__v;');
197 if (apply_filters ("ws_plugin__s2member_during_profile_during_fields_during_custom_fields_display", true, get_defined_vars ()))
198 {
199 if (!empty ($field["section"]) && $field["section"] === "yes") /* Starts a new section? */
200 echo '<tr><td><div class="ws-plugin--s2member-profile-field-divider-section' . ((!empty ($field["sectitle"])) ? '-title' : '') . '">' . ((!empty ($field["sectitle"])) ? $field["sectitle"] : '') . '</div></td></tr>';
201 /**/
202 echo '<tr>' . "\n";
203 echo '<td>' . "\n";
204 echo '<label for="ws-plugin--s2member-profile-' . esc_attr ($field_id_class) . '">' . "\n";
205 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";
206 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");
207 echo '</td>' . "\n";
208 echo '</tr>' . "\n";
209 }
210 unset ($__refs, $__v); /* Unset defined __refs, __v. */
211 }
212 /**/
213 eval('foreach(array_keys(get_defined_vars())as$__v)$__refs[$__v]=&$$__v;');
214 do_action ("ws_plugin__s2member_during_profile_during_fields_during_custom_fields_after", get_defined_vars ());
215 unset ($__refs, $__v); /* Unset defined __refs, __v. */
216 }
217 /**/
218 eval('foreach(array_keys(get_defined_vars())as$__v)$__refs[$__v]=&$$__v;');
219 do_action ("ws_plugin__s2member_during_profile_during_fields_after_custom_fields", get_defined_vars ());
220 unset ($__refs, $__v); /* Unset defined __refs, __v. */
221 }
222 }
223 /**/
224 if (apply_filters ("ws_plugin__s2member_during_profile_during_fields_display_password", true, get_defined_vars ()))
225 {
226 eval('foreach(array_keys(get_defined_vars())as$__v)$__refs[$__v]=&$$__v;');
227 do_action ("ws_plugin__s2member_during_profile_during_fields_before_password", get_defined_vars ());
228 unset ($__refs, $__v); /* Unset defined __refs, __v. */
229 /**/
230 echo '<tr>' . "\n";
231 echo '<td>' . "\n";
232 /**/
233 echo '<label for="ws-plugin--s2member-profile-password1" title="' . esc_attr (_x ("Please type your Password twice to confirm.", "s2member-front", "s2member")) . '">' . "\n";
234 echo '<strong>' . _x ("New Password?", "s2member-front", "s2member") . '</strong> <em>' . _x ("( please type it twice )", "s2member-front", "s2member") . '</em><br />' . "\n";
235 echo '<em>' . _x ("Only if changing password, otherwise leave blank.", "s2member-front", "s2member") . '</em><br />' . "\n";
236 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";
237 echo '</label>' . "\n";
238 /**/
239 echo '<label for="ws-plugin--s2member-profile-password2" title="' . esc_attr (_x ("Please type your Password twice to confirm.", "s2member-front", "s2member")) . '">' . "\n";
240 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";
241 echo '</label>' . "\n";
242 /**/
243 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";
244 /**/
245 echo '</td>' . "\n";
246 echo '</tr>' . "\n";
247 /**/
248 eval('foreach(array_keys(get_defined_vars())as$__v)$__refs[$__v]=&$$__v;');
249 do_action ("ws_plugin__s2member_during_profile_during_fields_after_password", get_defined_vars ());
250 unset ($__refs, $__v); /* Unset defined __refs, __v. */
251 }
252 /**/
253 eval('foreach(array_keys(get_defined_vars())as$__v)$__refs[$__v]=&$$__v;');
254 do_action ("ws_plugin__s2member_during_profile_after_fields", get_defined_vars ());
255 unset ($__refs, $__v); /* Unset defined __refs, __v. */
256 /**/
257 echo '<tr>' . "\n";
258 echo '<td>' . "\n";
259 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";
260 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";
261 echo '</td>' . "\n";
262 echo '</tr>' . "\n";
263 /**/
264 echo '</tbody>' . "\n";
265 echo '</table>' . "\n";
266 /**/
267 eval('foreach(array_keys(get_defined_vars())as$__v)$__refs[$__v]=&$$__v;');
268 do_action ("ws_plugin__s2member_during_profile_after_table", get_defined_vars ());
269 unset ($__refs, $__v); /* Unset defined __refs, __v. */
270 /**/
271 echo '</form>' . "\n";
272 /**/
273 echo '</body>' . "\n";
274 echo '</html>';
275 }
276 /**/
277 exit (); /* Clean exit. */
278 }
279 /**/
280 do_action ("ws_plugin__s2member_after_profile", get_defined_vars ());
281 }
282 }
283 }
284 ?>