Файловый менеджер - Редактировать - /var/www/fetish/assets/js/chat.js
Назад
chat = { room : 'main', user : null, ip: null, key: null, name: null, gender: null, valid: false, time : 0, init: function(){ if (("standalone" in window.navigator) && window.navigator.standalone) { // For iOS Apps $("a").on("click", function(e){ var new_location = $(this).attr("href"); if (new_location != undefined && new_location.substr(0, 1) != "#" && new_location!='' && $(this).attr("data-method") == undefined){ e.preventDefault(); window.location = new_location; } }); } setInterval(() => { chat.time++; },1000); $('.live_chat_toggle').on('click', function(){ $('.live_chat').css('display','flex'); $('.messages').scrollTop($('.messages')[0].scrollHeight); }); $('.live_chat .close').on('click', function(){ $('.live_chat').css('display','none'); }); $('.live_chat .upload_photo, .live_chat .lc_upload_photo').on('click', function(){ document.getElementById('photo').click(); }); /*if(localStorage.getItem('chat_name') && localStorage.getItem('chat_gender')){ chat.name = localStorage.getItem('chat_name'); chat.gender = localStorage.getItem('chat_gender'); }else{ chat.gender = null; chat.name = null; }*/ document.getElementById('photo').addEventListener('change', e => { $('.upload_photo').html('Uploading Please Wait...'); var data = new FormData(); data.append('photo', $('input[type=file]')[0].files[0]); $.ajax({ url: "/api.php?method=photo&key="+chat.key, // Url to which the request is send type: "POST", // Type of request to be send, called as method data: data, // Data sent to server, a set of key/value pairs (i.e. form fields and values) contentType: false, // The content type used when sending data to the server. cache: false, // To unable request pages to be cached processData:false, // To send DOMDocument or non processed data file it is set to false success: function(data) // A function to be called if request succeeds { if(data.pass){ $('.upload_photo').html('Upload a Photo'); }else{ alert('Could not upload this photo, try again'); } } }); }); var config = { apiKey: "AIzaSyDcmWPiN7bIHame6BVFl-YVcDbSE4RwQ28", databaseURL: "https://poo-fetish.firebaseio.com" }; firebase.initializeApp(config); chat.setInput(); $('.live_chat textarea').keyup(function(e){ e.stopImmediatePropagation(); e.stopPropagation(); e.preventDefault(); if(e.keyCode == 13) { if(chat.key){ chat.send($(this).val()); $(this).val(''); autosize.update(''); }else{ document.location = '/auth/login' return false; } } }); $('.live_chat .register input').on('keyup',function(e){ chat.name = $(this).val(); chat.validate(); }); $('.live_chat .register .gender .half div').on('click', function(){ $('.live_chat .gender .active').removeClass('active'); $(this).addClass('active'); chat.gender = $(this).attr('data-id'); chat.validate(); }); $('.live_chat .register .button').on('click',function(e){ if(chat.valid){ //Setup localStorage.setItem('chat_name', chat.name); localStorage.setItem('chat_gender', chat.gender); chat.setInput(); } }); chat.load(); $('.messages').scrollTop($('.messages')[0].scrollHeight); /*var awayCallback = function() { chat.setUser('OFFLINE'); }; var awayBackCallback = function() { chat.setUser('ONLINE'); }; var hiddenCallback = function() { chat.setUser('OFFLINE'); }; var visibleCallback = function(){ chat.setUser('ONLINE'); }; var idle = new Idle({ onHidden : hiddenCallback, onVisible : visibleCallback, onAway : awayCallback, onAwayBack : awayBackCallback, awayTimeout : 10000 }); chat.setUser('ONLINE');*/ }, setInput: function(){ /*chat.name && chat.gender*/ if(chat.key){ $('.live_chat .register').hide(); $('.live_chat .footer').show(); $('.live_chat .footer textarea').focus(); if($('.video-info-stats .share .btn').length){ $('.video-info-stats .share .btn').show(); $('.video-info-stats .share .btn').on('tap',function(){ $(this).off('tap'); chat.share(); }); } //autosize($('.live_chat .footer textarea')); autosize($('.live_chat textarea')); }else{ $('.live_chat .register').show(); $('.live_chat .footer').hide(); } }, load: function(){ /*firebase.database().ref("users").on("value", function(snapshot) { var users_online = snapshot.numChildren(); if(users_online == 1){ $('.live_chat .footer .users_online').html('There is only 1 user online'); }else{ $('.live_chat .footer .users_online').html(users_online+' Users Online Now'); } });*/ $('.live_chat .footer .users_online').hide(); firebase.database().ref(chat.room).limitToLast(chat.limit).on('child_added', function(snapshot) { if(snapshot.val()['ip'] == chat.ip){ var side = 'right'; }else{ var side = 'left'; } var id = snapshot.key; var time = chat.time - snapshot.val()['createdAt']; var username = snapshot.val()['username']; var gender = (snapshot.val()['gender'])?snapshot.val()['gender']:'male'; var render = '<div class="message_wrap" id="'+id+'"><div class="message '+side+' '+gender+'">'; if(snapshot.val()['video_url']){ render += '<span>'+username+' shared a video</span>'+ '<a href="'+snapshot.val()['video_url']+'" class="image_wrap">'+ ' <img src="'+snapshot.val()['video_image']+'"/>'+ '</a>'; }else if(snapshot.val()['photo']){ render += '<span>'+username+' shared a photo</span>'+ '<a href="'+snapshot.val()['photo']+'" target="_blank" class="image_wrap">'+ ' <img src="'+snapshot.val()['photo']+'"/>'+ '</a>'; }else{ //var message = snapshot.val()['message'].replace(/[^a-zA-Z0-9 ]/g, ""); var message = snapshot.val()['message']; //message.innerHTML = x; render += '<span>'+username+'</span>'; render += message; } render += ` </div> <div class="time ${side}">${chat.timeAgo(time)}</div> </div> <div class="new_line"></div>`; $('.messages').append(render); $('.messages').scrollTop($('.messages')[0].scrollHeight); }); }, send: function(message){ //message = message.replace(/(?:https?|ftp):\/\/[\n\S]+/g, ''); //message = chat.htmlEntities(message); if(message.length >= 2){ $.post( "/api.php", { method: 'chat', key: chat.key, message: message }, function( data ) { }); } }, share: function(){ var video_url = $('meta[property="og:url"]').attr("content"); var video_title = $('meta[property="og:title"]').attr("content"); var video_image = $('meta[property="og:image"]').attr("content"); $.post( "/api.php", { method: 'share', key: chat.key, video_url, video_image, video_url }, function( data ) { }); }, setUser: (status) => { /*if(status == 'OFFLINE'){ firebase.database().ref('users/'+chat.key).set({}); return; } firebase.database().ref('users/'+chat.key).set({ status: status, ip: chat.ip, page: window.location.href, createdAt: firebase.database.ServerValue.TIMESTAMP });*/ }, htmlEntities: function(str) { return String(str).replace(/&/g, '&').replace(/</g, '<').replace(/>/g, '>').replace(/"/g, '"').replace('kik', ''); }, validate : () => { var valid = true; if(!chat.name){ valid = false; } if(!chat.gender){ valid = false; } if(valid){ $('.live_chat .register .button').removeClass('disabled'); chat.valid = true; }else{ $('.live_chat .register .button').addClass('disabled'); chat.valid = false; } }, timeAgo : function(seconds) { var minutes = Math.floor(seconds / 60); var hours = Math.floor(seconds / 3600); var days = Math.floor(seconds / 86400); if(minutes < 60){ if(minutes < 1){ return 'Just now'; }else{ return minutes + ((minutes == 1) ? ' minute ago' : ' minutes ago'); } } if(hours < 24){ return hours + ((hours == 1) ? ' hour ago' : ' hours ago'); } return days + ((days == 1) ? ' day ago' : ' days ago'); } } $(document).ready(function(){ chat.init(); });
| ver. 1.4 |
Github
|
.
| PHP 7.0.33-0ubuntu0.16.04.16 | Генерация страницы: 0 |
proxy
|
phpinfo
|
Настройка