PluginProbe
JetFormBuilder — Dynamic Blocks Form Builder / 1.5.0
JetFormBuilder — Dynamic Blocks Form Builder v1.5.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 / shortcodes / manager.php
manager.php
61 lines 1.2 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\Shortcodes;
5
6
7 class Manager {
8
9 private $_types;
10
11 public static $instance = null;
12
13 public static function instance() {
14 if ( is_null( self::$instance ) ) {
15 self::$instance = new self();
16 }
17
18 return self::$instance;
19 }
20
21
22 private function __construct() {
23 $this->register_shortcodes();
24 }
25
26 private function register_shortcodes() {
27 $types = array(
28 new Form_Shortcode()
29 );
30
31 foreach ( $types as $type ) {
32 $this->_types[ $type->get_name() ] = $type;
33 }
34 }
35
36 private function get_shortcode_instance( $type ) {
37 return isset( $this->_types[ $type ] ) ? $this->_types[ $type ] : false;
38 }
39
40 public static function get_shortcode( $type, $arguments ) {
41 $format = '[%1$s %2$s]';
42
43 $type = self::instance()->get_shortcode_instance( $type );
44
45 if ( ! $type ) {
46 return '';
47 }
48
49 return sprintf( $format, $type->get_name(), self::generate_arguments_string( $arguments ) );
50 }
51
52 public static function generate_arguments_string( $arguments ) {
53 $response = array();
54
55 foreach ( $arguments as $name => $value ) {
56 $response[] = "$name=\"$value\"";
57 }
58
59 return implode( ' ', $response );
60 }
61 }