The forum of the forums
Welcome to the Official Support Forum of Forumotion!

To take full advantage of everything offered by our forum, please log in if you are already a member, or join our community if you've not yet.



Create a free forum like this one.

notification of chatbox

View previous topic View next topic Go down

Solved notification of chatbox

Post by H.A.SS.A.N on June 29th 2015, 5:08 pm

hii freind
I have problem in this code
Code:
window.localStorage && $(window).load(function() {
          var chatbox_script = function() {
            var sounds = {
              'future': 'http://illiweb.com/fa/fdf/future.mp3',
              'hal': 'http://illiweb.com/fa/fdf/hal.mp3',
              'secret': 'http://illiweb.com/fa/fdf/secret.mp3',
              'zelda': 'http://illiweb.com/fa/fdf/zelda.mono.mp3'
            };
            var default_sound = sounds['zelda'];
            var default_freq = 'new';
            var default_when = 'once';
            var default_volume = 100;
       
       
            if(localStorage.cb_sound && !localStorage.cb_sound.indexOf('https://dl.dropboxusercontent.com/u/181621985/')) localStorage.removeItem('cb_sound');
            var a = document.createElement('audio');
            if(!a.canPlayType) return;
            a.volume = Math.min(1, Math.max(0, localStorage.cb_volume||(default_volume/100)));
         
            var origin_send = Chatbox.prototype.send;
            Chatbox.prototype.send = function(params) {
              var m = $.trim($("#message").val());
              if(m.indexOf('/sound')&&m.indexOf('/soudn'))
                return origin_send.call(this, params);
              m = $.trim(m.substr(6)).split(/\s+/,3);
              var bad_apple = false;
              switch(m[0].toLowerCase()) {
                case "":
                  if(!a.src) {
                    a.src = localStorage.cb_sound||default_sound;
                    a.load();
                }
                  a.play();
                  break;
                case "all":
                case "new":
                  localStorage.cb_freq = m[0]; break;
                case "always":
                case "off":
                case "on":
                case "once":
                case "never":
                  localStorage.cb_when = m[0]; break;
                case "stop":
                  if(!a.paused) a.pause();
                  if(!a.ended && a.readyState > 0) a.currentTime = 0;
                  break;
                case "pause":
                  if(!a.paused) a.pause();
                  break;
                case "volume":
                  if(m.length>1) {
                    localStorage.cb_volume = Math.min(1, Math.max(0, parseFloat(m[1].replace(',','.'))/100));
                    a.volume = localStorage.cb_volume;
                    break
                  }
                default:
                  bad_apple = true;
              };
              if(bad_apple) {
                if(m[0] in sounds) {
                  m[0]= sounds[m[0]];
                }
                if(m[0]=="default") {
                  m[0]=default_sound;
                  localStorage.removeItem('cb_sound');
                  localStorage.removeItem('cb_freq');
                  localStorage.removeItem('cb_volume');
                  localStorage.removeItem('cb_when');
                  a.volume = Math.min(1, Math.max(0, default_volume/100));
                }
                if(/^https?:\/\/.+/.test(m[0])) {
                  localStorage.cb_sound = m[0];
                  a.pause();
                  a.src = m[0];
                  a.load();
                  a.play();
                } else {
                  var message = $('#message').val();
                  alert('/sound [all | new]\n/sound [always | off | on | once | never]\n/sound [stop | pause]\n/sound default\n/sound volume 0-100\n/sound ['+$.map(sounds,function(_,k){return k}).join(' | ')+']\n/sound [http://* | https://*]');
                  setTimeout(function(){ $("#message").val(message).select().focus(); }, 100);
                  return;
                }
              }
              return $("#message").val('').focus();
            };
       
            $(window).on("focus", function(){ localStorage.removeItem('cb_once'); localStorage.removeItem('cb_blurred') }).on("blur", function(){ localStorage.cb_blurred=1; });
       
            var play_sound = function(){
              if(a.paused || a.ended) {
                if(a.readyState > 0) a.currentTime=0;
                if(!a.src) {
                  a.src = localStorage.cb_sound||default_sound;
                  a.load()
                }
                a.play()
              }
            };
            var overrided = Chatbox.prototype.refresh;
            Chatbox.prototype.refresh = function(data) {
              if (data.messages && data.messages.length) {
                var lm = data.messages.slice(-1)[0];
                var last_message = lm.time+','+lm.action+','+lm.msg;
                if(this.last_message_sound != last_message) {
                  var user = $.grep(data.users, function(v){return v.id==chatbox.userId});
                  user = user.length ? user[0] : [{}];
                  if(this.last_message_sound!==undefined) {
                    var freq = (localStorage.cb_freq||default_freq);
                    var when = (localStorage.cb_when||default_when);
                    if(when != "never" && (when != "off" || localStorage.cb_blurred) && (when != "on" || !localStorage.cb_blurred) && (when != "once" || (localStorage.cb_blurred && !localStorage.cb_once))) {
                      if(freq =="all" || (lm.userId!=chatbox.userId && user.username!=lm.username)) {
                        if(when!="once" || !localStorage.cb_once) {
                          play_sound();
                          localStorage.cb_once = 1;
                        }
                      }
                    }
                  }
                  this.last_message_sound = lm;
                }
              }
              overrided.call(this, data);
            };
          };
          var s=document.createElement('script');s.text="("+chatbox_script.toString()+")();";$('object[data^="/chatbox/index.forum"],iframe[src^="/chatbox/index.forum"]').each(function(){try{$(this.contentDocument||this.contentWindow.document).find("#chatbox").closest("html").find("head").first().each(function(){this.appendChild(s.cloneNode(true))})}catch(a){}})
        });


