Version Description
- After having upgraded Soundy to 3.0, please clear the cache of Soundy's admin pages in your browser. The reason is that a few CSS and Javascript files have been modified and these files are typically cached by browsers.
Download this release
Release Info
Developer | bducouedic |
Plugin | Soundy Background Music |
Version | 3.0 |
Comparing to | |
See all releases |
Code changes from version 2.7 to 3.0
- css/style-back-end.css +47 -0
- js/back-end.js +135 -0
- js/front-end.js +124 -1
- readme.txt +8 -1
- soundy.php +306 -8
- templates/front-end.php +57 -0
- templates/settings.php +13 -12
css/style-back-end.css
CHANGED
@@ -151,6 +151,53 @@ table.war_soundy_no_border td
|
|
151 |
cursor: pointer;
|
152 |
}
|
153 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
154 |
.war_comment
|
155 |
{
|
156 |
color: #2eaecc !important;
|
151 |
cursor: pointer;
|
152 |
}
|
153 |
|
154 |
+
.war_soundy_responsive_list li
|
155 |
+
{
|
156 |
+
margin: 0 3px 3px 3px;
|
157 |
+
padding: 0.4em;
|
158 |
+
padding-left: 1em;
|
159 |
+
cursor: ns-resize;
|
160 |
+
border: 1px solid #aaaaaa;
|
161 |
+
border-radius: 3px;
|
162 |
+
}
|
163 |
+
|
164 |
+
.war_soundy_responsive_list_field
|
165 |
+
{
|
166 |
+
display: inline-block;
|
167 |
+
width: 130px;
|
168 |
+
min-width: 130px;
|
169 |
+
}
|
170 |
+
|
171 |
+
.war_soundy_responsive_comment
|
172 |
+
{
|
173 |
+
display: inline-block;
|
174 |
+
width: 215px;
|
175 |
+
min-width: 215px;
|
176 |
+
border: 0px red solid;
|
177 |
+
}
|
178 |
+
|
179 |
+
.war_soundy_responsive_list_row_header
|
180 |
+
{
|
181 |
+
background: #cccccc !important;
|
182 |
+
cursor: auto !important;
|
183 |
+
font-weight: bold !important;
|
184 |
+
}
|
185 |
+
|
186 |
+
.war_soundy_responsive_list_row_footer
|
187 |
+
{
|
188 |
+
background: #cccccc !important;
|
189 |
+
cursor: auto !important;
|
190 |
+
font-weight: normal !important;
|
191 |
+
}
|
192 |
+
|
193 |
+
.war_soundy_responsive_sortable_placeholder
|
194 |
+
{
|
195 |
+
height: 1.5em;
|
196 |
+
line-height: 1.2em;
|
197 |
+
background: #ffffcc;
|
198 |
+
border: 1px solid #ffffcc;
|
199 |
+
}
|
200 |
+
|
201 |
.war_comment
|
202 |
{
|
203 |
color: #2eaecc !important;
|
js/back-end.js
CHANGED
@@ -78,6 +78,7 @@ war_SoundyAdmin.prototype.initSettingsTabs = function( args )
|
|
78 |
_this.initImgPreviewInContextDefault();
|
79 |
_this.initPlayPausePosition();
|
80 |
_this.initLengthUnits();
|
|
|
81 |
_this.initImgPreviewInContextPosition();
|
82 |
_this.initSubmit();
|
83 |
}
|
@@ -547,6 +548,140 @@ war_SoundyAdmin.prototype.initLengthUnits = function()
|
|
547 |
} );
|
548 |
}
|
549 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
550 |
war_SoundyAdmin.prototype.initPlayPausePosition = function()
|
551 |
{
|
552 |
var _this = this;
|
78 |
_this.initImgPreviewInContextDefault();
|
79 |
_this.initPlayPausePosition();
|
80 |
_this.initLengthUnits();
|
81 |
+
_this.initResponsiveTab();
|
82 |
_this.initImgPreviewInContextPosition();
|
83 |
_this.initSubmit();
|
84 |
}
|
548 |
} );
|
549 |
}
|
550 |
|
551 |
+
war_SoundyAdmin.prototype.initResponsiveTab = function()
|
552 |
+
{
|
553 |
+
var _this = this;
|
554 |
+
|
555 |
+
var jquery_radio_responsive_mode = jQuery( 'input:radio[name=war_soundy_responsive_mode]' );
|
556 |
+
var jquery_responsive_table_row = jQuery( '#war_soundy_responsive_list').parent().parent();
|
557 |
+
var jquery_responsive_scale_row = jQuery( '#war_soundy_responsive_scale_reference_window_width').parent().parent();
|
558 |
+
|
559 |
+
var jquery_tr = jQuery( '#war_soundy_responsive_mode_table' ).parent().parent();
|
560 |
+
var th = jquery_tr.children( 'th' );
|
561 |
+
th.css( 'width', '10%' );
|
562 |
+
|
563 |
+
jquery_radio_responsive_mode.change
|
564 |
+
(
|
565 |
+
function()
|
566 |
+
{
|
567 |
+
var mode = jQuery( 'input:radio[name=war_soundy_responsive_mode]:checked' ).val();
|
568 |
+
|
569 |
+
if( mode == 'none' )
|
570 |
+
{
|
571 |
+
jquery_responsive_table_row.hide();
|
572 |
+
jquery_responsive_scale_row.hide();
|
573 |
+
}
|
574 |
+
else if( mode == 'table' )
|
575 |
+
{
|
576 |
+
jquery_responsive_table_row.show();
|
577 |
+
jquery_responsive_scale_row.hide();
|
578 |
+
}
|
579 |
+
else if( mode == 'scale' )
|
580 |
+
{
|
581 |
+
jquery_responsive_table_row.hide();
|
582 |
+
jquery_responsive_scale_row.show();
|
583 |
+
}
|
584 |
+
}
|
585 |
+
);
|
586 |
+
|
587 |
+
jquery_radio_responsive_mode.change();
|
588 |
+
|
589 |
+
var jquery_responsive_list = jQuery( '#war_soundy_responsive_list' );
|
590 |
+
jquery_responsive_list.sortable(
|
591 |
+
{
|
592 |
+
axis: 'y',
|
593 |
+
opacity: 1,
|
594 |
+
placeholder: 'war_soundy_responsive_sortable_placeholder'
|
595 |
+
} );
|
596 |
+
// jquery_responsive_list.disableSelection();
|
597 |
+
|
598 |
+
jQuery( '.war_soundy_responsive_input_field_integer' ).change
|
599 |
+
(
|
600 |
+
function()
|
601 |
+
{
|
602 |
+
this.value = this.value.trim();
|
603 |
+
if( /[^0-9]/.test( this.value ) && this.value != '' )
|
604 |
+
{
|
605 |
+
jQuery( this ).css( 'background-color', '#ffbbbb' );
|
606 |
+
jQuery( this ).focus();
|
607 |
+
var pos = jQuery( this ).offset();
|
608 |
+
jQuery( 'body' ).append( '<div id="war_soundy_error_temp">Error !</div>' );
|
609 |
+
_this.jquery_error_responsive_integer = jQuery( '#war_soundy_error_temp' );
|
610 |
+
_this.jquery_error_responsive_integer.css( 'position', 'absolute' );
|
611 |
+
_this.jquery_error_responsive_integer.css( 'top', pos.top + 4 );
|
612 |
+
_this.jquery_error_responsive_integer.css( 'left', pos.left - 40 );
|
613 |
+
_this.jquery_error_responsive_integer.css( 'color', 'red' );
|
614 |
+
}
|
615 |
+
else
|
616 |
+
{
|
617 |
+
jQuery( this ).css( 'background-color', '' );
|
618 |
+
if( _this.jquery_error_responsive_integer != undefined )
|
619 |
+
{
|
620 |
+
_this.jquery_error_responsive_integer.remove();
|
621 |
+
}
|
622 |
+
}
|
623 |
+
}
|
624 |
+
);
|
625 |
+
|
626 |
+
jQuery( '#war_soundy_responsive_scale_button_current_window_width' ).click
|
627 |
+
(
|
628 |
+
function()
|
629 |
+
{
|
630 |
+
var window_width = jQuery( window ).width();
|
631 |
+
var jquery_width = jQuery( '#war_soundy_responsive_scale_reference_window_width' );
|
632 |
+
jquery_width.val( window_width );
|
633 |
+
jquery_width.css( 'background-color', '#1e8cbe' );
|
634 |
+
jquery_width.animate(
|
635 |
+
{
|
636 |
+
backgroundColor: ''
|
637 |
+
}, 1000 );
|
638 |
+
}
|
639 |
+
);
|
640 |
+
|
641 |
+
jQuery( '#war_soundy_responsive_preview_window_width' ).change
|
642 |
+
(
|
643 |
+
function()
|
644 |
+
{
|
645 |
+
if( this.value > screen.width )
|
646 |
+
{
|
647 |
+
jQuery( this ).css( 'background-color', '#ffbbbb' );
|
648 |
+
jQuery( this ).focus();
|
649 |
+
var pos = jQuery( this ).offset();
|
650 |
+
jQuery( 'body' ).append( '<div id="war_soundy_responsive_error_temp_preview">' +
|
651 |
+
'Error: Preview Window Width cannot be larger than current screen width (' + screen.width + ' px).</div>' );
|
652 |
+
_this.jquery_error_responsive_preview = jQuery( '#war_soundy_responsive_error_temp_preview' );
|
653 |
+
_this.jquery_error_responsive_preview.css( 'position', 'absolute' );
|
654 |
+
_this.jquery_error_responsive_preview.css( 'top', pos.top + 4 );
|
655 |
+
_this.jquery_error_responsive_preview.css( 'left', pos.left + 110 );
|
656 |
+
_this.jquery_error_responsive_preview.css( 'color', 'red' );
|
657 |
+
}
|
658 |
+
else
|
659 |
+
{
|
660 |
+
jQuery( this ).css( 'background-color', '' );
|
661 |
+
if( _this.jquery_error_responsive_preview != undefined )
|
662 |
+
{
|
663 |
+
_this.jquery_error_responsive_preview.remove();
|
664 |
+
}
|
665 |
+
}
|
666 |
+
}
|
667 |
+
);
|
668 |
+
|
669 |
+
jQuery( '#war_soundy_responsive_button_preview' ).click
|
670 |
+
(
|
671 |
+
function()
|
672 |
+
{
|
673 |
+
var window_width = jQuery( '#war_soundy_responsive_preview_window_width' ).val();
|
674 |
+
var window_left = Math.round( screen.width / 2 - window_width / 2 );
|
675 |
+
var window_top = Math.round( screen.height / 2 - window_width / 2 );
|
676 |
+
window_top = ( window_top < 0 ) ? 0 : window_top;
|
677 |
+
var page_url = jQuery( '#war_soundy_responsive_preview_url' ).val();
|
678 |
+
if( _this.window_responsive_preview != undefined ) _this.window_responsive_preview.close();
|
679 |
+
_this.window_responsive_preview = window.open( page_url, 'war_soundy_responsive_preview',
|
680 |
+
'width=' + window_width + ',height=' + window_width + ',left=' + window_left + ',top=' + window_top );
|
681 |
+
}
|
682 |
+
);
|
683 |
+
}
|
684 |
+
|
685 |
war_SoundyAdmin.prototype.initPlayPausePosition = function()
|
686 |
{
|
687 |
var _this = this;
|
js/front-end.js
CHANGED
@@ -217,7 +217,7 @@ war_SoundyFrontEnd.prototype.initPPButton = function()
|
|
217 |
} );
|
218 |
|
219 |
_this.audio_player.bind( 'play' , function()
|
220 |
-
|
221 |
if( _this.hovering )
|
222 |
{
|
223 |
_this.audio_control.attr( 'src', _this.button_url_pause_hover );
|
@@ -242,4 +242,127 @@ war_SoundyFrontEnd.prototype.initPPButton = function()
|
|
242 |
}
|
243 |
}
|
244 |
}
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
245 |
}
|
217 |
} );
|
218 |
|
219 |
_this.audio_player.bind( 'play' , function()
|
220 |
+
{
|
221 |
if( _this.hovering )
|
222 |
{
|
223 |
_this.audio_control.attr( 'src', _this.button_url_pause_hover );
|
242 |
}
|
243 |
}
|
244 |
}
|
245 |
+
|
246 |
+
if( war_soundy_responsive_mode != 'none' )
|
247 |
+
{
|
248 |
+
var window_width = jQuery( window ).width();
|
249 |
+
|
250 |
+
switch( war_soundy_button_corner )
|
251 |
+
{
|
252 |
+
case 'upper_right':
|
253 |
+
default:
|
254 |
+
var prop_x = 'right';
|
255 |
+
var prop_y = 'top';
|
256 |
+
break;
|
257 |
+
case 'upper_left':
|
258 |
+
var prop_x = 'left';
|
259 |
+
var prop_y = 'top';
|
260 |
+
break;
|
261 |
+
case 'bottom_right':
|
262 |
+
var prop_x = 'right';
|
263 |
+
var prop_y = 'bottom';
|
264 |
+
break;
|
265 |
+
case 'bottom_left':
|
266 |
+
var prop_x = 'left';
|
267 |
+
var prop_y = 'bottom';
|
268 |
+
break;
|
269 |
+
}
|
270 |
+
|
271 |
+
if( war_soundy_responsive_mode == 'table' )
|
272 |
+
{
|
273 |
+
for( var index in war_soundy_responsive_table_rows )
|
274 |
+
{
|
275 |
+
var row = war_soundy_responsive_table_rows[ index ];
|
276 |
+
if( row.button_size != -1 )
|
277 |
+
{
|
278 |
+
if( row.window_width_min != -1 && row.window_width_max != -1 )
|
279 |
+
{
|
280 |
+
if( row.window_width_min <= window_width && window_width <= row.window_width_max )
|
281 |
+
{
|
282 |
+
jQuery( '.war_soundy_audio_control' ).css( 'width', row.button_size );
|
283 |
+
}
|
284 |
+
}
|
285 |
+
else if( row.window_width_min != -1 )
|
286 |
+
{
|
287 |
+
if( row.window_width_min <= window_width )
|
288 |
+
{
|
289 |
+
jQuery( '.war_soundy_audio_control' ).css( 'width', row.button_size );
|
290 |
+
}
|
291 |
+
}
|
292 |
+
else if( row.window_width_max != -1 )
|
293 |
+
{
|
294 |
+
if( window_width <= row.window_width_max )
|
295 |
+
{
|
296 |
+
jQuery( '.war_soundy_audio_control' ).css( 'width', row.button_size );
|
297 |
+
}
|
298 |
+
}
|
299 |
+
}
|
300 |
+
}
|
301 |
+
|
302 |
+
if( jQuery( '.war_soundy_audio_control.war_soundy_pp_corner' ).length )
|
303 |
+
{
|
304 |
+
for( var index in war_soundy_responsive_table_rows )
|
305 |
+
{
|
306 |
+
var row = war_soundy_responsive_table_rows[ index ];
|
307 |
+
if( row.offset_x != -1 || row.offset_y != -1 )
|
308 |
+
{
|
309 |
+
if( row.window_width_min != -1 && row.window_width_max != -1 )
|
310 |
+
{
|
311 |
+
if( row.window_width_min <= window_width && window_width <= row.window_width_max )
|
312 |
+
{
|
313 |
+
if( row.offset_x != -1 ) jQuery( '.war_soundy_audio_control.war_soundy_pp_corner' ).css( prop_x, row.offset_x );
|
314 |
+
if( row.offset_y != -1 ) jQuery( '.war_soundy_audio_control.war_soundy_pp_corner' ).css( prop_y, row.offset_y );
|
315 |
+
}
|
316 |
+
}
|
317 |
+
else if( row.window_width_min != -1 )
|
318 |
+
{
|
319 |
+
if( row.window_width_min <= window_width )
|
320 |
+
{
|
321 |
+
if( row.offset_x != -1 ) jQuery( '.war_soundy_audio_control.war_soundy_pp_corner' ).css( prop_x, row.offset_x );
|
322 |
+
if( row.offset_y != -1 ) jQuery( '.war_soundy_audio_control.war_soundy_pp_corner' ).css( prop_y, row.offset_y );
|
323 |
+
}
|
324 |
+
}
|
325 |
+
else if( row.window_width_max != -1 )
|
326 |
+
{
|
327 |
+
if( window_width <= row.window_width_max )
|
328 |
+
{
|
329 |
+
if( row.offset_x != -1 ) jQuery( '.war_soundy_audio_control.war_soundy_pp_corner' ).css( prop_x, row.offset_x );
|
330 |
+
if( row.offset_y != -1 ) jQuery( '.war_soundy_audio_control.war_soundy_pp_corner' ).css( prop_y, row.offset_y );
|
331 |
+
}
|
332 |
+
}
|
333 |
+
}
|
334 |
+
}
|
335 |
+
}
|
336 |
+
}
|
337 |
+
else // if( war_soundy_responsive_mode == 'scale' )
|
338 |
+
{
|
339 |
+
var scale_factor = ( window_width * 0.7 / war_soundy_responsive_reference_window_width ) + 0.3;
|
340 |
+
|
341 |
+
jQuery( '.war_soundy_audio_control' ).load
|
342 |
+
(
|
343 |
+
function()
|
344 |
+
{
|
345 |
+
var button_size = jQuery( this ).width();
|
346 |
+
var responsive_button_size = Math.round( button_size * scale_factor );
|
347 |
+
jQuery( this ).css( 'width', responsive_button_size );
|
348 |
+
|
349 |
+
var jquery_corner_button = jQuery( '.war_soundy_audio_control.war_soundy_pp_corner' );
|
350 |
+
if( jquery_corner_button.length )
|
351 |
+
{
|
352 |
+
var offset_x = jquery_corner_button.css( prop_x );
|
353 |
+
offset_x = offset_x.replace( 'px', '' );
|
354 |
+
var offset_y = jquery_corner_button.css( prop_y );
|
355 |
+
offset_y = offset_y.replace( 'px', '' );
|
356 |
+
var responsive_offset_x = Math.round( offset_x * scale_factor );
|
357 |
+
var responsive_offset_y = Math.round( offset_y * scale_factor );
|
358 |
+
|
359 |
+
jquery_corner_button.css( prop_x, responsive_offset_x );
|
360 |
+
jquery_corner_button.css( prop_y, responsive_offset_y );
|
361 |
+
}
|
362 |
+
|
363 |
+
jQuery( '.war_soundy_audio_control' ).unbind( 'load' );
|
364 |
+
}
|
365 |
+
);
|
366 |
+
}
|
367 |
+
}
|
368 |
}
|
readme.txt
CHANGED
@@ -3,7 +3,7 @@ Contributors: bducouedic
|
|
3 |
Tags: audio, sound, music, background, soundtrack, background sound, background audio, background music, posts, pages
|
4 |
Requires at least: 3.6
|
5 |
Tested up to: 4.1
|
6 |
-
Stable tag:
|
7 |
License: GPL2
|
8 |
License URI: http://www.gnu.org/licenses/gpl-2.0.html
|
9 |
Donate link: http://webartisan.ch/en/products/soundy-background-music/free-wordpress-plugin/#wa_donate
|
@@ -38,6 +38,7 @@ A play and pause button image can be uploaded by the administrator to replace th
|
|
38 |
* Default Play/Pause button images can be overriden by the site administrator. He can upload these images or just specify their URLs.
|
39 |
* Full Control for the site administrator over Play/Pause button positioning.
|
40 |
* Play/Pause Button Preview in the context of any page or post.
|
|
|
41 |
* Audio Volume Control for site administrator as well as page/post authors.
|
42 |
* Auto Play Option.
|
43 |
* Audio Loop Option.
|
@@ -167,6 +168,9 @@ This happens when the PHP parser version is too old. Soundy needs PHP 5.3 or hig
|
|
167 |
|
168 |
= Changelog =
|
169 |
|
|
|
|
|
|
|
170 |
= 2.7 - December 20th, 2014 =
|
171 |
* Fixed bug on the front-end appearing in themes using Ajax to reload only the content part of the pages when the visitor navigates on the website.
|
172 |
|
@@ -214,6 +218,9 @@ This happens when the PHP parser version is too old. Soundy needs PHP 5.3 or hig
|
|
214 |
|
215 |
== Upgrade Notice ==
|
216 |
|
|
|
|
|
|
|
217 |
= 2.4 =
|
218 |
* **IMPORTANT**: After having upgraded Soundy Background Music to 2.4, please clear the cache of Soundy's admin pages in your browser as well as the cache of all front pages using the plugin. The reason is that a few CSS and Javascript files have been modified and these files are typically cached by browsers.
|
219 |
* [**Soundy Audio Playlist Plugin**](http://wordpress.org/plugins/soundy-audio-playlist/) is now available.
|
3 |
Tags: audio, sound, music, background, soundtrack, background sound, background audio, background music, posts, pages
|
4 |
Requires at least: 3.6
|
5 |
Tested up to: 4.1
|
6 |
+
Stable tag: 3.0
|
7 |
License: GPL2
|
8 |
License URI: http://www.gnu.org/licenses/gpl-2.0.html
|
9 |
Donate link: http://webartisan.ch/en/products/soundy-background-music/free-wordpress-plugin/#wa_donate
|
38 |
* Default Play/Pause button images can be overriden by the site administrator. He can upload these images or just specify their URLs.
|
39 |
* Full Control for the site administrator over Play/Pause button positioning.
|
40 |
* Play/Pause Button Preview in the context of any page or post.
|
41 |
+
* Play/Pause Button size and positioning can be made responsive in the Play/Pause Responsiveness tab of the plugin settings page.
|
42 |
* Audio Volume Control for site administrator as well as page/post authors.
|
43 |
* Auto Play Option.
|
44 |
* Audio Loop Option.
|
168 |
|
169 |
= Changelog =
|
170 |
|
171 |
+
= 3.0 - January 3rd, 2015 =
|
172 |
+
* Play/Pause button size and corner positioning can now be made responsive in "Button Responsiveness" tab of plugin settings page.
|
173 |
+
|
174 |
= 2.7 - December 20th, 2014 =
|
175 |
* Fixed bug on the front-end appearing in themes using Ajax to reload only the content part of the pages when the visitor navigates on the website.
|
176 |
|
218 |
|
219 |
== Upgrade Notice ==
|
220 |
|
221 |
+
= 3.0 =
|
222 |
+
* After having upgraded Soundy to 3.0, please clear the cache of Soundy's admin pages in your browser. The reason is that a few CSS and Javascript files have been modified and these files are typically cached by browsers.
|
223 |
+
|
224 |
= 2.4 =
|
225 |
* **IMPORTANT**: After having upgraded Soundy Background Music to 2.4, please clear the cache of Soundy's admin pages in your browser as well as the cache of all front pages using the plugin. The reason is that a few CSS and Javascript files have been modified and these files are typically cached by browsers.
|
226 |
* [**Soundy Audio Playlist Plugin**](http://wordpress.org/plugins/soundy-audio-playlist/) is now available.
|
soundy.php
CHANGED
@@ -1,13 +1,13 @@
|
|
1 |
<?php
|
2 |
/**
|
3 |
* @package Soundy_Background_Music
|
4 |
-
* @version
|
5 |
*/
|
6 |
/*
|
7 |
Plugin Name: Soundy Background Music
|
8 |
Plugin URI: http://www.webartisan.ch/en/products/soundy-background-music/free-wordpress-plugin/
|
9 |
Description: This plugin allows administrators and authors to set a background sound on any post or page.
|
10 |
-
Version:
|
11 |
Author: Bertrand du Couédic
|
12 |
Author URI: http://webartisan.ch/en/about
|
13 |
License: GPL2
|
@@ -31,7 +31,7 @@ Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA
|
|
31 |
class WarSoundy
|
32 |
{
|
33 |
public $soundy_type = 'free';
|
34 |
-
public $soundy_version = '
|
35 |
public $soundy_free_wp_home_url = 'http://wordpress.org/plugins/soundy-background-music/';
|
36 |
public $sdy_pl_free_wp_home_url = 'http://wordpress.org/plugins/soundy-audio-playlist/';
|
37 |
public $soundy_pro_home_url = 'http://webartisan.ch/products/soundy-background-music/pro-wordpress-plugin/';
|
@@ -56,9 +56,11 @@ class WarSoundy
|
|
56 |
public $pause_hover_url = '/images/buttons/48x48/pause-square-blue.png';
|
57 |
public $button_dimensions = '48x48';
|
58 |
public $page_preview_url = '';
|
|
|
|
|
|
|
59 |
public $user_agent_is_mobile;
|
60 |
public $post_id;
|
61 |
-
|
62 |
public $plugin_name;
|
63 |
public $plugin_url;
|
64 |
public $plugin_path;
|
@@ -149,6 +151,8 @@ class WarSoundy
|
|
149 |
{
|
150 |
update_option( 'war_soundy_enable_pp_corner', 'yes' );
|
151 |
}
|
|
|
|
|
152 |
}
|
153 |
}
|
154 |
|
@@ -210,12 +214,83 @@ class WarSoundy
|
|
210 |
$audio_url = get_option( 'war_soundy_audio_file_url' );
|
211 |
$audio_url = str_replace( 'soundy-music-pro', 'soundy-background-music', $audio_url );
|
212 |
update_option( 'war_soundy_audio_file_url', $audio_url );
|
|
|
|
|
213 |
}
|
214 |
|
215 |
public function deactivate()
|
216 |
{
|
217 |
}
|
218 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
219 |
public function add_plugin_settings_menu()
|
220 |
{
|
221 |
$html_page_title = 'Soundy Background Music';
|
@@ -251,6 +326,8 @@ class WarSoundy
|
|
251 |
wp_enqueue_script( 'jquery-ui-mouse' );
|
252 |
wp_enqueue_script( 'jquery-ui-tabs' );
|
253 |
wp_enqueue_script( 'jquery-ui-slider' );
|
|
|
|
|
254 |
|
255 |
wp_enqueue_script( 'soundy-jquery-form' );
|
256 |
wp_enqueue_script( 'soundy-back-end' );
|
@@ -361,6 +438,7 @@ class WarSoundy
|
|
361 |
$this->add_settings_section_audio_track();
|
362 |
$this->add_settings_section_play_pause_button();
|
363 |
$this->add_settings_section_play_pause_position_corner();
|
|
|
364 |
$this->add_settings_section_play_pause_position_static();
|
365 |
}
|
366 |
|
@@ -581,7 +659,7 @@ class WarSoundy
|
|
581 |
'war_soundy_settings_section_play_pause_position_corner'
|
582 |
);
|
583 |
|
584 |
-
|
585 |
'war_soundy_preview_in_context_position',
|
586 |
'Preview in Context',
|
587 |
array( $this, 'add_settings_field_preview_in_context_position' ),
|
@@ -589,8 +667,61 @@ class WarSoundy
|
|
589 |
'war_soundy_settings_section_play_pause_position_corner'
|
590 |
);
|
591 |
}
|
592 |
-
|
593 |
-
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
594 |
{
|
595 |
add_settings_section(
|
596 |
'war_soundy_settings_section_play_pause_position_static',
|
@@ -631,12 +762,179 @@ class WarSoundy
|
|
631 |
echo 'In this tab you can position the play/pause button in any corner of the page/post window or document.';
|
632 |
}
|
633 |
|
|
|
|
|
|
|
|
|
|
|
634 |
public function display_settings_section_play_pause_position_static_header()
|
635 |
{
|
636 |
echo '';
|
637 |
}
|
638 |
|
639 |
-
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
640 |
{
|
641 |
?>
|
642 |
<input type="checkbox"
|
1 |
<?php
|
2 |
/**
|
3 |
* @package Soundy_Background_Music
|
4 |
+
* @version 3.0
|
5 |
*/
|
6 |
/*
|
7 |
Plugin Name: Soundy Background Music
|
8 |
Plugin URI: http://www.webartisan.ch/en/products/soundy-background-music/free-wordpress-plugin/
|
9 |
Description: This plugin allows administrators and authors to set a background sound on any post or page.
|
10 |
+
Version: 3.0
|
11 |
Author: Bertrand du Couédic
|
12 |
Author URI: http://webartisan.ch/en/about
|
13 |
License: GPL2
|
31 |
class WarSoundy
|
32 |
{
|
33 |
public $soundy_type = 'free';
|
34 |
+
public $soundy_version = '3.0';
|
35 |
public $soundy_free_wp_home_url = 'http://wordpress.org/plugins/soundy-background-music/';
|
36 |
public $sdy_pl_free_wp_home_url = 'http://wordpress.org/plugins/soundy-audio-playlist/';
|
37 |
public $soundy_pro_home_url = 'http://webartisan.ch/products/soundy-background-music/pro-wordpress-plugin/';
|
56 |
public $pause_hover_url = '/images/buttons/48x48/pause-square-blue.png';
|
57 |
public $button_dimensions = '48x48';
|
58 |
public $page_preview_url = '';
|
59 |
+
public $responsive_table_number_of_rows = 10;
|
60 |
+
public $responsive_scale_reference_window_width = 2048;
|
61 |
+
|
62 |
public $user_agent_is_mobile;
|
63 |
public $post_id;
|
|
|
64 |
public $plugin_name;
|
65 |
public $plugin_url;
|
66 |
public $plugin_path;
|
151 |
{
|
152 |
update_option( 'war_soundy_enable_pp_corner', 'yes' );
|
153 |
}
|
154 |
+
|
155 |
+
$this->initResponsive();
|
156 |
}
|
157 |
}
|
158 |
|
214 |
$audio_url = get_option( 'war_soundy_audio_file_url' );
|
215 |
$audio_url = str_replace( 'soundy-music-pro', 'soundy-background-music', $audio_url );
|
216 |
update_option( 'war_soundy_audio_file_url', $audio_url );
|
217 |
+
|
218 |
+
$this->initResponsive();
|
219 |
}
|
220 |
|
221 |
public function deactivate()
|
222 |
{
|
223 |
}
|
224 |
|
225 |
+
public function initResponsive()
|
226 |
+
{
|
227 |
+
add_option( 'war_soundy_responsive_scale_reference_window_width', $this->responsive_scale_reference_window_width );
|
228 |
+
|
229 |
+
$table_rows = array(
|
230 |
+
array(
|
231 |
+
'comment' => 'Low Res. Mobile',
|
232 |
+
'window_width_min' => '',
|
233 |
+
'window_width_max' => 400,
|
234 |
+
'button_size' => 20,
|
235 |
+
'offset_x' => 20,
|
236 |
+
'offset_y' => 20
|
237 |
+
),
|
238 |
+
array(
|
239 |
+
'comment' => 'Medium Res. Mobile',
|
240 |
+
'window_width_min' => 401,
|
241 |
+
'window_width_max' => 800,
|
242 |
+
'button_size' => 25,
|
243 |
+
'offset_x' => 25,
|
244 |
+
'offset_y' => 25
|
245 |
+
),
|
246 |
+
array(
|
247 |
+
'comment' => 'High Res. Mobile',
|
248 |
+
'window_width_min' => 801,
|
249 |
+
'window_width_max' => 1200,
|
250 |
+
'button_size' => 30,
|
251 |
+
'offset_x' => 30,
|
252 |
+
'offset_y' => 30
|
253 |
+
),
|
254 |
+
array(
|
255 |
+
'comment' => 'Low Res. Screen',
|
256 |
+
'window_width_min' => 1201,
|
257 |
+
'window_width_max' => 1600,
|
258 |
+
'button_size' => 35,
|
259 |
+
'offset_x' => 35,
|
260 |
+
'offset_y' => 35
|
261 |
+
),
|
262 |
+
array(
|
263 |
+
'comment' => 'Medium Res. Screen',
|
264 |
+
'window_width_min' => 1601,
|
265 |
+
'window_width_max' => 2000,
|
266 |
+
'button_size' => 40,
|
267 |
+
'offset_x' => 40,
|
268 |
+
'offset_y' => 40
|
269 |
+
),
|
270 |
+
array(
|
271 |
+
'comment' => 'High Res. Screen',
|
272 |
+
'window_width_min' => 2001,
|
273 |
+
'window_width_max' => '',
|
274 |
+
'button_size' => 50,
|
275 |
+
'offset_x' => 50,
|
276 |
+
'offset_y' => 50
|
277 |
+
)
|
278 |
+
);
|
279 |
+
|
280 |
+
for( $i = 0; $i < count( $table_rows ); $i++ )
|
281 |
+
{
|
282 |
+
$index = $i + 1;
|
283 |
+
$row = $table_rows[ $i ];
|
284 |
+
|
285 |
+
add_option( 'war_soundy_responsive_comment_' . $index, $row[ 'comment' ] );
|
286 |
+
add_option( 'war_soundy_responsive_window_width_min_' . $index, $row[ 'window_width_min' ] );
|
287 |
+
add_option( 'war_soundy_responsive_window_width_max_' . $index, $row[ 'window_width_max' ] );
|
288 |
+
add_option( 'war_soundy_responsive_button_size_' . $index, $row[ 'button_size' ] );
|
289 |
+
add_option( 'war_soundy_responsive_offset_x_' . $index, $row[ 'offset_x' ] );
|
290 |
+
add_option( 'war_soundy_responsive_offset_y_' . $index, $row[ 'offset_y' ] );
|
291 |
+
}
|
292 |
+
}
|
293 |
+
|
294 |
public function add_plugin_settings_menu()
|
295 |
{
|
296 |
$html_page_title = 'Soundy Background Music';
|
326 |
wp_enqueue_script( 'jquery-ui-mouse' );
|
327 |
wp_enqueue_script( 'jquery-ui-tabs' );
|
328 |
wp_enqueue_script( 'jquery-ui-slider' );
|
329 |
+
wp_enqueue_script( 'jquery-ui-sortable' );
|
330 |
+
wp_enqueue_script( 'jquery-effects-core' );
|
331 |
|
332 |
wp_enqueue_script( 'soundy-jquery-form' );
|
333 |
wp_enqueue_script( 'soundy-back-end' );
|
438 |
$this->add_settings_section_audio_track();
|
439 |
$this->add_settings_section_play_pause_button();
|
440 |
$this->add_settings_section_play_pause_position_corner();
|
441 |
+
$this->add_settings_section_play_pause_responsive();
|
442 |
$this->add_settings_section_play_pause_position_static();
|
443 |
}
|
444 |
|
659 |
'war_soundy_settings_section_play_pause_position_corner'
|
660 |
);
|
661 |
|
662 |
+
add_settings_field(
|
663 |
'war_soundy_preview_in_context_position',
|
664 |
'Preview in Context',
|
665 |
array( $this, 'add_settings_field_preview_in_context_position' ),
|
667 |
'war_soundy_settings_section_play_pause_position_corner'
|
668 |
);
|
669 |
}
|
670 |
+
|
671 |
+
public function add_settings_section_play_pause_responsive()
|
672 |
+
{
|
673 |
+
add_settings_section(
|
674 |
+
'war_soundy_settings_section_play_pause_responsive',
|
675 |
+
'Play/Pause Button Responsiveness',
|
676 |
+
array( $this, 'display_settings_section_play_pause_responsive_header' ),
|
677 |
+
'soundy'
|
678 |
+
);
|
679 |
+
|
680 |
+
register_setting( 'war_soundy', 'war_soundy_responsive_mode' );
|
681 |
+
add_settings_field(
|
682 |
+
'war_soundy_responsive_mode',
|
683 |
+
'Responsive Mode',
|
684 |
+
array( $this, 'add_settings_field_responsive_mode' ),
|
685 |
+
'soundy',
|
686 |
+
'war_soundy_settings_section_play_pause_responsive'
|
687 |
+
);
|
688 |
+
|
689 |
+
for( $i = 1; $i <= $this->responsive_table_number_of_rows; $i++ )
|
690 |
+
{
|
691 |
+
register_setting( 'war_soundy', 'war_soundy_responsive_comment_' . $i, array( $this, 'do_sanitize_field' ) );
|
692 |
+
register_setting( 'war_soundy', 'war_soundy_responsive_window_width_min_' . $i );
|
693 |
+
register_setting( 'war_soundy', 'war_soundy_responsive_window_width_max_' . $i );
|
694 |
+
register_setting( 'war_soundy', 'war_soundy_responsive_button_size_' . $i );
|
695 |
+
register_setting( 'war_soundy', 'war_soundy_responsive_offset_x_' . $i );
|
696 |
+
register_setting( 'war_soundy', 'war_soundy_responsive_offset_y_' . $i );
|
697 |
+
}
|
698 |
+
add_settings_field(
|
699 |
+
'war_soundy_responsive_table',
|
700 |
+
'Table Driven Mode',
|
701 |
+
array( $this, 'add_settings_field_responsive_table' ),
|
702 |
+
'soundy',
|
703 |
+
'war_soundy_settings_section_play_pause_responsive'
|
704 |
+
);
|
705 |
+
|
706 |
+
register_setting( 'war_soundy', 'war_soundy_responsive_scale_reference_window_width' );
|
707 |
+
add_settings_field(
|
708 |
+
'war_soundy_responsive_scale_reference_window_width',
|
709 |
+
'Scale Driven Mode',
|
710 |
+
array( $this, 'add_settings_field_responsive_scale' ),
|
711 |
+
'soundy',
|
712 |
+
'war_soundy_settings_section_play_pause_responsive'
|
713 |
+
);
|
714 |
+
|
715 |
+
add_settings_field(
|
716 |
+
'war_soundy_responsive_preview',
|
717 |
+
'Preview',
|
718 |
+
array( $this, 'add_settings_field_responsive_preview' ),
|
719 |
+
'soundy',
|
720 |
+
'war_soundy_settings_section_play_pause_responsive'
|
721 |
+
);
|
722 |
+
}
|
723 |
+
|
724 |
+
public function add_settings_section_play_pause_position_static()
|
725 |
{
|
726 |
add_settings_section(
|
727 |
'war_soundy_settings_section_play_pause_position_static',
|
762 |
echo 'In this tab you can position the play/pause button in any corner of the page/post window or document.';
|
763 |
}
|
764 |
|
765 |
+
public function display_settings_section_play_pause_responsive_header()
|
766 |
+
{
|
767 |
+
echo 'In this tab you can control the responsiveness of the Play/Pause button.';
|
768 |
+
}
|
769 |
+
|
770 |
public function display_settings_section_play_pause_position_static_header()
|
771 |
{
|
772 |
echo '';
|
773 |
}
|
774 |
|
775 |
+
public function add_settings_field_responsive_mode( $args )
|
776 |
+
{
|
777 |
+
$responsive_mode = get_option( 'war_soundy_responsive_mode' );
|
778 |
+
$responsive_mode = $responsive_mode ? $responsive_mode : 'none';
|
779 |
+
?>
|
780 |
+
<input type="radio"
|
781 |
+
id="war_soundy_responsive_mode_none"
|
782 |
+
name="war_soundy_responsive_mode"
|
783 |
+
value="none"
|
784 |
+
style="margin: 5px 0 5px 0;" <?php echo ( $responsive_mode == 'none' ? 'checked' : '' ); ?>/>
|
785 |
+
<label for="war_soundy_responsive_mode_none"
|
786 |
+
style="margin-top: 0;">No Responsiveness</label>
|
787 |
+
<br>
|
788 |
+
<input type="radio"
|
789 |
+
id="war_soundy_responsive_mode_table"
|
790 |
+
name="war_soundy_responsive_mode"
|
791 |
+
value="table"
|
792 |
+
style="margin: 5px 0 5px 0;" <?php echo ( $responsive_mode == 'table' ? 'checked' : '' ); ?>/>
|
793 |
+
<label for="war_soundy_responsive_mode_table"
|
794 |
+
style="margin-top: 0;">Table Driven Responsive Mode</label>
|
795 |
+
<br>
|
796 |
+
<input type="radio"
|
797 |
+
id="war_soundy_responsive_mode_scale"
|
798 |
+
name="war_soundy_responsive_mode"
|
799 |
+
value="scale"
|
800 |
+
style="margin: 5px 0 5px 0;" <?php echo ( $responsive_mode == 'scale' ? 'checked' : '' ); ?>/>
|
801 |
+
<label for="war_soundy_responsive_mode_scale"
|
802 |
+
style="margin-top: 0;">Scale Driven Responsive Mode</label>
|
803 |
+
<?php
|
804 |
+
}
|
805 |
+
|
806 |
+
public function add_settings_field_responsive_table( $args )
|
807 |
+
{
|
808 |
+
$responsive_mode = get_option( 'war_soundy_responsive_table' );
|
809 |
+
$responsive_mode = $responsive_mode ? $responsive_mode : 'none';
|
810 |
+
?>
|
811 |
+
<span class="war_comment">You can define window width ranges with corresponding button width/height and offsets.<br>
|
812 |
+
Button X and Y Offset Fields are used only for Play/Pause button positioned in a corner.<br>
|
813 |
+
Button Width/Height Field is used for all Play/Pause buttons.</span>
|
814 |
+
<ul class="war_soundy_responsive_list">
|
815 |
+
<li class="war_soundy_responsive_list_row_header">
|
816 |
+
<div class="war_soundy_responsive_comment">Comment</div>
|
817 |
+
<div class="war_soundy_responsive_list_field">From<br>Window<br>Width</div>
|
818 |
+
<div class="war_soundy_responsive_list_field">To<br>Window<br>Width</div>
|
819 |
+
<div class="war_soundy_responsive_list_field">Button<br>Width/<br>Height</div>
|
820 |
+
<div class="war_soundy_responsive_list_field">Button<br>X<br>Offset</div>
|
821 |
+
<div class="war_soundy_responsive_list_field">Button<br>Y<br>Offset</div>
|
822 |
+
</li>
|
823 |
+
</ul>
|
824 |
+
<ul id="war_soundy_responsive_list"
|
825 |
+
class="war_soundy_responsive_list">
|
826 |
+
<?php
|
827 |
+
for( $i = 1; $i <= $this->responsive_table_number_of_rows; $i++ )
|
828 |
+
{
|
829 |
+
?>
|
830 |
+
<li>
|
831 |
+
<div class="war_soundy_responsive_comment">
|
832 |
+
<input type="text"
|
833 |
+
name="war_soundy_responsive_comment_<?php echo $i; ?>"
|
834 |
+
id="war_soundy_responsive_comment_<?php echo $i; ?>"
|
835 |
+
value="<?php echo get_option( 'war_soundy_responsive_comment_' . $i ); ?>"
|
836 |
+
size="20" />
|
837 |
+
</div>
|
838 |
+
<div class="war_soundy_responsive_list_field">
|
839 |
+
<input type="text"
|
840 |
+
class="war_soundy_responsive_input_field_integer"
|
841 |
+
name="war_soundy_responsive_window_width_min_<?php echo $i; ?>"
|
842 |
+
id="war_soundy_responsive_window_width_min_<?php echo $i; ?>"
|
843 |
+
value="<?php echo get_option( 'war_soundy_responsive_window_width_min_' . $i ); ?>"
|
844 |
+
size="4" /> px
|
845 |
+
</div>
|
846 |
+
<div class="war_soundy_responsive_list_field">
|
847 |
+
<input type="text"
|
848 |
+
class="war_soundy_responsive_input_field_integer"
|
849 |
+
name="war_soundy_responsive_window_width_max_<?php echo $i; ?>"
|
850 |
+
id="war_soundy_responsive_window_width_max_<?php echo $i; ?>"
|
851 |
+
value="<?php echo get_option( 'war_soundy_responsive_window_width_max_' . $i ); ?>"
|
852 |
+
size="4" /> px
|
853 |
+
</div>
|
854 |
+
<div class="war_soundy_responsive_list_field">
|
855 |
+
<input type="text"
|
856 |
+
class="war_soundy_responsive_input_field_integer"
|
857 |
+
name="war_soundy_responsive_button_size_<?php echo $i; ?>"
|
858 |
+
id="war_soundy_responsive_button_size_<?php echo $i; ?>"
|
859 |
+
value="<?php echo get_option( 'war_soundy_responsive_button_size_' . $i ); ?>"
|
860 |
+
size="4" /> px
|
861 |
+
</div>
|
862 |
+
<div class="war_soundy_responsive_list_field">
|
863 |
+
<input type="text"
|
864 |
+
class="war_soundy_responsive_input_field_integer"
|
865 |
+
name="war_soundy_responsive_offset_x_<?php echo $i; ?>"
|
866 |
+
id="war_soundy_responsive_offset_x_<?php echo $i; ?>"
|
867 |
+
value="<?php echo get_option( 'war_soundy_responsive_offset_x_' . $i ); ?>"
|
868 |
+
size="4" /> px
|
869 |
+
</div>
|
870 |
+
<div class="war_soundy_responsive_list_field">
|
871 |
+
<input type="text"
|
872 |
+
class="war_soundy_responsive_input_field_integer"
|
873 |
+
name="war_soundy_responsive_offset_y_<?php echo $i; ?>"
|
874 |
+
id="war_soundy_responsive_offset_y_<?php echo $i; ?>"
|
875 |
+
value="<?php echo get_option( 'war_soundy_responsive_offset_y_' . $i ); ?>"
|
876 |
+
size="4" /> px
|
877 |
+
</div>
|
878 |
+
</li>
|
879 |
+
<?php
|
880 |
+
}
|
881 |
+
?>
|
882 |
+
</ul>
|
883 |
+
<ul class="war_soundy_responsive_list">
|
884 |
+
<li class="war_soundy_responsive_list_row_footer">
|
885 |
+
<span style="font-size: 1em;">
|
886 |
+
<span id="war_comment" style="margin-left: 1%;">You can change the order of the rows with drag & drop.</span>
|
887 |
+
</span>
|
888 |
+
</li>
|
889 |
+
</ul>
|
890 |
+
<?php
|
891 |
+
}
|
892 |
+
|
893 |
+
public function add_settings_field_responsive_scale( $args )
|
894 |
+
{
|
895 |
+
?>
|
896 |
+
<div class="war_comment" style="margin-bottom: 6px;">Play/Pause button width, height and offsets are scaled according to window width.<br>
|
897 |
+
The Reference Window Width is the window width for which the scale factor is 1.</div>
|
898 |
+
<div style="font-weight: bold;">Reference Window Width:</div>
|
899 |
+
<input id="war_soundy_responsive_scale_reference_window_width"
|
900 |
+
name="war_soundy_responsive_scale_reference_window_width"
|
901 |
+
class="war_soundy_responsive_input_field_integer"
|
902 |
+
value="<?php echo get_option( 'war_soundy_responsive_scale_reference_window_width' ); ?>"
|
903 |
+
size="4"
|
904 |
+
style="margin-top: 3px; margin-bottom: 3px;" /> px<br>
|
905 |
+
<button id="war_soundy_responsive_scale_button_current_window_width"
|
906 |
+
type="button"
|
907 |
+
class="war_soundy"
|
908 |
+
style="margin-top: 3px; margin-bottom: 3px;" />Insert Current Window Width</button>
|
909 |
+
<?php
|
910 |
+
}
|
911 |
+
|
912 |
+
public function add_settings_field_responsive_preview( $args )
|
913 |
+
{
|
914 |
+
?>
|
915 |
+
<div class="war_comment" style="margin-bottom: 6px;">IMPORTANT: You must save your changes before using Preview.</div>
|
916 |
+
<div style="font-weight: bold;">Preview Window Width:</div>
|
917 |
+
<input id="war_soundy_responsive_preview_window_width"
|
918 |
+
class="war_soundy_responsive_input_field_integer"
|
919 |
+
value=""
|
920 |
+
size="4"
|
921 |
+
style="margin-top: 3px; margin-bottom: 3px;" /> px
|
922 |
+
<div style="margin-top: 3px; margin-bottom: 3px;">
|
923 |
+
<div style="font-weight: bold;">Page:</div>
|
924 |
+
<select id="war_soundy_responsive_preview_url"
|
925 |
+
class="war_soundy_page_preview_url"
|
926 |
+
style="margin-top: 3px; margin-bottom: 3px;">
|
927 |
+
<?php $this->add_page_preview_url_options() ?>
|
928 |
+
</select>
|
929 |
+
</div>
|
930 |
+
<button id="war_soundy_responsive_button_preview"
|
931 |
+
type="button"
|
932 |
+
class="war_soundy"
|
933 |
+
style="margin-top: 3px; margin-bottom: 3px;" />Preview</button>
|
934 |
+
<?php
|
935 |
+
}
|
936 |
+
|
937 |
+
public function add_settings_field_enable_bg_sound( $args )
|
938 |
{
|
939 |
?>
|
940 |
<input type="checkbox"
|
templates/front-end.php
CHANGED
@@ -89,6 +89,43 @@ class WarSoundyFrontEnd
|
|
89 |
|
90 |
$pp_code = str_replace( array( "\n", "\r" ), ' ', $pp_code );
|
91 |
$audio_code = str_replace( array( "\n", "\r" ), ' ', $audio_code );
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
92 |
?>
|
93 |
<link rel="prefetch" href="<?php echo $audio_file_url; ?>">
|
94 |
<link rel="prefetch" href="<?php echo $this->button_url_play; ?>">
|
@@ -108,6 +145,26 @@ class WarSoundyFrontEnd
|
|
108 |
button_url_pause_hover: '<?php echo $this->hover_url_pause; ?>',
|
109 |
user_agent_is_IOS: <?php echo $this->user_agent_is_IOS() ?>
|
110 |
} );
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
111 |
</script>
|
112 |
<?php
|
113 |
}
|
89 |
|
90 |
$pp_code = str_replace( array( "\n", "\r" ), ' ', $pp_code );
|
91 |
$audio_code = str_replace( array( "\n", "\r" ), ' ', $audio_code );
|
92 |
+
|
93 |
+
$responsive_mode = get_option( 'war_soundy_responsive_mode' );
|
94 |
+
if( $responsive_mode != 'none' )
|
95 |
+
{
|
96 |
+
if( $responsive_mode == 'table' )
|
97 |
+
{
|
98 |
+
$responsive_table_rows = array();
|
99 |
+
for( $i = 1; $i <= $this->soundy->responsive_table_number_of_rows; $i++ )
|
100 |
+
{
|
101 |
+
$window_width_min = get_option( 'war_soundy_responsive_window_width_min_' . $i );
|
102 |
+
$window_width_min = ( $window_width_min == '' ) ? -1 : $window_width_min;
|
103 |
+
$window_width_max = get_option( 'war_soundy_responsive_window_width_max_' . $i );
|
104 |
+
$window_width_max = ( $window_width_max == '' ) ? -1 : $window_width_max;
|
105 |
+
|
106 |
+
if( $window_width_min != -1 || $window_width_max != -1 )
|
107 |
+
{
|
108 |
+
$button_size = get_option( 'war_soundy_responsive_button_size_' . $i );
|
109 |
+
$button_size = ( $button_size == '' ) ? -1 : $button_size;
|
110 |
+
$offset_x = get_option( 'war_soundy_responsive_offset_x_' . $i );
|
111 |
+
$offset_x = ( $offset_x == '' ) ? -1 : $offset_x;
|
112 |
+
$offset_y = get_option( 'war_soundy_responsive_offset_y_' . $i );
|
113 |
+
$offset_y = ( $offset_y == '' ) ? -1 : $offset_y;
|
114 |
+
$responsive_table_rows[] = '{ ' .
|
115 |
+
'window_width_min: ' . $window_width_min . ',' .
|
116 |
+
'window_width_max: ' . $window_width_max . ',' .
|
117 |
+
'button_size: ' . $button_size . ',' .
|
118 |
+
'offset_x: ' . $offset_x . ',' .
|
119 |
+
'offset_y: ' . $offset_y .
|
120 |
+
'}';
|
121 |
+
}
|
122 |
+
}
|
123 |
+
}
|
124 |
+
else // if( $responsive_mode == 'scale' )
|
125 |
+
{
|
126 |
+
$responsive_reference_window_width = get_option( 'war_soundy_responsive_scale_reference_window_width' );
|
127 |
+
}
|
128 |
+
}
|
129 |
?>
|
130 |
<link rel="prefetch" href="<?php echo $audio_file_url; ?>">
|
131 |
<link rel="prefetch" href="<?php echo $this->button_url_play; ?>">
|
145 |
button_url_pause_hover: '<?php echo $this->hover_url_pause; ?>',
|
146 |
user_agent_is_IOS: <?php echo $this->user_agent_is_IOS() ?>
|
147 |
} );
|
148 |
+
|
149 |
+
var war_soundy_responsive_mode = '<?php echo $responsive_mode; ?>';
|
150 |
+
var war_soundy_button_corner = '<?php echo get_option( "war_soundy_pp_corner" ); ?>';
|
151 |
+
<?php
|
152 |
+
if( $responsive_mode != 'none' )
|
153 |
+
{
|
154 |
+
if( $responsive_mode == 'table' )
|
155 |
+
{
|
156 |
+
echo 'var war_soundy_responsive_table_rows = new Array();';
|
157 |
+
foreach( $responsive_table_rows as $row )
|
158 |
+
{
|
159 |
+
echo 'war_soundy_responsive_table_rows.push( ' . $row . ' );';
|
160 |
+
}
|
161 |
+
}
|
162 |
+
else // if( $responsive_mode == 'scale' )
|
163 |
+
{
|
164 |
+
echo 'var war_soundy_responsive_reference_window_width = ' . $responsive_reference_window_width . ';';
|
165 |
+
}
|
166 |
+
}
|
167 |
+
?>
|
168 |
</script>
|
169 |
<?php
|
170 |
}
|
templates/settings.php
CHANGED
@@ -36,25 +36,26 @@
|
|
36 |
|
37 |
<div id="war_soundy_tabs">
|
38 |
<ul>
|
39 |
-
|
40 |
-
|
41 |
-
|
42 |
-
|
43 |
-
|
|
|
44 |
<div id="war_soundy_tab_panel_audio_track">
|
45 |
-
|
46 |
</div>
|
47 |
<div id="war_soundy_tab_panel_play_pause_button">
|
48 |
-
|
49 |
</div>
|
50 |
<div id="war_soundy_tab_panel_play_pause_position_corner">
|
51 |
-
|
52 |
</div>
|
|
|
|
|
|
|
53 |
<div id="war_soundy_tab_panel_play_pause_position_static">
|
54 |
-
|
55 |
-
</div>
|
56 |
-
<div id="war_soundy_tab_panel_license_key">
|
57 |
-
<?php $this->do_settings_section( 'soundy', 'war_soundy_settings_section_license_key' ); ?>
|
58 |
</div>
|
59 |
</div>
|
60 |
|
36 |
|
37 |
<div id="war_soundy_tabs">
|
38 |
<ul>
|
39 |
+
<li><a id="war_soundy_tab_label_audio_track" href="#war_soundy_tab_panel_audio_track">Audio Track</a></li>
|
40 |
+
<li><a id="war_soundy_tab_label_play_pause_button" href="#war_soundy_tab_panel_play_pause_button">Play/Pause Button</a></li>
|
41 |
+
<li><a id="war_soundy_tab_label_play_pause_position_corner" href="#war_soundy_tab_panel_play_pause_position_corner">Play/Pause Button Corner Position</a></li>
|
42 |
+
<li><a id="war_soundy_tab_label_play_pause_responsive" href="#war_soundy_tab_panel_play_pause_responsive">Play/Pause Button Responsiveness</a></li>
|
43 |
+
<li><a id="war_soundy_tab_label_play_pause_position_static" href="#war_soundy_tab_panel_play_pause_position_static">Play/Pause Static Position</a></li>
|
44 |
+
</ul>
|
45 |
<div id="war_soundy_tab_panel_audio_track">
|
46 |
+
<?php $this->do_settings_section( 'soundy', 'war_soundy_settings_section_audio_track' ); ?>
|
47 |
</div>
|
48 |
<div id="war_soundy_tab_panel_play_pause_button">
|
49 |
+
<?php $this->do_settings_section( 'soundy', 'war_soundy_settings_section_play_pause_button' ); ?>
|
50 |
</div>
|
51 |
<div id="war_soundy_tab_panel_play_pause_position_corner">
|
52 |
+
<?php $this->do_settings_section( 'soundy', 'war_soundy_settings_section_play_pause_position_corner' ); ?>
|
53 |
</div>
|
54 |
+
<div id="war_soundy_tab_panel_play_pause_responsive">
|
55 |
+
<?php $this->do_settings_section( 'soundy', 'war_soundy_settings_section_play_pause_responsive' ); ?>
|
56 |
+
</div>
|
57 |
<div id="war_soundy_tab_panel_play_pause_position_static">
|
58 |
+
<?php $this->do_settings_section( 'soundy', 'war_soundy_settings_section_play_pause_position_static' ); ?>
|
|
|
|
|
|
|
59 |
</div>
|
60 |
</div>
|
61 |
|