PluginProbe
JetFormBuilder — Dynamic Blocks Form Builder / 3.0.0
JetFormBuilder — Dynamic Blocks Form Builder v3.0.0
3.6.5.2 3.6.5.1 3.6.5 3.6.4.2 3.6.4.1 3.6.4 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 All 130 releases
jetformbuilder / includes / classes / macro-constants / constants-manager.php
constants-manager.php
69 lines 1.4 KB
No matching file
Up and down to move Enter to open Esc to close
Raw Download Zip
1 <?php
2
3
4 namespace Jet_Form_Builder\Classes\Macro_Constants;
5
6
7 use Jet_Form_Builder\Classes\Instance_Trait;
8 use Jet_Form_Builder\Classes\Repository\Repository_Pattern_Trait;
9 use Jet_Form_Builder\Exceptions\Repository_Exception;
10
11 /**
12 * @method static Constants_Manager instance()
13 *
14 * Class Constants_Manager
15 * @package Jet_Form_Builder\Classes\Macro_Constants
16 */
17 class Constants_Manager {
18
19 use Instance_Trait;
20 use Repository_Pattern_Trait;
21
22 const PREFIX = 'CT::';
23
24 public function __construct() {
25 $this->rep_install();
26
27 add_filter(
28 'jet-form-builder/custom-macro',
29 array( $this, 'apply_constant_macro' ),
30 10, 2
31 );
32 }
33
34 public function rep_instances(): array {
35 return apply_filters(
36 'jet-form-builder/content-constants',
37 array(
38 new Site_Name_Constant(),
39 )
40 );
41 }
42
43 /**
44 * @param $result
45 * @param $macro
46 *
47 * @return null|string
48 */
49 public function apply_constant_macro( $result, $macro ) {
50 if ( 0 !== strpos( $macro, self::PREFIX ) ) {
51 return $result;
52 }
53
54 $macro = str_replace( self::PREFIX, '', $macro );
55
56 try {
57 /** @var Base_Constant $const */
58 $const = $this->rep_get_item( $macro );
59 } catch ( Repository_Exception $exception ) {
60 return $result;
61 }
62
63 $value = $const->get_value();
64
65 return is_scalar( $value ) ? (string) $value : $result;
66 }
67
68
69 }