PluginProbe
s2Member – Excellent for All Kinds of Memberships, Content Restriction Paywalls & Member Access Subscriptions / 110815
s2Member – Excellent for All Kinds of Memberships, Content Restriction Paywalls & Member Access Subscriptions v110815
260913 260909 260829 260814 260805 110710 110731 110812 110815 110912 110913 110915 110926 110927 111002 111003 111011 111017 111029 111105 111206 111216 111220 120213 120219 All 188 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 110815, at includes/classes/profile-in.inc.php

282 lines 17.1 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>Username *</strong> <small>( cannot be changed )</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>Email Address *</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>First Name *</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>Last Name *</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>Display Name *</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 eval ('foreach(array_keys(get_defined_vars())as$__v)$__refs[$__v]=&$$__v;');
180 do_action ("ws_plugin__s2member_during_profile_during_fields_before_custom_fields", get_defined_vars ());
181 unset ($__refs, $__v); /* Unset defined __refs, __v. */
182 /**/
183 foreach (json_decode ($GLOBALS["WS_PLUGIN__"]["s2member"]["o"]["custom_reg_fields"], true) as $field)
184 {
185 eval ('foreach(array_keys(get_defined_vars())as$__v)$__refs[$__v]=&$$__v;');
186 do_action ("ws_plugin__s2member_during_profile_during_fields_during_custom_fields_before", get_defined_vars ());
187 unset ($__refs, $__v); /* Unset defined __refs, __v. */
188 /**/
189 if (in_array ($field["id"], $fields_applicable)) /* Field applicable? */
190 {
191 $field_var = preg_replace ("/[^a-z0-9]/i", "_", strtolower ($field["id"]));
192 $field_id_class = preg_replace ("/_/", "-", $field_var);
193 /**/
194 eval ('foreach(array_keys(get_defined_vars())as$__v)$__refs[$__v]=&$$__v;');
195 if (apply_filters ("ws_plugin__s2member_during_profile_during_fields_during_custom_fields_display", true, get_defined_vars ()))
196 {
197 if (!empty ($field["section"]) && $field["section"] === "yes") /* Starts a new section? */
198 echo '<tr><td><div class="ws-plugin--s2member-profile-field-divider-section' . ((!empty ($field["sectitle"])) ? '-title' : '') . '">' . ((!empty ($field["sectitle"])) ? $field["sectitle"] : '') . '</div></td></tr>';
199 /**/
200 echo '<tr>' . "\n";
201 echo '<td>' . "\n";
202 echo '<label for="ws-plugin--s2member-profile-' . esc_attr ($field_id_class) . '">' . "\n";
203 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";
204 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 + 10), "", $fields, $fields[$field_var], "profile");
205 echo '</td>' . "\n";
206 echo '</tr>' . "\n";
207 }
208 unset ($__refs, $__v); /* Unset defined __refs, __v. */
209 }
210 /**/
211 eval ('foreach(array_keys(get_defined_vars())as$__v)$__refs[$__v]=&$$__v;');
212 do_action ("ws_plugin__s2member_during_profile_during_fields_during_custom_fields_after", get_defined_vars ());
213 unset ($__refs, $__v); /* Unset defined __refs, __v. */
214 }
215 /**/
216 eval ('foreach(array_keys(get_defined_vars())as$__v)$__refs[$__v]=&$$__v;');
217 do_action ("ws_plugin__s2member_during_profile_during_fields_after_custom_fields", get_defined_vars ());
218 unset ($__refs, $__v); /* Unset defined __refs, __v. */
219 }
220 }
221 /**/
222 if (apply_filters ("ws_plugin__s2member_during_profile_during_fields_display_password", true, get_defined_vars ()))
223 {
224 eval ('foreach(array_keys(get_defined_vars())as$__v)$__refs[$__v]=&$$__v;');
225 do_action ("ws_plugin__s2member_during_profile_during_fields_before_password", get_defined_vars ());
226 unset ($__refs, $__v); /* Unset defined __refs, __v. */
227 /**/
228 echo '<tr>' . "\n";
229 echo '<td>' . "\n";
230 /**/
231 echo '<label for="ws-plugin--s2member-profile-password1" title="Please type your Password twice to confirm.">' . "\n";
232 echo '<strong>New Password?</strong> <em>( please type it twice )</em><br />' . "\n";
233 echo '<em>Only if changing password, otherwise leave blank.</em><br />' . "\n";
234 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";
235 echo '</label>' . "\n";
236 /**/
237 echo '<label for="ws-plugin--s2member-profile-password2" title="Please type your Password twice to confirm.">' . "\n";
238 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";
239 echo '</label>' . "\n";
240 /**/
241 echo '<div id="ws-plugin--s2member-profile-password-strength" class="ws-plugin--s2member-password-strength"><em>password strength indicator</em></div>' . "\n";
242 /**/
243 echo '</td>' . "\n";
244 echo '</tr>' . "\n";
245 /**/
246 eval ('foreach(array_keys(get_defined_vars())as$__v)$__refs[$__v]=&$$__v;');
247 do_action ("ws_plugin__s2member_during_profile_during_fields_after_password", get_defined_vars ());
248 unset ($__refs, $__v); /* Unset defined __refs, __v. */
249 }
250 /**/
251 eval ('foreach(array_keys(get_defined_vars())as$__v)$__refs[$__v]=&$$__v;');
252 do_action ("ws_plugin__s2member_during_profile_after_fields", get_defined_vars ());
253 unset ($__refs, $__v); /* Unset defined __refs, __v. */
254 /**/
255 echo '<tr>' . "\n";
256 echo '<td>' . "\n";
257 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";
258 echo '<input id="ws-plugin--s2member-profile-submit" type="submit" value="Save All Changes" tabindex="' . esc_attr (($tabindex = $tabindex + 10)) . '" />' . "\n";
259 echo '</td>' . "\n";
260 echo '</tr>' . "\n";
261 /**/
262 echo '</tbody>' . "\n";
263 echo '</table>' . "\n";
264 /**/
265 eval ('foreach(array_keys(get_defined_vars())as$__v)$__refs[$__v]=&$$__v;');
266 do_action ("ws_plugin__s2member_during_profile_after_table", get_defined_vars ());
267 unset ($__refs, $__v); /* Unset defined __refs, __v. */
268 /**/
269 echo '</form>' . "\n";
270 /**/
271 echo '</body>' . "\n";
272 echo '</html>';
273 }
274 /**/
275 exit (); /* Clean exit. */
276 }
277 /**/
278 do_action ("ws_plugin__s2member_after_profile", get_defined_vars ());
279 }
280 }
281 }
282 ?>