PluginProbe ʕ •ᴥ•ʔ
Advanced Access Manager – Access Governance for WordPress / trunk
Advanced Access Manager – Access Governance for WordPress vtrunk
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 / Service / Shortcode / Factory.php
advanced-access-manager / application / Service / Shortcode Last commit date
Handler 1 year ago Factory.php 3 months ago
Factory.php
82 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 * Shortcode factory for the [aam] shortcode
12 *
13 * @package AAM
14 * @version 7.1.0
15 */
16 class AAM_Service_Shortcode_Factory
17 {
18
19 /**
20 * Shortcode handler based on the provided attributes
21 *
22 * @var object
23 * @access protected
24 *
25 * @version 7.0.0
26 */
27 protected $handler = null;
28
29 /**
30 * Initialize shortcode factory
31 *
32 * @param array $args
33 * @param string $content
34 *
35 * @return void
36 * @access public
37 *
38 * @version 7.1.0
39 */
40 public function __construct($args, $content)
41 {
42 $cnt = strtolower(!empty($args['context']) ? $args['context'] : 'content');
43
44 if ($cnt === 'content') {
45 $this->handler = new AAM_Service_Shortcode_Handler_Content(
46 $args, $content
47 );
48 } elseif ($cnt === 'loginredirect') {
49 $this->handler = new AAM_Service_Shortcode_Handler_LoginRedirect(
50 $args, $content
51 );
52 } elseif ($cnt === 'loginform') {
53 $this->handler = new AAM_Service_Shortcode_Handler_LoginForm($args);
54 } else {
55 $this->handler = apply_filters(
56 'aam_shortcode_filter', null, $cnt, $args, $content
57 );
58 }
59 }
60
61 /**
62 * Process the short-code
63 *
64 * @return string
65 * @access public
66 *
67 * @version 7.1.0
68 */
69 public function process()
70 {
71 $handler = $this->handler;
72
73 if (is_object($handler) && method_exists($handler, 'run')) {
74 $result = $handler->run();
75 } elseif (is_string($this->handler)) {
76 $result = $this->handler;
77 }
78
79 return $result;
80 }
81
82 }