1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
|
<?php
if(!class_exists('Ult_Spacing')) { class Ult_Spacing { function __construct() { add_action( 'admin_enqueue_scripts', array( $this, 'ultimate_spacing_param_scripts' ) );
if(defined('WPB_VC_VERSION') && version_compare(WPB_VC_VERSION, 4.8) >= 0) { if(function_exists('vc_add_shortcode_param')) { vc_add_shortcode_param('ultimate_spacing', array($this, 'ultimate_spacing_callback'), UAVC_URL.'admin/vc_extend/js/ultimate-spacing.js'); } } else { if(function_exists('add_shortcode_param')) { add_shortcode_param('ultimate_spacing', array($this, 'ultimate_spacing_callback'), UAVC_URL.'admin/vc_extend/js/ultimate-spacing.js'); } } }
function ultimate_spacing_callback($settings, $value) { $dependency = ''; $positions = $settings['positions']; $mode = $settings['mode'];
$uid = 'ultimate-spacing-'. rand(1000, 9999); if(isset($settings['unit'])) { $unit = $settings['unit']; } else { $unit = ''; }
$html = '<div class="ultimate-spacing" id="'.esc_attr( $uid ).'" data-unit="'.esc_attr( $unit ).'" >';
// Expand / Collapse $html .= '<div class="ult-spacing-expand">'; $html .= ' <span class="ult-tooltip">Expand / Collapse</span>'; $html .= ' <i class="dashicons dashicons-minus"></i>'; $html .= '</div>';
$html .= '<div class="ultimate-four-input-section" >'; foreach($positions as $key => $default_value) { switch ($key) { case 'Top': // add '-width' if mode equals 'spacing' $dashicon = 'dashicons dashicons-arrow-up-alt'; $html .= $this->ultimate_spacing_param_item($dashicon, $mode, $unit, /*$default_value,*/$default_value, $key); break; case 'Right': $dashicon = 'dashicons dashicons-arrow-right-alt'; $html .= $this->ultimate_spacing_param_item($dashicon, $mode, $unit, /*$default_value,*/$default_value, $key); break; case 'Bottom': $dashicon = 'dashicons dashicons-arrow-down-alt'; $html .= $this->ultimate_spacing_param_item($dashicon, $mode, $unit, /*$default_value,*/$default_value, $key); break; case 'Left': $dashicon = 'dashicons dashicons-arrow-left-alt'; $html .= $this->ultimate_spacing_param_item($dashicon, $mode, $unit, /*$default_value,*/$default_value, $key); break; } }
$html .= '<div class="ultimate-spacing-input-block ult-spacing-all " data-status="hide-all"> <span class="ultimate-spacing-icon"><i class="dashicons dashicons-editor-expand"></i></span> <input type="text" class="ultimate-spacing-inputs ultimate-spacing-input" data-unit="'.esc_attr( $unit ).'" data-default="" data-id="'.esc_attr( $mode ).'" placeholder="All"> </div>';
$html .= $this->get_units($unit); $html .= '</div><!-- .ultimate-four-input-section -->';
$html .= ' <input type="hidden" data-unit="'.esc_attr( $unit ).'" name="'.esc_attr( $settings['param_name'] ).'" class="wpb_vc_param_value ultimate-spacing-value '.esc_attr( $settings['param_name'] ).' '.esc_attr( $settings['type'] ).'_field" value="'.esc_attr( $value ).'" '.$dependency.' />'; $html .= '</div>'; return $html; } function ultimate_spacing_param_item($dashicon, $mode, $unit,/* $default_value,*/$default_value, $key) { $html = ' <div class="ultimate-spacing-input-block ult-spacing-single">'; $html .= ' <span class="ultimate-spacing-icon">'; $html .= ' <i class="'.esc_attr($dashicon).'"></i>'; $html .= ' </span>'; $html .= ' <input type="text" class="ultimate-spacing-inputs ultimate-spacing-input" data-unit="'.esc_attr( $unit ).'" data-default="'.esc_attr( $default_value ).'" data-id="'.esc_attr( $mode.'-'.strtolower($key) ).'" placeholder="'.esc_attr( $key ).'" />'; $html .= ' </div>'; return $html; } function get_units($unit) { // set units - px, em, % $html = '<div class="ultimate-unit-section">'; //$html .= ' <label>'.$unit.'</label>'; $html .= ' <select data-placeholder="Select Unit" class="ult-unit-spacing" >'; switch($unit) { case "px": $html .= ' <option value="px" selected>px</option>'; $html .= ' <option value="em">em</option>'; $html .= ' <option value="%">%</option>'; break; case "em": $html .= ' <option value="em" selected>em</option>'; $html .= ' <option value="px">px</option>'; $html .= ' <option value="%">%</option>'; break; case "%": $html .= ' <option value="%" selected>%</option>'; $html .= ' <option value="px">px</option>'; $html .= ' <option value="em">em</option>'; break; } $html .= ' </select>'; $html .= '</div>';
return $html; } function ultimate_spacing_param_scripts($hook) { if($hook == "post.php" || $hook == "post-new.php"){ $bsf_dev_mode = bsf_get_option('dev_mode'); if($bsf_dev_mode === 'enable') { wp_register_style( 'ultimate_spacing_css', UAVC_URL.'admin/vc_extend/css/ultimate_spacing.css'); wp_enqueue_style( 'ultimate_spacing_css'); } } } } } if(class_exists('Ult_Spacing')) { $Ult_Spacing = new Ult_Spacing(); }
|