From e6879bd963aea84159cca7ea582e147d5b33c7e9 Mon Sep 17 00:00:00 2001 From: Kyle M Hall <kyle@bywatersolutions.com> Date: Thu, 19 Jun 2014 09:17:06 -0400 Subject: [PATCH] Bug 11431 [3] - Add ability to customize the warning, action, and success sounds --- installer/data/mysql/updatedatabase.pl | 7 +++++++ .../prog/en/includes/doc-head-close.inc | 6 +++++- koha-tmpl/intranet-tmpl/prog/en/js/staff-global.js | 11 +++++++---- .../en/modules/admin/preferences/circulation.pref | 15 +++++++++++++++ 4 files changed, 34 insertions(+), 5 deletions(-) diff --git a/installer/data/mysql/updatedatabase.pl b/installer/data/mysql/updatedatabase.pl index d8ea64b..b8a650e 100755 --- a/installer/data/mysql/updatedatabase.pl +++ b/installer/data/mysql/updatedatabase.pl @@ -8564,6 +8564,13 @@ $DBversion = "3.17.00.XXX"; if ( CheckVersion($DBversion) ) { $dbh->do(q{UPDATE systempreferences SET variable = 'AudioAlerts' WHERE variable = 'soundon'}); + $dbh->do(q{ + INSERT IGNORE INTO systempreferences ( variable, value, options, explanation, type ) VALUES + ( 'OverrideAudioAlertWarning', '', NULL, 'URL to an audio file to replace the default warning sound.', 'free' ), + ( 'OverrideAudioAlertAction', '', NULL, 'URL to an audio file to replace the default "action required" sound.', 'free' ), + ( 'OverrideAudioAlertSuccess', '', NULL, 'URL to an audio file to replace the default success sound.', 'free' ) + }); + print "Upgrade to $DBversion done (Bug 11169 - Add OPACAcquisitionDetails syspref)\n"; SetVersion($DBversion); } diff --git a/koha-tmpl/intranet-tmpl/prog/en/includes/doc-head-close.inc b/koha-tmpl/intranet-tmpl/prog/en/includes/doc-head-close.inc index 2d375bd..90d4c76 100644 --- a/koha-tmpl/intranet-tmpl/prog/en/includes/doc-head-close.inc +++ b/koha-tmpl/intranet-tmpl/prog/en/includes/doc-head-close.inc @@ -1,3 +1,4 @@ +[% USE Koha %] <meta http-equiv="Content-Type" content="text/html; charset=utf-8" /> <link rel="shortcut icon" href="[% IF ( IntranetFavicon ) %][% IntranetFavicon %][% ELSE %][% interface %]/[% theme %]/img/favicon.ico[% END %]" type="image/x-icon" /> @@ -65,7 +66,10 @@ [% IF AudioAlerts %] <script type="text/javascript"> //<![CDATA[ - var TMPL_SOUND_PATH = "[% interface %]/[% theme %]/sound/"; + var AUDIO_ALERT_PATH = "[% interface %]/[% theme %]/sound/"; + var AUDIO_ALERT_ACTION = "[% Koha.Preference('OverrideAudioAlertAction') || 'opening.ogg' %]"; + var AUDIO_ALERT_WARNING = "[% Koha.Preference('OverrideAudioAlertWarning') || 'critical.ogg' %]"; + var AUDIO_ALERT_SUCCESS = "[% Koha.Preference('OverrideAudioAlertSuccess') || 'beep.ogg' %]"; //]]> $( document ).ready(function() { diff --git a/koha-tmpl/intranet-tmpl/prog/en/js/staff-global.js b/koha-tmpl/intranet-tmpl/prog/en/js/staff-global.js index 97fdd7a..ed85d0a 100644 --- a/koha-tmpl/intranet-tmpl/prog/en/js/staff-global.js +++ b/koha-tmpl/intranet-tmpl/prog/en/js/staff-global.js @@ -119,18 +119,21 @@ function confirmDelete(message) { } function playSound( sound ) { - sound = TMPL_SOUND_PATH + sound; + // This is way faster than substring + if ( ! ( sound.charAt(4) == ':' && sound.charAt(5) == '/' && sound.charAt(6) == '/' ) ) { + sound = AUDIO_ALERT_PATH + sound; + } document.getElementById("audio-alert").innerHTML = "<embed src='" + sound + "' hidden='true' autostart='true' loop='false' />"; } function playSoundWarning() { - playSound( 'critical.ogg' ); + playSound( AUDIO_ALERT_WARNING ); } function playSoundAction() { - playSound( 'opening.ogg' ); + playSound( AUDIO_ALERT_ACTION ); } function playSoundSuccess() { - playSound( 'beep.ogg' ); + playSound( AUDIO_ALERT_SUCCESS ); } diff --git a/koha-tmpl/intranet-tmpl/prog/en/modules/admin/preferences/circulation.pref b/koha-tmpl/intranet-tmpl/prog/en/modules/admin/preferences/circulation.pref index e1b90d3..8251f4b 100644 --- a/koha-tmpl/intranet-tmpl/prog/en/modules/admin/preferences/circulation.pref +++ b/koha-tmpl/intranet-tmpl/prog/en/modules/admin/preferences/circulation.pref @@ -626,3 +626,18 @@ Circulation: yes: "Enable" no: "Don't enable" - circulation sounds during checkin and checkout in the staff interface. Not supported by all web browsers yet. + - + - Replace the default audio alert for <i>warning</i> alerts with the sound found at + - pref: OverrideAudioAlertWarning + class: url + - (This should be a complete URL, starting with <code>http://</code>) + - + - Replace the default audio alert for <i>action</i> alerts with the sound found at + - pref: OverrideAudioAlertAction + class: url + - (This should be a complete URL, starting with <code>http://</code>) + - + - Replace the default audio alert for <i>success</i> alerts with the sound found at + - pref: OverrideAudioAlertSuccess + class: url + - (This should be a complete URL, starting with <code>http://</code>) -- 1.7.2.5