Hébergeur de fichiers indépendant

Chat Box.js

À propos

Type de fichier
Fichier JS de 5 Ko (text/plain)
Confidentialité
Fichier public, envoyé le 29 avril 2015 à 15:46, depuis l'adresse IP 84.98.x.x (France)
Sécurité
Ne contient aucun Virus ou Malware connus - Dernière vérification: 2 jours
Statistiques
La présente page de téléchargement a été vue 274 fois depuis l'envoi du fichier
Page de téléchargement

Aperçu du fichier


var chatUsers = {
    chatFile: null,
    users: [],
    userConfiguration: {
        fontSize: "13px",
        backgroundColor: "#FFF3C2",
        color: "#B16009",
        padding: "15px",
        borderRadius: "5px",
        chatText: "le chat"
    },
    init: function (options) {
        var valid = true;
        try {
            for (var value in options) {
                if (value === 'fontSize' && typeof options[value] === 'string') {
                    this.userConfiguration.fontSize = options[value];
                } else if (value === 'backgroundColor'  && typeof options[value] === 'string') {
                    this.userConfiguration.backgroundColor = options[value];
                } else if (value === 'color'  && typeof options[value] === 'string') {
                    this.userConfiguration.color = options[value];
                } else if (value === 'padding'  && typeof options[value] === 'string') {
                    this.userConfiguration.padding = options[value];
                } else if (value === 'borderRadius'  && typeof options[value] === 'string') {
                    this.userConfiguration.borderRadius = options[value];
                } else if (value === 'chatText'  && typeof options[value] === 'string') {
                    this.userConfiguration.chatText = options[value];
                } else {
                    valid = false;
                    window.console && console.warn('XooitChat: Attention, cette propriété n\'est pas prise en charge.');
                }
            }
            if (valid) {
                Event.observe(window, 'load', this.get);
                setInterval(chatUsers.get, 5000);
            }
        } catch (e) {
            window.console && console.error(e.message);
        }
    },
    get: function () {
        try {
            chatUsers.chatFile = 'http://' + xooitChat.chatJsHost + xooitChat.chatFile;
            if (typeof chatUsers.chatFile === 'undefined' || chatUsers.chatFile.length <= 0 || xooitChat.autoConnect === 1) return false;
            new Ajax.Request(chatUsers.chatFile, {
                method: 'get',
                parameters: {
                    js: 0,
                    r: new Date().getTime()
                },
                onSuccess: function (data) {
                    chatUsers.users = [];
                    var parser = new DOMParser(),
                        xml = parser.parseFromString(data.responseText, "text/xml");

                    var users = xml.getElementsByTagName('o');

                    for (var i = 0; i < users.length; i++) {
                        var user = {
                            pseudo: users[i].getAttribute('u'),
                            id: users[i].getAttribute('i'),
                            color: users[i].getAttribute('c')
                        };

                        chatUsers.users.push(user);
                    }
                    window.console && console.info('XooitChat: Données récupérées avec succès !');
                    chatUsers.set();
                },
                onFailure: function (xhr) {
                    window.console && console.error('XooitChat: Impossible de récupérer les données. ' + xhr.status + ' : ' + xhr.statusText);
                }
            });
        } catch (e) {
            window.console && console.error(e.message);
        }
    },
    set: function () {
        try {
            var list = window.parent.document.getElementById('chat-users');
            $(list).setStyle({
                fontSize: this.userConfiguration.fontSize,
                backgroundColor: this.userConfiguration.backgroundColor,
                color: this.userConfiguration.color,
                padding: this.userConfiguration.padding,
                borderRadius: this.userConfiguration.borderRadius
            });
            if (chatUsers.users.length > 0) {
                var s = (chatUsers.users.length > 1) ? " membres connectés" : " membre connecté";
                $(list).innerHTML = 'Il y a ' + chatUsers.users.length + s + ' sur ' + chatUsers.userConfiguration.chatText + ' : ';
                for (var i = 0; i < chatUsers.users.length; i++) {
                    var style = (chatUsers.users[i].color.length > 0) ? ' style="font-weight: bold; color: #' + chatUsers.users[i].color + ';"' : '';
                    $(list).insertAdjacentHTML('beforeend', '<a href="http://' + xooitChat.chatJsHost + '/profile.php?mode=viewprofile&u=' + chatUsers.users[i].id + '" title="Voir le profil de ' + chatUsers.users[i].pseudo + '"' + style + '>' + chatUsers.users[i].pseudo + '</a>&nbsp;');
                }
            } else {
                $(list).innerHTML = 'Actuellement, aucun membre n\'est connecté sur ' + chatUsers.userConfiguration.chatText + '.';
            }
        } catch (e) {
            window.console && console.error(e.message);
        }
    }
};



Partager le fichier

Télécharger Chat Box.js

Télécharger le fichier (5 Ko)