don't work on phpbb2
I need it
please help me .


Last edited by H.A.SS.A.N on July 11th 2015, 8:30 am; edited 1 time in total

H.A.SS.A.N
Forumember

Posts : 77
Reputation : 1
Language : Arabic

http://www.deve-net.com

Back to top Go down

Solved Re: notification of chatbox

Post by SLGray on June 29th 2015, 7:27 pm

Could you tell us where you got the code?


When your topic has been solved, ensure you mark the topic solved.
Never post your email in public.


SLGray
Administrator
Administrator

Male Posts : 35672
Reputation : 2375
Language : English
Location : United States

http://fmthemes.forumotion.com/

Back to top Go down

Solved Re: notification of chatbox

Post by H.A.SS.A.N on June 30th 2015, 12:14 pm


H.A.SS.A.N
Forumember

Posts : 77
Reputation : 1
Language : Arabic

http://www.deve-net.com

Back to top Go down

Solved Re: notification of chatbox

Post by H.A.SS.A.N on July 1st 2015, 3:24 pm

up

H.A.SS.A.N
Forumember

Posts : 77
Reputation : 1
Language : Arabic

http://www.deve-net.com

Back to top Go down

Solved Re: notification of chatbox

Post by JScript on July 10th 2015, 12:12 am

@H.A.SS.A.N
Hello, I tested the code in phpbb2 version and it worked correctly.

If your forum is what is in your profile, it contains several errors, very slow to open and my browser interface stay locked for more than 5 seconds!!!

See all errors:


I suggest you disable all JavaScript code and re-test the chat code.

After we solve the other problems ok?

JS

JScript
Forumember

Male Posts : 741
Reputation : 167
Language : PT-BR, EN
Location : Brazil

http://jscript.forumeiros.com/

Back to top Go down

Solved Re: notification of chatbox

Post by H.A.SS.A.N on July 11th 2015, 8:30 am

@JScript
Thank u my freind ^_^
I love u
Now the code is working correctly.

H.A.SS.A.N
Forumember

Posts : 77
Reputation : 1
Language : Arabic

http://www.deve-net.com

Back to top Go down

Solved Re: notification of chatbox

Post by JScript on July 11th 2015, 12:39 pm

I'm quite happy with that!

Topic solved and archived

JS

JScript
Forumember

Male Posts : 741
Reputation : 167
Language : PT-BR, EN
Location : Brazil

http://jscript.forumeiros.com/

Back to top Go down

View previous topic View next topic Back to top


 
Permissions in this forum:
You cannot reply to topics in this forum