PluginProbe ʕ •ᴥ•ʔ
Advanced Access Manager – Access Governance for WordPress / 6.9.2
Advanced Access Manager – Access Governance for WordPress v6.9.2
6.8.4 6.8.5 6.9.0 6.9.1 6.9.10 6.9.11 6.9.12 6.9.13 6.9.14 6.9.15 6.9.16 6.9.17 6.9.18 6.9.19 6.9.2 6.9.20 6.9.21 6.9.22 6.9.23 6.9.24 6.9.25 6.9.26 6.9.27 6.9.28 6.9.29 6.9.3 6.9.30 6.9.31 6.9.32 6.9.33 6.9.34 6.9.35 6.9.36 6.9.37 6.9.38 6.9.39 6.9.4 6.9.41 6.9.42 6.9.43 6.9.44 6.9.45 6.9.46 6.9.47 6.9.48 6.9.49 6.9.5 6.9.51 6.9.6 6.9.7 6.9.8 6.9.9 7.0.0 7.0.0-alpha.6 7.0.0-alpha.7 7.0.0-beta.1 7.0.0-rc1 7.0.0-rc2 7.0.0-rc3 7.0.1 7.0.10 7.0.11 7.0.2 7.0.3 7.0.4 7.0.5 7.0.6 7.0.7 7.0.8 7.0.9 7.1.0 7.1.1 trunk 3.0 4.0 4.0.1 4.1 4.2 4.3 4.4 4.4.1 4.5 4.6 4.6.1 4.6.2 4.7 4.7.1 4.7.2 4.7.5 4.7.6 4.8 4.8.1 4.9 4.9.1 4.9.2 4.9.3 4.9.4 4.9.5 4.9.5.1 4.9.5.2 5.0 5.0.1 5.0.2 5.0.3 5.0.4 5.0.5 5.0.6 5.0.7 5.0.8 5.1 5.1.1 5.10 5.11 5.2 5.2.1 5.2.5 5.2.6 5.2.7 5.3 5.3.1 5.3.2 5.3.3 5.3.4 5.3.5 5.4 5.4.1 5.4.2 5.4.3 5.4.3.1 5.4.3.2 5.5 5.5.1 5.5.2 5.6 5.6.1 5.6.1.1 5.7 5.7.1 5.7.2 5.7.3 5.8 5.8.1 5.8.2 5.8.3 5.9 5.9.1 5.9.1.1 5.9.2 5.9.2.1 5.9.3 5.9.4 5.9.5 5.9.6 5.9.6.1 5.9.6.2 5.9.6.3 5.9.7 5.9.7.1 5.9.7.2 5.9.7.3 5.9.8 5.9.8.1 5.9.9 5.9.9.1 6.0.0 6.0.1 6.0.2 6.0.3 6.0.4 6.0.5 6.1.0 6.1.1 6.2.0 6.2.1 6.2.2 6.3.0 6.3.1 6.3.2 6.3.3 6.4.0 6.4.1 6.4.2 6.4.3 6.5.0 6.5.1 6.5.2 6.5.3 6.5.4 6.6.0 6.6.1 6.6.2 6.6.3 6.6.4 6.7.0 6.7.1 6.7.2 6.7.3 6.7.4 6.7.5 6.7.6 6.7.7 6.7.8 6.7.9 6.8.0 6.8.1 6.8.2 6.8.3
advanced-access-manager / application / Shortcode / Handler / LoginRedirect.php
advanced-access-manager / application / Shortcode / Handler Last commit date
Content.php 3 years ago LoginForm.php 3 years ago LoginRedirect.php 3 years ago
LoginRedirect.php
99 lines
1 <?php
2
3 /**
4 * ======================================================================
5 * LICENSE: This file is subject to the terms and conditions defined in *
6 * file 'license.txt', which is part of this source code package. *
7 * ======================================================================
8 *
9 * @version 6.0.0
10 */
11
12 /**
13 * AAM shortcode strategy for login button
14 *
15 * @package AAM
16 * @version 6.0.0
17 */
18 class AAM_Shortcode_Handler_LoginRedirect
19 implements AAM_Core_Contract_ShortcodeInterface
20 {
21
22 /**
23 * Shortcode arguments
24 *
25 * @var array
26 *
27 * @access protected
28 * @version 6.0.0
29 */
30 protected $args;
31
32 /**
33 * Wrapped by shortcode content
34 *
35 * @var string
36 *
37 * @access protected
38 * @version 6.0.0
39 */
40 protected $content;
41
42 /**
43 * Initialize shortcode decorator
44 *
45 * Expecting attributes in $args are:
46 * "class" => CSS class for login button
47 * "callback" => callback function that returns the login button
48 * "label" => if stand-alone shortcode then defined text label will be used
49 *
50 * @param type $args
51 * @param type $content
52 *
53 * @return void
54 *
55 * @access public
56 * @version 6.0.0
57 */
58 public function __construct($args, $content)
59 {
60 $this->args = $args;
61 $this->content = $content;
62 }
63
64 /**
65 * Process the shortcode
66 *
67 * @return string
68 *
69 * @access public
70 * @version 6.0.0
71 */
72 public function run()
73 {
74 $redirect = AAM_Core_Request::server('REQUEST_URI');
75 $class = (isset($this->args['class']) ? $this->args['class'] : '');
76
77 if (isset($this->args['callback'])) {
78 $button = call_user_func($this->args['callback'], $this);
79 } else {
80 $url = add_query_arg('reason', 'restricted', wp_login_url($redirect));
81
82 if (empty($this->content)) {
83 if (!empty($this->args['label'])) {
84 $label = $this->args['label'];
85 } else {
86 $label = __('Login to continue', AAM_KEY);
87 }
88 } else {
89 $label = $this->content;
90 }
91
92 $button = '<a href="' . $url . '" ';
93 $button .= 'class="' . $class . '">' . $label . '</a>';
94 }
95
96 return $button;
97 }
98
99 }