PluginProbe ʕ •ᴥ•ʔ
Advanced Access Manager – Access Governance for WordPress / 4.7
Advanced Access Manager – Access Governance for WordPress v4.7
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 / Login.php
advanced-access-manager / Application / Shortcode / Strategy Last commit date
Content.php 9 years ago Interface.php 9 years ago Login.php 9 years ago
Login.php
83 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_Login 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 * "label" => Login button label
36 * "callback" => callback function that returns the login button
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 $label = (isset($this->args['label']) ? $this->args['label'] : 'Login');
54
55 if (isset($this->args['callback'])) {
56 $button = call_user_func($this->args['callback'], $this);
57 } else {
58 $url = wp_login_url($redirect);
59
60 $button = '<a href="' . $url . '" ';
61 $button .= 'class="' . $class . '">' . $label . '</a>';
62 }
63
64 return $button;
65 }
66
67 /**
68 *
69 * @return type
70 */
71 public function getArgs() {
72 return $this->args;
73 }
74
75 /**
76 *
77 * @return type
78 */
79 public function getContent() {
80 return $this->content;
81 }
82
83 }