From efe2681894967ed083049437bdc986301c92feec Mon Sep 17 00:00:00 2001 From: Damyon Wiese Date: Mon, 6 Nov 2017 15:08:55 +0800 Subject: [PATCH] MDL-57772 chat: BEEP is back baby! --- mod/chat/beep.mp3 | Bin 0 -> 969 bytes mod/chat/beep.wav | Bin 9658 -> 0 bytes mod/chat/chatd.php | 7 +++++-- mod/chat/gui_ajax/module.js | 4 +++- mod/chat/gui_header_js/jsupdate.php | 6 +++++- mod/chat/gui_header_js/jsupdated.php | 6 +++++- 6 files changed, 18 insertions(+), 5 deletions(-) create mode 100644 mod/chat/beep.mp3 delete mode 100644 mod/chat/beep.wav diff --git a/mod/chat/beep.mp3 b/mod/chat/beep.mp3 new file mode 100644 index 0000000000000000000000000000000000000000..6cfa71d1ad7242993e10fa97de43714e66568adb GIT binary patch literal 969 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�%O$9tu*MxsdB}9SVBp1Ts5qYI@exNGajfkAF{~zm@PR{aplBW@yJD zPUAWY^{=C6&!PLwLD^j5@9ho#=@L%Pi!-RhNlzne=$Up>Q92{qu2aUs9{B78Q{wjsLHH zr-uBlZJM*x9dKiZw7~e^1Ij;5()1k(&gngE#ONLWHp3g>;d}gfi=X7b^y)UQcT|x; zOb50c`G~kZ%qdOi>L#p(mzr1fvfqrLxi13AbLfx@^u4a0Z6|>nL`Gbo$f0@`sJ}a( z)METJ32eb@Vcx-AO+Vv{67y1>9zBQ&^peSl0 zR6=DnSw}B`-pQiMQ$RyM>>I<)81r}1i)kZ^zIPP%YSAX1rKQw_n)qf^!TYwvf}$mB z2|QG(#H}99;=psi5h;o`B1~DwVZRa6w*X$jE1D%nFz}0ir|A1Enq)l9%mpb0J}f76 zHApoQjhH^`AGP|+G4Q7Xc^Oy;Cd5_r=r?O7y$R+4AenGUJ1`U7a5eeO$QT02{cyMy zkzFFL#`IelUChd~n-t^!g+nmZv43Qp;JpKBD|qw(9vlNjg5QO!8Vg*CQcbjz??z6#*S5=UBIU`lkM60@g< dt1!Nb#G^PZ@%u}BMpp^hD$t$4lWDs5{{uuirW*hN diff --git a/mod/chat/chatd.php b/mod/chat/chatd.php index 23fbeac146e..7213186bd35 100644 --- a/mod/chat/chatd.php +++ b/mod/chat/chatd.php @@ -104,7 +104,7 @@ class ChatDaemon { $this->_trace_level = E_ALL ^ E_USER_NOTICE; $this->_pcntl_exists = function_exists('pcntl_fork'); $this->_time_rest_socket = 20; - $this->_beepsoundsrc = $GLOBALS['CFG']->wwwroot.'/mod/chat/beep.wav'; + $this->_beepsoundsrc = $GLOBALS['CFG']->wwwroot.'/mod/chat/beep.mp3'; $this->_freq_update_records = 20; $this->_freq_poll_idle_chat = $GLOBALS['CFG']->chat_old_ping; $this->_stdout = fopen('php://stdout', 'w'); @@ -754,8 +754,11 @@ EOD; $this->conn_sets[$sessionid][CHAT_CONNECTION_CHANNEL]); if ($output->beep) { + $playscript = '(function() { var audioElement = document.createElement("audio");' . "\n"; + $playscript .= 'audioElement.setAttribute("src", "'.$this->_beepsoundsrc.'");' . "\n"; + $playscript .= 'audioElement.play(); })();' . "\n"; $this->write_data($this->conn_sets[$sessionid][CHAT_CONNECTION_CHANNEL], - ''); + ''); } if ($info['quirks'] & QUIRK_CHUNK_UPDATE) { diff --git a/mod/chat/gui_ajax/module.js b/mod/chat/gui_ajax/module.js index 7f4b07e710c..758df345e99 100644 --- a/mod/chat/gui_ajax/module.js +++ b/mod/chat/gui_ajax/module.js @@ -133,7 +133,9 @@ M.mod_chat_ajax.init = function(Y, cfg) { item.addClass((message.mymessage) ? 'mdl-chat-my-entry' : 'mdl-chat-entry'); Y.one('#messages-list').append(item); if (message.type && message.type == 'beep') { - Y.one('#chat-notify').setContent(''); + var audioElement = document.createElement('audio'); + audioElement.setAttribute('src', '../beep.mp3'); + audioElement.play(); } }, diff --git a/mod/chat/gui_header_js/jsupdate.php b/mod/chat/gui_header_js/jsupdate.php index a7e38f3c3c6..726a14b2b7c 100644 --- a/mod/chat/gui_header_js/jsupdate.php +++ b/mod/chat/gui_header_js/jsupdate.php @@ -173,7 +173,11 @@ if ($refreshusers) { '; + echo ''; } ?> Refresh link diff --git a/mod/chat/gui_header_js/jsupdated.php b/mod/chat/gui_header_js/jsupdated.php index c30de52b2f0..3e564c673c9 100644 --- a/mod/chat/gui_header_js/jsupdated.php +++ b/mod/chat/gui_header_js/jsupdated.php @@ -223,7 +223,11 @@ EOD; print "//]]>\n"; print '' . "\n\n"; if ($beep) { - print ''; + print ''; } print $CHAT_DUMMY_DATA; sleep($CFG->chat_refresh_room); -- 2.11.4.GIT