PluginProbe ʕ •ᴥ•ʔ
Advanced Access Manager – Access Governance for WordPress / 5.9
Advanced Access Manager – Access Governance for WordPress v5.9
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 / Strategy / LoginRedirect.php
advanced-access-manager / Application / Shortcode / Strategy Last commit date
Content.php 7 years ago Interface.php 7 years ago Login.php 7 years ago LoginRedirect.php 7 years ago
LoginRedirect.php
92 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
10 /**
11 * AAM shortcode strategy for login button
12 *
13 * @package AAM
14 * @author Vasyl Martyniuk <vasyl@vasyltech.com>
15 */
16 class AAM_Shortcode_Strategy_LoginRedirect implements AAM_Shortcode_Strategy_Interface {
17
18 /**
19 *
20 * @var type
21 */
22 protected $args;
23
24 /**
25 *
26 * @var type
27 */
28 protected $content;
29
30 /**
31 * Initialize shortcode decorator
32 *
33 * Expecting attributes in $args are:
34 * "class" => CSS class for login button
35 * "callback" => callback function that returns the login button
36 * "label" => if stand-alone shortcode then defined text label will be used
37 *
38 * @param type $args
39 * @param type $content
40 */
41 public function __construct($args, $content) {
42 $this->args = $args;
43 $this->content = $content;
44 }
45
46 /**
47 * Process shortcode
48 *
49 */
50 public function run() {
51 $redirect = AAM_Core_Request::server('REQUEST_URI');
52 $class = (isset($this->args['class']) ? $this->args['class'] : '');
53
54 if (isset($this->args['callback'])) {
55 $button = call_user_func($this->args['callback'], $this);
56 } else {
57 $url = add_query_arg(
58 'reason',
59 'access-denied',
60 wp_login_url($redirect)
61 );
62
63 if (empty($this->content)) {
64 $label = (!empty($this->args['label']) ? $this->args['label'] : __('Login to continue', AAM_KEY));
65 } else {
66 $label = $this->content;
67 }
68
69 $button = '<a href="' . $url . '" ';
70 $button .= 'class="' . $class . '">' . $label . '</a>';
71 }
72
73 return $button;
74 }
75
76 /**
77 *
78 * @return type
79 */
80 public function getArgs() {
81 return $this->args;
82 }
83
84 /**
85 *
86 * @return type
87 */
88 public function getContent() {
89 return $this->content;
90 }
91
92 }