PluginProbe ʕ •ᴥ•ʔ
JetFormBuilder — Dynamic Blocks Form Builder / trunk
JetFormBuilder — Dynamic Blocks Form Builder vtrunk
3.6.3.1 3.6.3 3.6.2.2 3.6.2.1 3.6.2 3.6.1.1 3.6.1 3.6.0.1 trunk 1.0.0 1.0.1 1.0.2 1.0.3 1.1.0 1.1.1 1.1.2 1.1.3 1.1.4 1.1.5 1.1.6 1.1.7 1.2.0 1.2.1 1.2.2 1.2.3 1.2.4 1.2.5 1.2.6 1.2.7 1.3.0 1.3.1 1.3.2 1.3.3 1.4.0 1.4.1 1.4.2 1.4.3 1.5.0 1.5.1 1.5.2 1.5.3 1.5.4 1.5.5 2.0.0 2.0.1 2.0.2 2.0.3 2.0.4 2.0.5 2.0.6 2.1.0 2.1.1 2.1.10 2.1.11 2.1.2 2.1.3 2.1.4 2.1.5 2.1.6 2.1.7 2.1.8 2.1.9 3.0.0 3.0.0.1 3.0.0.2 3.0.0.3 3.0.1 3.0.1.1 3.0.2 3.0.3 3.0.4 3.0.5 3.0.6 3.0.7 3.0.8 3.0.9 3.1.0 3.1.0.1 3.1.1 3.1.2 3.1.3 3.1.4 3.1.5 3.1.6 3.1.7 3.1.8 3.1.9 3.2.0 3.2.1 3.2.2 3.2.3 3.3.0 3.3.1 3.3.2 3.3.3 3.3.3.1 3.3.4 3.3.4.1 3.3.4.2 3.4.0 3.4.1 3.4.2 3.4.3 3.4.4 3.4.5 3.4.5.1 3.4.5.2 3.4.6 3.4.7 3.4.7.1 3.5.0 3.5.1 3.5.1.1 3.5.1.2 3.5.2 3.5.2.1 3.5.3 3.5.4 3.5.5 3.5.6 3.5.6.1 3.5.6.2 3.5.6.3 3.6.0
jetformbuilder / includes / classes / macro-constants / constants-manager.php
jetformbuilder / includes / classes / macro-constants Last commit date
base-constant.php 2 years ago constants-manager.php 2 years ago site-name-constant.php 2 years ago site-url-constant.php 2 years ago
constants-manager.php
76 lines
1 <?php
2
3
4 namespace Jet_Form_Builder\Classes\Macro_Constants;
5
6 use Jet_Form_Builder\Classes\Instance_Trait;
7 use JFB_Components\Repository\Repository_Pattern_Trait;
8 use Jet_Form_Builder\Exceptions\Repository_Exception;
9
10 // If this file is called directly, abort.
11 if ( ! defined( 'WPINC' ) ) {
12 die;
13 }
14
15 /**
16 * @method static Constants_Manager instance()
17 *
18 * Class Constants_Manager
19 * @package Jet_Form_Builder\Classes\Macro_Constants
20 */
21 class Constants_Manager {
22
23 use Instance_Trait;
24 use Repository_Pattern_Trait;
25
26 const PREFIX = 'CT::';
27
28 public function __construct() {
29 $this->rep_install();
30
31 add_filter(
32 'jet-form-builder/custom-macro',
33 array( $this, 'apply_constant_macro' ),
34 10,
35 2
36 );
37 }
38
39 public function rep_instances(): array {
40 return apply_filters(
41 'jet-form-builder/content-constants',
42 array(
43 new Site_Name_Constant(),
44 new Site_Url_Constant(),
45 )
46 );
47 }
48
49 /**
50 * @param $result
51 * @param $macro
52 *
53 * @return null|string
54 */
55 public function apply_constant_macro( $result, $macro ) {
56 if ( 0 !== strpos( $macro, self::PREFIX ) ) {
57 return $result;
58 }
59
60 $macro = str_replace( self::PREFIX, '', $macro );
61
62 try {
63 /** @var Base_Constant $const */
64 $const = $this->rep_get_item( $macro );
65 } catch ( Repository_Exception $exception ) {
66 return $result;
67 }
68
69 $value = $const->get_value();
70
71 return is_scalar( $value ) ? (string) $value : $result;
72 }
73
74
75 }
76