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