PluginProbe ʕ •ᴥ•ʔ
Advanced Access Manager – Access Governance for WordPress / 5.2
Advanced Access Manager – Access Governance for WordPress v5.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 / Strategy / Login.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
Login.php
93 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 form
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 * "id" => unique form Id
35 * "user-title" => Logged in user title
36 * "redirect" => Redirect to URL
37 * "callback" => callback function that returns the login button
38 *
39 * @param type $args
40 * @param type $content
41 */
42 public function __construct($args, $content) {
43 $this->args = $args;
44 $this->content = $content;
45 }
46
47 /**
48 * Process shortcode
49 *
50 */
51 public function run() {
52 $this->args['id'] = isset($this->args['id']) ? $this->args['id'] : uniqid();
53
54 if (empty($this->args['user-title'])) {
55 $this->args['user-title'] = __('Howdy, %username%', AAM_KEY);
56 }
57
58 if (empty($this->args['redirect'])) {
59 $this->args['redirect'] = AAM_Core_Request::get('redirect_to');
60 }
61
62 if (isset($this->args['callback'])) {
63 $content = call_user_func($this->args['callback'], $this);
64 } else {
65 ob_start();
66 require AAM_Core_Config::get(
67 'login.shortcode.template',
68 dirname(__FILE__) . '/../../Frontend/phtml/login.phtml'
69 );
70 $content = ob_get_contents();
71 ob_end_clean();
72 }
73
74 return $content;
75 }
76
77 /**
78 *
79 * @return type
80 */
81 public function getArgs() {
82 return $this->args;
83 }
84
85 /**
86 *
87 * @return type
88 */
89 public function getContent() {
90 return $this->content;
91 }
92
93 }