PluginProbe ʕ •ᴥ•ʔ
Advanced Access Manager – Access Governance for WordPress / 5.1
Advanced Access Manager – Access Governance for WordPress v5.1
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 8 years ago Interface.php 8 years ago Login.php 8 years ago LoginRedirect.php 8 years ago
LoginRedirect.php
85 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 *
37 * @param type $args
38 * @param type $content
39 */
40 public function __construct($args, $content) {
41 $this->args = $args;
42 $this->content = $content;
43 }
44
45 /**
46 * Process shortcode
47 *
48 */
49 public function run() {
50 $redirect = AAM_Core_Request::server('REQUEST_URI');
51 $class = (isset($this->args['class']) ? $this->args['class'] : '');
52
53 if (isset($this->args['callback'])) {
54 $button = call_user_func($this->args['callback'], $this);
55 } else {
56 $url = add_query_arg(
57 'reason',
58 'access-denied',
59 wp_login_url($redirect)
60 );
61
62 $button = '<a href="' . $url . '" ';
63 $button .= 'class="' . $class . '">' . $this->content . '</a>';
64 }
65
66 return $button;
67 }
68
69 /**
70 *
71 * @return type
72 */
73 public function getArgs() {
74 return $this->args;
75 }
76
77 /**
78 *
79 * @return type
80 */
81 public function getContent() {
82 return $this->content;
83 }
84
85 }