PluginProbe ʕ •ᴥ•ʔ
Shortcodes and extra features for Phlox theme / 1.0.2
Shortcodes and extra features for Phlox theme v1.0.2
2.17.21 2.17.20 trunk 1.0.0 1.0.1 1.0.2 1.0.3 1.0.6 1.0.9 1.1.0 1.3.0 1.3.1 1.3.10 1.3.14 1.3.2 1.3.3 1.3.6 1.4.0 1.4.1 1.4.2 1.5.0 1.5.2 1.6.0 1.6.2 1.6.4 1.7.0 1.7.2 2.10.0 2.10.1 2.10.3 2.10.5 2.10.7 2.10.8 2.10.9 2.11.0 2.11.1 2.11.2 2.12.0 2.14.0 2.15.0 2.15.2 2.15.4 2.15.5 2.15.6 2.15.7 2.15.8 2.15.9 2.16.0 2.16.1 2.16.2 2.16.3 2.16.4 2.17.0 2.17.1 2.17.12 2.17.13 2.17.14 2.17.15 2.17.16 2.17.2 2.17.3 2.17.4 2.17.5 2.17.6 2.17.8 2.17.9 2.4.12 2.4.13 2.4.14 2.4.16 2.4.18 2.4.19 2.4.9 2.5.0 2.5.1 2.5.10 2.5.11 2.5.12 2.5.13 2.5.14 2.5.15 2.5.16 2.5.17 2.5.19 2.5.2 2.5.20 2.5.3 2.5.7 2.5.8 2.5.9 2.6.0 2.6.1 2.6.10 2.6.12 2.6.13 2.6.14 2.6.15 2.6.16 2.6.17 2.6.19 2.6.2 2.6.20 2.6.4 2.6.5 2.6.7 2.7.0 2.7.1 2.7.10 2.7.11 2.7.12 2.7.13 2.7.14 2.7.2 2.7.3 2.7.4 2.7.5 2.7.6 2.7.7 2.7.8 2.7.9 2.8.0 2.8.1 2.8.2 2.8.3 2.8.4 2.8.5 2.8.6 2.8.7 2.8.9 2.9.0 2.9.12 2.9.14 2.9.15 2.9.16 2.9.17 2.9.18 2.9.19 2.9.2 2.9.20 2.9.21 2.9.22 2.9.3 2.9.4 2.9.5 2.9.6 2.9.7 2.9.8
auxin-elements / includes / elements / code.php
auxin-elements / includes / elements Last commit date
about-widget.php 9 years ago accordion.php 9 years ago attachment-url.php 9 years ago audio.php 9 years ago button.php 9 years ago code.php 9 years ago contact-box.php 9 years ago contact-form.php 9 years ago divider.php 9 years ago dropcap.php 9 years ago gallery.php 9 years ago gmap.php 9 years ago highlight.php 9 years ago image.php 9 years ago instagram-feed.php 9 years ago latest-items.php 9 years ago latest-posts-slider.php 9 years ago quote.php 9 years ago recent-posts-widget.php 9 years ago recent-posts.php 9 years ago sample-element.php 9 years ago search.php 9 years ago socials-list.php 9 years ago tabs.php 9 years ago text.php 9 years ago video.php 9 years ago
code.php
206 lines
1 <?php
2 /**
3 * Code highlighter element
4 *
5 *
6 * @package auxin-elements
7 * @license LICENSE.txt
8 * @author
9 * @link https://bitbucket.org/averta/
10 * @copyright (c) 2010-2016
11 */
12
13 function auxin_get_code_master_array( $master_array ) {
14
15 $master_array['aux_code'] = array(
16 'name' => __('[Phlox] Code', 'auxin-elements' ),
17 'auxin_output_callback' => 'auxin_widget_code_callback',
18 'base' => 'aux_code',
19 'description' => __('It adds a code element.', 'auxin-elements' ),
20 'class' => 'aux-widget-code',
21 'show_settings_on_create' => true,
22 'weight' => 1,
23 'is_widget' => false,
24 'is_shortcode' => true,
25 'is_so' => true,
26 'is_vc' => true,
27 'category' => THEME_NAME,
28 'group' => '',
29 'admin_enqueue_js' => '',
30 'admin_enqueue_css' => '',
31 'front_enqueue_js' => '',
32 'front_enqueue_css' => '',
33 'icon' => 'auxin-element auxin-code',
34 'custom_markup' => '',
35 'js_view' => '',
36 'html_template' => '',
37 'deprecated' => '',
38 'content_element' => '',
39 'as_parent' => '',
40 'as_child' => '',
41 'params' => array(
42 array(
43 'param_name' => 'title',
44 'type' => 'textfield',
45 'std' => '',
46 'value' => '',
47 'holder' => 'textfield',
48 'class' => 'title',
49 'heading' => __('Title','auxin-elements' ),
50 'description' => '',
51 'admin_label' => true,
52 'dependency' => '',
53 'weight' => '',
54 'group' => '' ,
55 'edit_field_class' => ''
56 ),
57 array(
58 'param_name' => 'content',
59 'type' => 'textarea_html',
60 'value' => '',
61 'def_value' => '',
62 'holder' => 'div',
63 'class' => 'content',
64 'heading' => __('Code','auxin-elements' ),
65 'description' => '',
66 'admin_label' => true,
67 'dependency' => '',
68 'weight' => '',
69 'group' => '' ,
70 'edit_field_class' => ''
71 ),
72 array( // @TODO: language option does not work here
73 'param_name' => 'language',
74 'type' => 'dropdown',
75 'def_value' => 'javascript ',
76 'value' => array(
77 'javascript ' => __('javascript' , 'auxin-elements' ) ,
78 'html' => __('html' , 'auxin-elements' ),
79 'xml' => __('xml' , 'auxin-elements' )
80 ),
81 'holder' => 'dropdown',
82 'class' => 'language',
83 'heading' => __('Language','auxin-elements' ),
84 'description' => '',
85 'admin_label' => true,
86 'dependency' => '',
87 'weight' => '',
88 'group' => '' ,
89 'edit_field_class' => ''
90 ),
91 array(
92 'param_name' => 'theme',
93 'type' => 'dropdown',
94 'value' => array(
95 'tomorrow ' => __('tomorrow' , 'auxin-elements' ) ,
96 'dark' => __('Dark' , 'auxin-elements' ),
97 'far' => __('far' , 'auxin-elements' ),
98 'googlecode' => __('googlecode' , 'auxin-elements' ),
99 'github.com' => __('github' , 'auxin-elements' ),
100 'monokai' => __('monokai' , 'auxin-elements' )
101 ),
102 'holder' => 'dropdown',
103 'class' => 'theme',
104 'heading' => __('Theme','auxin-elements' ),
105 'description' => __('Specifies the theme for code element.','auxin-elements' ),
106 'admin_label' => true,
107 'dependency' => '',
108 'weight' => '',
109 'group' => '' ,
110 'edit_field_class' => ''
111 ),
112 array(
113 'param_name' => 'extra_classes',
114 'type' => 'textfield',
115 'value' => '',
116 'def_value' => '',
117 'holder' => 'textfield',
118 'class' => 'extra_classes',
119 'heading' => __('Extra class name','auxin-elements' ),
120 'description' => __('If you wish to style particular content element differently, then use this field to add a class name and then refer to it in your css file.', 'auxin-elements' ),
121 'admin_label' => true,
122 'dependency' => '',
123 'weight' => '',
124 'group' => '' ,
125 'edit_field_class' => ''
126 )
127 )
128 );
129
130 return $master_array;
131 }
132
133 add_filter( 'auxin_master_array_shortcodes', 'auxin_get_code_master_array', 10, 1 );
134
135
136
137
138 /**
139 * Element without loop and column
140 * The front-end output of this element is returned by the following function
141 *
142 * @param array $atts The array containing the parsed values from shortcode, it should be same as defined params above.
143 * @param string $shortcode_content The shorcode content
144 * @return string The output of element markup
145 */
146 function auxin_widget_code_callback( $atts, $shortcode_content = null ){
147
148 // Defining default attributes
149 $default_atts = array(
150 'title' => '', // header title
151 'content' => '', // custom css class names for this element
152 'language' => 'javascript',
153 'theme' => 'tomorrow',
154
155 'extra_classes' => '',
156 'custom_el_id' => '',
157 'base_class' => 'aux-widget-code'
158 );
159
160 $result = auxin_get_widget_scafold( $atts, $default_atts, $shortcode_content );
161 extract( $result['parsed_atts'] );
162
163 ob_start();
164
165 // widget header ------------------------------
166 echo $result['widget_header'];
167 echo $result['widget_title'];
168
169 $themes = array(
170 'default',
171 'dark',
172 'far',
173 'github.com',
174 'googlecode',
175 'idea',
176 'magula',
177 'monokai',
178 'rainbow',
179 'sunburst',
180 'tomorrow-night-bright',
181 'tomorrow-night-eighties',
182 'tomorrow-night',
183 'tomorrow',
184 'vs',
185 'xcode',
186 'zenburn'
187 );
188 if( ! in_array( $theme, $themes ) ){
189 $theme = 'default';
190 }
191 // @TODO: it seems highlight already enqoue in page since it merges with othe scripts
192 // wp_enqueue_script('highlightjs');
193
194 wp_enqueue_style ('highlightjs', THEME_URL . 'css/other/highlightjs/' . $theme . '.css' , NULL, '7.2');
195 //wp_register_script('highlightjs' , THEME_URL . 'js/libs/modules/highlight.pack.js', null, '7.2', TRUE);
196
197 echo '<pre class="aux-widget-code ' . $extra_classes . '">' .
198 '<code class="' . $language . '">' . do_shortcode($content) .
199 '</code></pre>';
200
201 // widget footer ------------------------------
202 echo $result['widget_footer'];
203
204 return ob_get_clean();
205 }
206