PluginProbe ʕ •ᴥ•ʔ
Shortcodes and extra features for Phlox theme / 2.17.14
Shortcodes and extra features for Phlox theme v2.17.14
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 1 year ago accordion-widget.php 1 year ago accordion.php 1 year ago attachment-url.php 1 year ago audio.php 1 year ago before-after.php 1 year ago button.php 1 year ago code.php 1 year ago contact-box.php 1 year ago contact-form.php 1 year ago custom-list.php 6 months ago divider.php 1 year ago dropcap.php 1 year ago facebook.php 1 year ago flickr.php 1 year ago gallery.php 1 year ago gmap.php 1 year ago highlight.php 1 year ago image.php 1 year ago instagram-feed.php 1 year ago latest-posts-slider.php 1 year ago popular-posts-widget.php 1 year ago products-grid.php 1 year ago quote.php 1 year ago recent-posts-grid-carousel.php 1 year ago recent-posts-land-style.php 1 year ago recent-posts-masonry.php 1 year ago recent-posts-tiles-carousel.php 1 year ago recent-posts-tiles.php 1 year ago recent-posts-timeline.php 1 year ago recent-posts-widget.php 1 year ago recent-products.php 1 year ago related-posts.php 8 years ago sample-element.php 1 year ago search.php 1 year ago socials-list.php 1 year ago staff.php 1 year ago tab-widget.php 1 year ago tabs.php 1 year ago testimonial.php 1 year ago text.php 1 year ago touch-slider.php 1 year ago video.php 1 year ago
code.php
212 lines
1 <?php
2 /**
3 * Code highlighter element
4 *
5 *
6 * @package Auxin
7 * @license LICENSE.txt
8 * @author averta
9 * @link http://phlox.pro/
10 * @copyright (c) 2010-2025 averta
11 */
12
13 function auxin_get_code_master_array( $master_array ) {
14
15 $master_array['aux_code'] = array(
16 'name' => __('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' => true,
24 'is_shortcode' => true,
25 'category' => THEME_NAME,
26 'group' => '',
27 'admin_enqueue_js' => '',
28 'admin_enqueue_css' => '',
29 'front_enqueue_js' => '',
30 'front_enqueue_css' => '',
31 'icon' => 'aux-element aux-pb-icons-code',
32 'custom_markup' => '',
33 'js_view' => '',
34 'html_template' => '',
35 'deprecated' => '',
36 'content_element' => '',
37 'as_parent' => '',
38 'as_child' => '',
39 'params' => array(
40 array(
41 'heading' => __('Title','auxin-elements' ),
42 'description' => __('Code title, leave it empty if you don`t need title.', 'auxin-elements'),
43 'param_name' => 'title',
44 'type' => 'textfield',
45 'std' => '',
46 'value' => '',
47 'holder' => 'textfield',
48 'class' => 'title',
49 'admin_label' => false,
50 'dependency' => '',
51 'weight' => '',
52 'group' => '' ,
53 'edit_field_class' => ''
54 ),
55 array(
56 'heading' => __('Code','auxin-elements' ),
57 'description' => '',
58 'param_name' => 'content',
59 'type' => 'textarea_raw_html',
60 'value' => '',
61 'def_value' => '',
62 'holder' => '',
63 'class' => 'content',
64 'admin_label' => false,
65 'dependency' => '',
66 'weight' => '',
67 'group' => '' ,
68 'edit_field_class' => ''
69 ),
70 array(
71 'heading' => __('Language','auxin-elements' ),
72 'description' => '',
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 'php' => __('PHP' , 'auxin-elements' )
81 ),
82 'holder' => 'textfield',
83 'class' => 'language',
84 'admin_label' => false,
85 'dependency' => '',
86 'weight' => '',
87 'group' => '' ,
88 'edit_field_class' => ''
89 ),
90 array(
91 'heading' => __('Style', 'auxin-elements' ),
92 'description' => __('Specifies the theme for code element.','auxin-elements' ),
93 'param_name' => 'theme',
94 'type' => 'dropdown',
95 'def_value' => 'tomorrow',
96 'value' => array(
97 'default' => __('Default' , 'auxin-elements' ),
98 'androidstudio' => __('AndroidStudio' , 'auxin-elements' ),
99 'atom-one-dark' => __('Atom Dark' , 'auxin-elements' ),
100 'atom-one-light' => __('Atom Light' , 'auxin-elements' ),
101 'github' => __('Github' , 'auxin-elements' ),
102 'googlecode' => __('Google Code' , 'auxin-elements' ),
103 'railscasts' => __('RailsCasts' , 'auxin-elements' ),
104 'solarized-light' => __('Solarized Light' , 'auxin-elements' ),
105 'tomorrow-night' => __('Tomorrow Night' , 'auxin-elements' ),
106 'tomorrow' => __('Tomorrow' , 'auxin-elements' ),
107 'vs' => __('VisualStudio' , 'auxin-elements' ),
108 'zenburn' => __('ZenBurn' , 'auxin-elements' )
109 ),
110 'holder' => '',
111 'class' => 'theme',
112 'admin_label' => true,
113 'dependency' => '',
114 'weight' => '',
115 'group' => '' ,
116 'edit_field_class' => ''
117 ),
118 array(
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 'param_name' => 'extra_classes',
122 'type' => 'textfield',
123 'value' => '',
124 'def_value' => '',
125 'holder' => '',
126 'class' => 'extra_classes',
127 'admin_label' => false,
128 'dependency' => '',
129 'weight' => '',
130 'group' => '' ,
131 'edit_field_class' => ''
132 )
133 )
134 );
135
136 return $master_array;
137 }
138
139 add_filter( 'auxin_master_array_shortcodes', 'auxin_get_code_master_array', 10, 1 );
140
141
142
143
144 /**
145 * Element without loop and column
146 * The front-end output of this element is returned by the following function
147 *
148 * @param array $atts The array containing the parsed values from shortcode, it should be same as defined params above.
149 * @param string $shortcode_content The shorcode content
150 * @return string The output of element markup
151 */
152 function auxin_widget_code_callback( $atts, $shortcode_content = null ){
153
154 // Defining default attributes
155 $default_atts = array(
156 'title' => '', // header title
157 'content' => '', // custom css class names for this element
158 'language' => 'javascript',
159 'theme' => 'tomorrow',
160
161 'extra_classes' => '',
162 'custom_el_id' => '',
163 'base_class' => 'aux-widget-code'
164 );
165
166 $result = auxin_get_widget_scafold( $atts, $default_atts, $shortcode_content );
167 extract( $result['parsed_atts'] );
168
169 ob_start();
170
171 // widget header ------------------------------
172 echo wp_kses_post( $result['widget_header'] );
173 echo wp_kses_post( $result['widget_title'] );
174
175 $themes = array(
176 'androidstudio',
177 'atom-one-dark',
178 'atom-one-light',
179 'default',
180 'github',
181 'googlecode',
182 'railscasts',
183 'solarized-light',
184 'tomorrow-night',
185 'tomorrow',
186 'vs',
187 'zenburn'
188 );
189
190 if( ! in_array( $theme, $themes ) ){
191 $theme = 'default';
192 }
193
194 if ( empty( $content ) ) {
195 $content = auxin_get_gmap_style();
196 } elseif ( base64_decode( $content, true ) === false ) {
197
198 } else {
199 $content = rawurldecode( base64_decode( wp_strip_all_tags( $content ) ) );
200 }
201
202 echo '<div class="hljs-'. esc_attr( $theme ) .'">' .
203 '<pre class="aux-widget-code ' . esc_attr( $extra_classes ) . '">' .
204 '<code class="' . esc_attr( $language ) . '">' . do_shortcode( $content ) .
205 '</code></pre></div>';
206
207 // widget footer ------------------------------
208 echo wp_kses_post( $result['widget_footer'] );
209
210 return ob_get_clean();
211 }
212