PluginProbe
UsersWP – Front-end login form, User Registration, User Profile & Members Directory plugin for WP / 1.0.15
UsersWP – Front-end login form, User Registration, User Profile & Members Directory plugin for WP v1.0.15
1.2.72 1.2.71 1.2.70 1.2.69 1.2.68 1.2.67 1.2.66 1.2.65 1.2.64 1.2.63 trunk 1.0.10 1.0.11 1.0.12 1.0.13 1.0.14 1.0.15 1.0.16 1.0.17 1.0.18 1.0.19 1.0.20 1.0.21 1.0.22 1.0.23 All 172 releases
userswp / includes / helpers / permalinks.php

permalinks.php in UsersWP – Front-end login form, User Registration, User Profile & Members Directory plugin for WP 1.0.15, at includes/helpers/permalinks.php

412 lines 11.4 KB
No matching file
Up and down to move Enter to open Esc to close
Raw Download Zip
1 <?php
2 /**
3 * Gets the UsersWP page permalink based on page type.
4 *
5 * @since 1.0.0
6 * @package userswp
7 * @param string|bool $type Page type.
8 * @return string Page permalink.
9 */
10 function get_uwp_page_permalink($type) {
11 $page = new UsersWP_Pages();
12 return $page->get_page_permalink($type);
13 }
14
15 /**
16 * Gets the UsersWP register page permalink.
17 *
18 * @since 1.0.0
19 * @package userswp
20 * @return string Page permalink.
21 */
22 function get_uwp_register_permalink() {
23 $page = new UsersWP_Pages();
24 return $page->get_register_permalink();
25 }
26
27 /**
28 * Gets the UsersWP login page permalink.
29 *
30 * @since 1.0.0
31 * @package userswp
32 * @return string Page permalink.
33 */
34 function get_uwp_login_permalink() {
35 $page = new UsersWP_Pages();
36 return $page->get_login_permalink();
37 }
38
39 /**
40 * Gets the UsersWP forgot password page permalink.
41 *
42 * @since 1.0.0
43 * @package userswp
44 * @return string Page permalink.
45 */
46 function get_uwp_forgot_permalink() {
47 $page = new UsersWP_Pages();
48 return $page->get_forgot_permalink();
49 }
50
51 /**
52 * Gets the UsersWP reset password page permalink.
53 *
54 * @since 1.0.0
55 * @package userswp
56 * @return string Page permalink.
57 */
58 function get_uwp_reset_permalink() {
59 $page = new UsersWP_Pages();
60 return $page->get_reset_permalink();
61 }
62
63 /**
64 * Gets the UsersWP account page permalink.
65 *
66 * @since 1.0.0
67 * @package userswp
68 * @return string Page permalink.
69 */
70 function get_uwp_account_permalink() {
71 $page = new UsersWP_Pages();
72 return $page->get_account_permalink();
73 }
74
75 /**
76 * Gets the UsersWP profile page permalink.
77 *
78 * @since 1.0.0
79 * @package userswp
80 * @return string Page permalink.
81 */
82 function get_uwp_profile_permalink() {
83 $page = new UsersWP_Pages();
84 return $page->get_profile_permalink();
85 }
86
87 /**
88 * Gets the UsersWP users page permalink.
89 *
90 * @since 1.0.0
91 * @package userswp
92 * @return string Page permalink.
93 */
94 function get_uwp_users_permalink() {
95 $page = new UsersWP_Pages();
96 return $page->get_users_permalink();
97 }
98
99 /**
100 * Gets the UsersWP page permalink based on page type.
101 *
102 * @since 1.0.0
103 * @package userswp
104 * @param string $page_type Page type.
105 * @return string Page permalink.
106 */
107 function uwp_get_page_link($page_type) {
108 $page = new UsersWP_Pages();
109 return $page->get_page_link($page_type);
110 }
111
112 /**
113 * Builds the profile page url based on the tab and sub tab given
114 * yoursite.com/profile/username
115 * yoursite.com/profile/username/tab
116 * yoursite.com/profile/username/tab/subtab
117 *
118 * @since 1.0.0
119 * @package userswp
120 * @param int $user_id User ID.
121 * @param string|bool $tab Optional. Main tab
122 * @param string|bool $subtab Optional. Sub tab.
123 * @return string Built profile page link.
124 */
125 function uwp_build_profile_tab_url($user_id, $tab = false, $subtab = false) {
126 $page = new UsersWP_Pages();
127 return $page->build_profile_tab_url($user_id, $tab, $subtab);
128 }
129
130 /**
131 * Returns the page link for register page.
132 *
133 * @since 1.0.0
134 * @package userswp
135 *
136 * @return array|bool|mixed Page link.
137 */
138 function uwp_get_register_page_url() {
139 return uwp_get_page_url_data('register_page');
140 }
141
142 /**
143 * Returns the page link for login page.
144 *
145 * @since 1.0.0
146 * @package userswp
147 *
148 * @return array|bool|mixed Page link.
149 */
150 function uwp_get_login_page_url() {
151 return uwp_get_page_url_data('login_page');
152 }
153
154 /**
155 * Returns the page link for forgot password page.
156 *
157 * @since 1.0.0
158 * @package userswp
159 *
160 * @return array|bool|mixed Page link.
161 */
162 function uwp_get_forgot_page_url() {
163 return uwp_get_page_url_data('forgot_page');
164 }
165
166 /**
167 * Returns the page link for change password page.
168 *
169 * @since 1.0.0
170 * @package userswp
171 *
172 * @return array|bool|mixed Page link.
173 */
174 function uwp_get_change_page_url() {
175 return uwp_get_page_url_data('change_page');
176 }
177
178 /**
179 * Returns the page link for reset password page.
180 *
181 * @since 1.0.0
182 * @package userswp
183 *
184 * @return array|bool|mixed Page link.
185 */
186 function uwp_get_reset_page_url() {
187 return uwp_get_page_url_data('reset_page');
188 }
189
190 /**
191 * Returns the page link for account page.
192 *
193 * @since 1.0.0
194 * @package userswp
195 *
196 * @return array|bool|mixed Page link.
197 */
198 function uwp_get_account_page_url() {
199 return uwp_get_page_url_data('account_page');
200 }
201
202 /**
203 * Returns the page link for profile page.
204 *
205 * @since 1.0.0
206 * @package userswp
207 *
208 * @return array|bool|mixed Page link.
209 */
210 function uwp_get_profile_page_url() {
211 return uwp_get_page_url_data('profile_page');
212 }
213
214 /**
215 * Returns the page link for users page.
216 *
217 * @since 1.0.0
218 * @package userswp
219 *
220 * @return array|bool|mixed Page link.
221 */
222 function uwp_get_users_page_url() {
223 return uwp_get_page_url_data('users_page');
224 }
225
226 /**
227 * Returns the page info like page title, slug and link.
228 * If output type is "link", then only the link is returned.
229 *
230 * @since 1.0.0
231 * @package userswp
232 *
233 * @param string $page_type Page type.
234 * @param string $output_type Link or Array?
235 *
236 * @return array|bool|mixed Page info or link.
237 */
238 function uwp_get_page_url_data($page_type, $output_type = 'link') {
239
240 $install_type = uwp_get_installation_type();
241
242 $page_data = array();
243 switch ($install_type) {
244 case "single":
245 $page_data = uwp_get_page_url_page_data($page_data, $page_type);
246 break;
247 case "multi_na_all":
248 $page_data = uwp_get_page_url_page_data($page_data, $page_type);
249 break;
250 case "multi_na_site_id":
251 if (defined('UWP_ROOT_PAGES')) {
252 $blog_id = UWP_ROOT_PAGES;
253 } else {
254 $blog_id = (int) get_network()->site_id;
255 }
256 $current_blog_id = get_current_blog_id();
257 if (!is_int($blog_id)) {
258 $page_data = array();
259 } else {
260 if ($blog_id == $current_blog_id) {
261 $page_data = uwp_get_page_url_page_data($page_data, $page_type);
262 } else {
263 // Switch to the new blog.
264 switch_to_blog( $blog_id );
265 $page_data = uwp_get_page_url_page_data($page_data, $page_type);
266 // Restore original blog.
267 restore_current_blog();
268 }
269 }
270 break;
271 case "multi_na_default":
272 $is_main_site = is_main_site();
273 if ($is_main_site) {
274 $page_data = uwp_get_page_url_page_data($page_data, $page_type);
275 } else {
276 $main_blog_id = (int) get_network()->site_id;
277 // Switch to the new blog.
278 switch_to_blog( $main_blog_id );
279 $page_data = uwp_get_page_url_page_data($page_data, $page_type);
280 // Restore original blog.
281 restore_current_blog();
282 }
283 break;
284 case "multi_not_na":
285 $page_data = uwp_get_page_url_page_data($page_data, $page_type);
286 break;
287 default:
288 $page_data = array();
289
290 }
291
292 if ($output_type == 'link') {
293 if (empty($page_data)) {
294 return false;
295 } else {
296 return $page_data['link'];
297 }
298 } else {
299 return $page_data;
300 }
301 }
302
303 /**
304 * Returns the page info like page title, slug and link.
305 *
306 * @since 1.0.0
307 * @package userswp
308 *
309 * @param string $page_data Page data array.
310 * @param string $page_type Page type.
311 *
312 * @return array Page data array.
313 */
314 function uwp_get_page_url_page_data($page_data, $page_type) {
315 $page_id = uwp_get_page_id($page_type, false);
316 if ($page_id) {
317 $page = get_post($page_id);
318 $page_data = array(
319 'name' => $page->post_title,
320 'slug' => $page->post_name,
321 'link' => get_permalink( $page->ID ),
322 );
323 }
324 return $page_data;
325 }
326
327
328 add_action('init', 'uwp_process_activation_link');
329
330 /**
331 * Handles the activation request coming via email activation link.
332 *
333 * @since 1.0.0
334 * @package userswp
335 *
336 * @return void
337 */
338 function uwp_process_activation_link() {
339 if (isset($_GET['uwp_activate']) && $_GET['uwp_activate'] == 'yes') {
340 $key = strip_tags(esc_sql($_GET['key']));
341 $login = strip_tags(esc_sql($_GET['login']));
342 $login_page = uwp_get_page_id('login_page', false);
343 $result = uwp_check_activation_key($key, $login);
344
345 if (is_wp_error($result)) {
346 if ($login_page) {
347 $redirect_to = add_query_arg(array('uwp_err' => 'act_wrong'), get_permalink($login_page));
348 wp_redirect($redirect_to);
349 exit();
350 }
351 } else {
352 if (!$result) {
353 if ($login_page) {
354 $redirect_to = add_query_arg(array('uwp_err' => 'act_error'), get_permalink($login_page));
355 wp_redirect($redirect_to);
356 exit();
357 }
358 } else {
359 if ($login_page) {
360 $user_data = get_user_by('login', $login);
361 update_user_meta( $user_data->ID, 'uwp_mod', '0' );
362 $redirect_to = add_query_arg(array('uwp_err' => 'act_success'), get_permalink($login_page));
363 do_action('uwp_email_activation_success', $user_data->ID, $key);
364 wp_redirect($redirect_to);
365 exit();
366 }
367 }
368 }
369 }
370 }
371
372 function uwp_current_page_url() {
373 $pageURL = 'http';
374 if (isset($_SERVER['HTTPS']) && !empty($_SERVER['HTTPS']) && (strtolower($_SERVER['HTTPS']) == 'on')) {
375 $pageURL .= "s";
376 }
377 $pageURL .= "://";
378
379 /*
380 * Since we are assigning the URI from the server variables, we first need
381 * to determine if we are running on apache or IIS. If PHP_SELF and REQUEST_URI
382 * are present, we will assume we are running on apache.
383 */
384 if (!empty($_SERVER['PHP_SELF']) && !empty($_SERVER['REQUEST_URI'])) {
385 // To build the entire URI we need to prepend the protocol, and the http host
386 // to the URI string.
387 $pageURL .= $_SERVER['HTTP_HOST'] . $_SERVER['REQUEST_URI'];
388 } else {
389 /*
390 * Since we do not have REQUEST_URI to work with, we will assume we are
391 * running on IIS and will therefore need to work some magic with the SCRIPT_NAME and
392 * QUERY_STRING environment variables.
393 *
394 * IIS uses the SCRIPT_NAME variable instead of a REQUEST_URI variable... thanks, MS
395 */
396 $pageURL .= $_SERVER['HTTP_HOST'] . $_SERVER['SCRIPT_NAME'];
397
398 // If the query string exists append it to the URI string
399 if (isset($_SERVER['QUERY_STRING']) && !empty($_SERVER['QUERY_STRING'])) {
400 $pageURL .= '?' . $_SERVER['QUERY_STRING'];
401 }
402 }
403
404 /**
405 * Filter the current page URL returned by function uwp_current_page_url().
406 *
407 * @since 1.4.1
408 *
409 * @param string $pageURL The URL of the current page.
410 */
411 return apply_filters( 'uwp_current_page_url', $pageURL );
412 }