PluginProbe ʕ •ᴥ•ʔ
Shortcodes and extra features for Phlox theme / 1.7.0
Shortcodes and extra features for Phlox theme v1.7.0
2.17.22 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 / audio.php
auxin-elements / includes / elements Last commit date
about-widget.php 8 years ago accordion-api.php 9 years ago accordion.php 8 years ago attachment-url.php 9 years ago audio.php 8 years ago before-after.php 8 years ago button.php 8 years ago code.php 8 years ago contact-box.php 8 years ago contact-form.php 8 years ago divider.php 8 years ago dropcap.php 8 years ago facebook.php 8 years ago flickr.php 8 years ago gallery.php 8 years ago gmap.php 8 years ago highlight.php 8 years ago image.php 8 years ago instagram-feed.php 8 years ago latest-items.php 8 years ago latest-posts-slider.php 8 years ago popular-posts-widget.php 8 years ago quote.php 8 years ago recent-posts-grid-carousel.php 8 years ago recent-posts-land-style.php 8 years ago recent-posts-masonry.php 8 years ago recent-posts-tiles.php 8 years ago recent-posts-timeline.php 8 years ago recent-posts-widget.php 8 years ago recent-posts.php 9 years ago related-posts.php 9 years ago sample-element.php 9 years ago search.php 8 years ago slider.php 9 years ago socials-list.php 8 years ago staff.php 8 years ago tabs-api.php 9 years ago tabs.php 8 years ago testimonial.php 8 years ago testomonial.php 8 years ago text.php 8 years ago touch-slider.php 8 years ago video.php 8 years ago
audio.php
196 lines
1 <?php
2 /**
3 * Audio player element
4 *
5 *
6 * @package Auxin
7 * @license LICENSE.txt
8 * @author
9 * @link http://averta.net/phlox/
10 * @copyright (c) 2010-2017
11 */
12 function auxin_get_audio_master_array( $master_array ) {
13
14 $master_array['aux_audio'] = array(
15 'name' => __("Audio", 'auxin-elements' ),
16 'auxin_output_callback' => 'auxin_widget_audio_callback',
17 'base' => 'aux_audio',
18 'description' => __('Audio player', 'auxin-elements' ),
19 'description' => __('It adds an audio player element.', 'auxin-elements'),
20 'class' => 'aux-widget-audio',
21 'show_settings_on_create' => true,
22 'weight' => 1,
23 'is_widget' => true,
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' => 'aux-element aux-pb-icons-sound-cloud',
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 'heading' => __('Title','auxin-elements' ),
44 'description' => __('Audio title, leave it empty if you don`t need title.', 'auxin-elements'),
45 'param_name' => 'title',
46 'type' => 'textfield',
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' => __('Audio file(MP3 or ogg)','auxin-elements' ),
58 'description' => '',
59 'param_name' => 'src',
60 'type' => 'aux_select_audio',
61 'value' => '',
62 'holder' => '',
63 'class' => 'audio_src',
64 'admin_label' => false,
65 'dependency' => '',
66 'weight' => '',
67 'group' => '' ,
68 'edit_field_class' => ''
69 ),
70 array(
71 'heading' => __('Repeat the audio','auxin-elements' ),
72 'description' => '',
73 'param_name' => 'loop',
74 'type' => 'aux_switch',
75 'value' => '1',
76 'class' => '',
77 'admin_label' => false,
78 'dependency' => '',
79 'weight' => '',
80 'group' => '',
81 'edit_field_class' => ''
82 ),
83 array(
84 'heading' => __('AutoPlay','auxin-elements' ),
85 'description' => __('Play the audio file automatically.','auxin-elements' ),
86 'param_name' => 'autoplay',
87 'type' => 'aux_switch',
88 'value' => '0',
89 'class' => '',
90 'admin_label' => false,
91 'dependency' => '',
92 'weight' => '',
93 'group' => '',
94 'edit_field_class' => ''
95 ),
96 array(
97 'heading' => __('Skin','auxin-elements' ),
98 'description' => __('The skin of audio element.','auxin-elements' ),
99 'param_name' => 'skin',
100 'type' => 'aux_visual_select',
101 'def_value' => 'dark',
102 'choices' => array(
103 'dark' => array(
104 'label' => __('Dark', 'auxin-elements'),
105 'image' => AUXIN_URL . 'images/visual-select/audio-player-dark.svg'
106 ),
107 'light' => array(
108 'label' => __('Light', 'auxin-elements'),
109 'image' => AUXIN_URL . 'images/visual-select/audio-player-light.svg'
110 )
111 ),
112 'holder' => '',
113 'class' => 'skin',
114 'admin_label' => true,
115 'dependency' => '',
116 'weight' => '',
117 'group' => __('Appearance', 'auxin-elements'),
118 'edit_field_class' => ''
119 ),
120 array(
121 'heading' => __('Extra class name','auxin-elements' ),
122 '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' ),
123 'param_name' => 'extra_classes',
124 'type' => 'textfield',
125 'value' => '',
126 'def_value' => '',
127 'holder' => '',
128 'class' => 'extra_classes',
129 'admin_label' => false,
130 'dependency' => '',
131 'weight' => '',
132 'group' => __('Appearance', 'auxin-elements'),
133 'edit_field_class' => ''
134 )
135 )
136 );
137
138 return $master_array;
139 }
140
141 add_filter( 'auxin_master_array_shortcodes', 'auxin_get_audio_master_array', 10, 1 );
142
143
144 /**
145 * This is the widget callback in fact the front end out put of this widget comes from this function
146 */
147 function auxin_widget_audio_callback( $atts, $shortcode_content = null ){
148
149 // Defining default attributes
150 $default_atts = array(
151 'title' => '', // section title
152 'src' => '',
153 'loop' => '1',
154 'autoplay' => '0',
155 'preload' => '',
156 'skin' => '', // dark or light
157
158 'extra_classes' => '', // custom css class names for this element
159 'custom_el_id' => '', // custom id attribute for this element
160 'base_class' => 'aux-widget-audio' // base class name for container
161 );
162
163 $result = auxin_get_widget_scafold( $atts, $default_atts, $shortcode_content );
164 extract( $result['parsed_atts'] );
165
166 ob_start();
167
168 // widget header ------------------------------
169 echo $result['widget_header'];
170 echo $result['widget_title'];
171
172 if( empty( $skin ) ){
173 $skin = 'dark';
174 }
175
176 $class = 'wp-audio-shortcode aux-player-' . esc_attr( $skin );
177
178 // convert attachment id to url
179 if( is_numeric( $src ) ){
180 $src = wp_get_attachment_url( $src );
181 }
182
183 if( $provider = auxin_extract_embed_provider_name( $src ) ){
184 $class .= ' aux-provider-'. $provider;
185 }
186
187 $autoplay = auxin_is_true( $autoplay ) ? "1": "0";
188 $loop = auxin_is_true( $loop ) ? "1": "0";
189 echo do_shortcode( sprintf( '[audio src="%s" loop="%s" autoplay="%s" preload="%s" class="%s"]', $src, $loop, $autoplay, $preload, $class ) );
190
191 // widget footer ------------------------------
192 echo $result['widget_footer'];
193
194 return ob_get_clean();
195 }
196