<!DOCTYPE html PUBLIC "-//WAPFORUM//DTD XHTML Mobile 1.2//EN" "http://www.openmobilealliance.org/tech/DTD/xhtml-mobile12.dtd">
<html lang="ru-Ru">
<head>
<title>Axwell Firebase Chat</title>
<meta charset="utf-8">
<link rel="stylesheet" type="text/css" href="/css/style.css">
<link rel="stylesheet" type="text/css" href="/css/chat.css" />
<link rel="stylesheet" type="text/css" href="/css/xbb.css" />
<script src="/sys/jquery.js"></script>
<script src="/sys/core.js"></script>
<script src="/sys/functions.js"></script>
<script src="//twemoji.maxcdn.com/twemoji.min.js"></script>
<script>
twemoji.size = '36x36';
</script>
<script src="/sys/myParser.js"></script>
<meta name="viewport" content="width=device-width" />
</head>
<body>
<div class="header" id="h"><a onclick="litechat.data(litechat.at)"><b><i>Чат</i></b></a> <span style="float:right"><a onclick="fade('demoPopup1',true);">Профиль</a></span></div>
<div id="chat">
<script>
area_.focus();
</script>
<div id="demoPopup1" class="demoPopup"><div class="demoPopuptitle">Профиль <span style="float: right; color: #000;"><button onclick="fade('demoPopup1',false);" style="background: none; border: 0;">[<span style="color: red;">x</span>]</button></span></div><div class="demoPopupbody">Ник:<br/> <input id="name_" value="" /><br/> Цвет: <br/><input id="color_" value="" /><br/><br/><a onclick="fade('demoPopup1',false);" style="background: #1e90ff; color: #fff; padding: 8px; text-transform: uppercase; border-radius: 3px;">Сохранить</a> <br/><br/><br/><br/><br/><br/><br/><br/><br/><br/><br/><br/><br/><br/><br/><br/><br/><br/><br/><br/><br/><br/><br/><br/><br/><br/><br/><br/><br/><br/><br/><br/><br/><br/><br/><br/><br/><br/><br/><br/><br/><br/><br/><br/><br/><br/><br/><br/><br/><br/><br/><br/><br/><br/><br/><br/><br/><br/><br/><br/><br/><br/><br/><br/><br/><br/><br/><br/><br/><br/><br/><br/><br/><br/><br/><br/><br/><br/><br/><br/><br/><br/><br/><br/><br/><br/><br/><br/><br/><br/><br/><br/><br/><br/><br/><br/><br/><br/><br/><br/><br/><br/><br/><br/><br/><br/><br/><br/><br/><br/><br/><br/><br/><br/><br/><br/><br/><br/><br/><br/><br/><br/><br/><br/><br/><br/><br/><br/><br/><br/><br/><br/><br/><br/><br/><br/><br/><br/><br/><br/><br/><br/><br/><br/><br/><br/><br/><br/><br/><br/><br/><br/><br/><br/><br/><br/><br/><br/><br/><br/><br/><br/><br/><br/><br/><br/><br/><br/><br/><br/><br/><br/><br/><br/><br/><br/><br/><br/><br/><br/><br/><br/><br/><br/><br/><br/><br/><br/><br/><br/><br/><br/><br/><br/><br/><br/><br/><br/><br/><br/><br/><br/><br/><br/><br/><br/><br/><br/><br/><br/><br/><br/><br/><br/><br/><br/><br/><br/><br/><br/></div></div>
<table width="100%" class="input_foot" cellspacing="0" cellpadding="0" style="max-width: 100%;"><tr><td><textarea rows="1" id="area_"></textarea></td><td>
<button class="send fa-paper-plane" onclick="
var t=area_.val();
if(config.name&&t){
config.color=color_.val()
config.name=name_.val()
onconf()
litechat.send(config.name,t);
area_.val('')
}" id="sendButton" style="color: #1e90ff;font-weight:bold;"><img src="/img/send.png" alt="Отпр."/></button></td></tr></table>
<div class="chat-area"><ul class="messages" id="msgs_" style="word-wrap: break-word;word-break: break-word;"></ul></div>
<script>
function getUnical(b,a){for(var i=0;b.length>i;i++)for(var j=0;a.length>j;j++)if(b[i]==a[j]){a.splice(j,1);break}return a}
function uni(n,r){var u=[];return r.forEach(function(f,i){var a=n.indexOf(f);-1==a&&u.push(r[i])}),u}
var default_config={
name:"Гость",
uid:new Date().getTime(),
color:"black",
insert: "before",
autofocus: true,
vibro:false,
notify:false,
sound:true
},
/*не трогать*/my_ip = '195.88.209.248',
/*не трогать*/o_O = function(c){my_ip = c.ip}
var config = default_config;
try {
config = JSON.parse(monster.get('config')) || default_config
} catch (e) {}
if(!config.uid==true){config.uid=new Date().getTime()}
var random_id = new Date().getTime()
function onconf(){monster.set('config',JSON.stringify(config),999)}
//getUnical(["a","b","c"],"abYZcH".split(""));
var msgs_ = $('#msgs_'),
color_ = $('#color_'),
name_ = $('#name_'),
area_ = $('#area_');
color_.val(config.color)
name_.val(config.name)
var litechat = {
oldMem:[],
at:'',
ot:'',
send:function(name,text){
$.ajax({
url: 'https://lark-8e158.firebaseio.com/uchat/messages.json',
type: 'POST',
data: JSON.stringify({
name : name,
text : text,
color : config.color,
ip : my_ip, /*не трогать*/
time : {".sv": "timestamp"}, /*не трогать*/
\u0072: '\u0030'
}),
dataType: 'json',
success: function(data){litechat.data(litechat.ot);}
})
},
data:function(at){
$.ajax({
url: 'https://lark-8e158.firebaseio.com/uchat/messages.json',
type: 'GET',
data: 'orderBy="time"&limitToLast=30'+(at!=''?'&startAt='+at:''),
dataType: 'json',
cache:false,
success: function(data){
var newMem = Object.keys(data)
litechat.ot = litechat.at
litechat.at = data[newMem[newMem.length-1]].time||''
var news = uni(litechat.oldMem,newMem);
litechat.oldMem = newMem;
//console.log(news)
for(var i=0;news.length > i;i++){
data[news[i]].id = news[i]
litechat.insertMsg(data[news[i]])
}
}
});
},
insertMsg:function(msg) {
/////// БАНЫ ПО IP ///////
if(msg.ip == '1.1.1.1' || msg.ip == '2.2.2.2') {return false}
var text = msg.text,
text = XBBCODE.process({text:myParser(text),removeMisalignedTags: false,addInLineBreaks:true}).html,
text = twemoji.parse(text),
date = new Date(msg.time),m=date.getMinutes(),m=m<10?'0'+m:m,date=date.getHours()+':'+m,
li=document.createElement('li');
li.className='message'/*+(random_id==msg.r?' me unread':' server')*/;
li.id='msg'+msg.id;
li.innerHTML='<div onclick="area_.val(this.textContent+\', \')" class="info"><div><span style="color:'+msg.color.replace(/</g,'<')+'">'+msg.name.replace(/</g,'<')+'</span></div></div>\
<div class="text">\
<div class="time" time="'+date+'">\
<div class="ip">\
<div><a href="https://ipinfo.io/'+msg.ip+'" target="_blank">'+msg.ip+'</a></div>\
<div><a href="https://lark-8e158.firebaseio.com/uchat/messages/'+msg.id+'/text.json?download='+msg.id+'.txt">Скачать</a></div>\
</div>\
</div>\
<div class="inner">'+text+'</div>\
</div>';
msgs_.prepend(li);
}
}
litechat.data('');setInterval(function(){litechat.data(litechat.at)},4000) // интервал автообновления (4 сек)
</script>
<script src="http://ipinfo.io/json?callback=o_O"></script>
</div>
<!--Конец-->
<div class="footer copyLite"><b>©</b> by Axwell</div>
</body></html>