mirror of
https://gitlab.com/Shinobi-Systems/ShinobiCE.git
synced 2025-03-09 15:40:15 +00:00
Kicking Kangaroo
This commit is contained in:
parent
bc01b19714
commit
e0f7c135af
37 changed files with 1642 additions and 518 deletions
|
@ -34,3 +34,10 @@ tool.getVideoImage = function (path, secs, callback) {
|
|||
};
|
||||
video.src = path;
|
||||
}
|
||||
tool.checkCorrectPathEnding = function(x){
|
||||
var length=x.length
|
||||
if(x.charAt(length-1)!=='/'){
|
||||
x=x+'/'
|
||||
}
|
||||
return x
|
||||
}
|
||||
|
|
|
@ -3902,7 +3902,8 @@
|
|||
return (new Date(now.getTime() + now.getTimezoneOffset() * 60000));
|
||||
}
|
||||
var _this = this;
|
||||
var t = _this._ws = io(e.url,{
|
||||
var t = _this._ws = io(e.config.url,{
|
||||
path: e.config.path,
|
||||
transports:['websocket']
|
||||
});
|
||||
l._ws = t;
|
||||
|
@ -6277,4 +6278,4 @@
|
|||
}, {}]
|
||||
}, {}, [21])(21)
|
||||
});
|
||||
//# sourceMappingURL=flv.min.js.map
|
||||
//# sourceMappingURL=flv.min.js.map
|
||||
|
|
|
@ -7,7 +7,11 @@ window.chartColors = {
|
|||
purple: 'rgb(153, 102, 255)',
|
||||
grey: 'rgb(201, 203, 207)'
|
||||
};
|
||||
$user.details=JSON.parse($user.details)
|
||||
try{
|
||||
$user.details = JSON.parse($user.details)
|
||||
}catch(err){
|
||||
|
||||
}
|
||||
$.ccio={
|
||||
fr:$('#files_recent'),
|
||||
mon:{}
|
||||
|
@ -209,7 +213,7 @@ switch($user.details.lang){
|
|||
url=url+'/'
|
||||
}
|
||||
}else{
|
||||
url = '<%-originalURL%>'
|
||||
url = '<%-window.libURL%>'
|
||||
}
|
||||
return url
|
||||
break;
|
||||
|
@ -575,7 +579,7 @@ switch($user.details.lang){
|
|||
k.e=$('#monitor_live_'+d.mid+user.auth_token+' .stream-element');
|
||||
$.ccio.init('jpegModeStop',d,user);
|
||||
k.run=function(){
|
||||
k.e.attr('src',user.auth_token+'/jpeg/'+d.ke+'/'+d.mid+'/s.jpg?time='+(new Date()).getTime())
|
||||
k.e.attr('src',$.ccio.init('location',user)+user.auth_token+'/jpeg/'+d.ke+'/'+d.mid+'/s.jpg?time='+(new Date()).getTime())
|
||||
}
|
||||
k.e.load(function(){
|
||||
$.ccio.mon[d.ke+d.mid+user.auth_token].jpegInterval=setTimeout(k.run,1000/k.jpegInterval);
|
||||
|
@ -1876,7 +1880,7 @@ switch($user.details.lang){
|
|||
return ii.o
|
||||
}
|
||||
//websocket functions
|
||||
$.users={}
|
||||
$.users = {}
|
||||
$.ccio.globalWebsocket=function(d,user){
|
||||
if(d.f!=='monitor_frame'&&d.f!=='os'&&d.f!=='video_delete'&&d.f!=='detector_trigger'&&d.f!=='detector_record_timeout_start'&&d.f!=='log'){$.ccio.log(d);}
|
||||
if(!user){
|
||||
|
@ -2127,16 +2131,7 @@ $.ccio.globalWebsocket=function(d,user){
|
|||
if($.ccio.op().jpeg_on===true){
|
||||
$.ccio.init('jpegMode',$.ccio.mon[d.ke+d.id+user.auth_token]);
|
||||
}else{
|
||||
var url = $.ccio.init('location',user);
|
||||
var prefix = 'ws'
|
||||
if(location.protocol==='https:'){
|
||||
prefix = 'wss'
|
||||
}
|
||||
if(url==''){
|
||||
url = prefix+'://'+location.host+location.pathname
|
||||
}else{
|
||||
url = prefix+'://'+url.split('://')[1]
|
||||
}
|
||||
var path = tool.checkCorrectPathEnding(location.pathname)+'socket.io'
|
||||
switch(d.d.stream_type){
|
||||
case'jpeg':
|
||||
$.ccio.init('jpegMode',$.ccio.mon[d.ke+d.id+user.auth_token]);
|
||||
|
@ -2145,7 +2140,7 @@ $.ccio.globalWebsocket=function(d,user){
|
|||
if($.ccio.mon[d.ke+d.id+user.auth_token].Base64 && $.ccio.mon[d.ke+d.id+user.auth_token].Base64.connected){
|
||||
$.ccio.mon[d.ke+d.id+user.auth_token].Base64.disconnect()
|
||||
}
|
||||
$.ccio.mon[d.ke+d.id+user.auth_token].Base64 = io(url,{transports: ['websocket'], forceNew: false})
|
||||
$.ccio.mon[d.ke+d.id+user.auth_token].Base64 = io(location.origin,{ path: path, transports: ['websocket'], forceNew: false})
|
||||
var ws = $.ccio.mon[d.ke+d.id+user.auth_token].Base64
|
||||
var buffer
|
||||
ws.on('diconnect',function(){
|
||||
|
@ -2153,7 +2148,6 @@ $.ccio.globalWebsocket=function(d,user){
|
|||
})
|
||||
ws.on('connect',function(){
|
||||
ws.emit('Base64',{
|
||||
url: url,
|
||||
auth: user.auth_token,
|
||||
uid: user.uid,
|
||||
ke: d.ke,
|
||||
|
@ -2224,7 +2218,8 @@ $.ccio.globalWebsocket=function(d,user){
|
|||
ke:d.ke,
|
||||
uid:user.uid,
|
||||
id:d.id,
|
||||
url: url,
|
||||
url: location.origin,
|
||||
path: path,
|
||||
onError : onPoseidonError
|
||||
})
|
||||
$.ccio.mon[d.ke+d.id+user.auth_token].Poseidon.start();
|
||||
|
@ -2261,7 +2256,8 @@ $.ccio.globalWebsocket=function(d,user){
|
|||
id:d.id,
|
||||
maxLatency:d.d.stream_flv_maxLatency,
|
||||
hasAudio:false,
|
||||
url: url
|
||||
url: location.origin,
|
||||
path: path
|
||||
}
|
||||
}else{
|
||||
options = {
|
||||
|
@ -2338,14 +2334,13 @@ $.ccio.globalWebsocket=function(d,user){
|
|||
$.ccio.mon[d.ke+d.id+user.auth_token].h265HttpStream.abort()
|
||||
}
|
||||
if(d.d.stream_flv_type==='ws'){
|
||||
$.ccio.mon[d.ke+d.id+user.auth_token].h265Socket = io(url,{transports: ['websocket'], forceNew: false})
|
||||
$.ccio.mon[d.ke+d.id+user.auth_token].h265Socket = io(location.origin,{ path: path, transports: ['websocket'], forceNew: false})
|
||||
var ws = $.ccio.mon[d.ke+d.id+user.auth_token].h265Socket
|
||||
ws.on('diconnect',function(){
|
||||
console.log('h265Socket Stream Disconnected')
|
||||
})
|
||||
ws.on('connect',function(){
|
||||
ws.emit('h265',{
|
||||
url: url,
|
||||
auth: user.auth_token,
|
||||
uid: user.uid,
|
||||
ke: d.ke,
|
||||
|
@ -2469,7 +2464,9 @@ $.ccio.globalWebsocket=function(d,user){
|
|||
}
|
||||
$.ccio.init('monitorInfo',d)
|
||||
$.gR.drawList();
|
||||
$.ccio.init('note',{title:'Monitor Saved',text:'<b>'+d.mon.name+'</b> <small>'+d.mon.mid+'</small> has been saved.',type:'success'});
|
||||
if(!d.silenceNote){
|
||||
$.ccio.init('note',{title:'Monitor Saved',text:'<b>'+d.mon.name+'</b> <small>'+d.mon.mid+'</small> has been saved.',type:'success'});
|
||||
}
|
||||
break;
|
||||
case'monitor_starting':
|
||||
// switch(d.mode){case'start':d.mode='Watch';break;case'record':d.mode='Record';break;}
|
||||
|
@ -2632,7 +2629,7 @@ $.ccio.globalWebsocket=function(d,user){
|
|||
}
|
||||
}
|
||||
$user.ws=io(location.origin,{
|
||||
path : location.pathname+'socket.io'
|
||||
path : tool.checkCorrectPathEnding(location.pathname)+'socket.io'
|
||||
});
|
||||
$user.ws.on('connect',function (d){
|
||||
$(document).ready(function(e){
|
||||
|
@ -2751,7 +2748,6 @@ $user.ws.on('f',function (d){
|
|||
d.currentlyEditing=$.aM.e.attr('mid')
|
||||
if(d.currentlyEditing&&d.currentlyEditing!==''){
|
||||
d.currentlyEditing=JSON.parse(JSON.parse($.ccio.mon[d.currentlyEditing].details).detector_cascades)
|
||||
console.log(d.currentlyEditing)
|
||||
$.each(d.currentlyEditing,function(m,b){
|
||||
d.e=$('.detector_cascade_selection[value="'+m+'"]').prop('checked',true)
|
||||
d.p=d.e.parents('.mdl-js-switch')
|
||||
|
@ -3001,6 +2997,7 @@ $.zO.initCanvas=function(){
|
|||
$.zO.f.find('[name="sensitivity"]').val('')
|
||||
$.zO.f.find('[name="max_sensitivity"]').val('')
|
||||
$.zO.f.find('[name="threshold"]').val('')
|
||||
$.zO.f.find('[name="color_threshold"]').val('')
|
||||
$.zO.rp.empty()
|
||||
}else{
|
||||
e.cord=$.zO.regionViewerDetails.cords[e.val];
|
||||
|
@ -3016,6 +3013,7 @@ $.zO.initCanvas=function(){
|
|||
$.zO.f.find('[name="sensitivity"]').val(e.cord.sensitivity)
|
||||
$.zO.f.find('[name="max_sensitivity"]').val(e.cord.max_sensitivity)
|
||||
$.zO.f.find('[name="threshold"]').val(e.cord.threshold)
|
||||
$.zO.f.find('[name="color_threshold"]').val(e.cord.color_threshold)
|
||||
$.zO.e.find('.canvas_holder canvas').remove();
|
||||
|
||||
$.zO.initLiveStream()
|
||||
|
@ -3120,7 +3118,7 @@ $.zO.e.on('click','.add',function(e){
|
|||
}
|
||||
})
|
||||
$.zO.regionViewerDetails.cords=e.save;
|
||||
$.zO.regionViewerDetails.cords[e.gid]={name:e.gid,sensitivity:0.0005,max_sensitivity:'',threshold:1,points:[[0,0],[0,100],[100,0]]};
|
||||
$.zO.regionViewerDetails.cords[e.gid]={name:e.gid,sensitivity:0.0005,max_sensitivity:'',threshold:1,color_threshold:9,points:[[0,0],[0,100],[100,0]]};
|
||||
$.zO.rl.append('<option value="'+e.gid+'">'+e.gid+'</option>');
|
||||
$.zO.rl.val(e.gid)
|
||||
$.zO.rl.change();
|
||||
|
@ -3576,6 +3574,7 @@ $.aM.generateDefaultMonitorSettings=function(){
|
|||
"detector_sensitivity": "",
|
||||
"detector_max_sensitivity": "",
|
||||
"detector_threshold": "1",
|
||||
"detector_color_threshold": "",
|
||||
"cords": "[]",
|
||||
"detector_buffer_vcodec": "auto",
|
||||
"detector_buffer_fps": "",
|
||||
|
@ -4204,6 +4203,10 @@ $.apM.f.submit(function(e){
|
|||
if(!e.s.ip||e.s.ip.length<7){e.er.push('Enter atleast one IP')}
|
||||
if(e.er.length>0){$.apM.e.find('.msg').html(e.er.join('<br>'));return;}
|
||||
$.each(e.s,function(n,v){e.s[n]=v.trim()})
|
||||
// e.s = {
|
||||
// "ip": "",
|
||||
// "details": "{\"get_monitors\":\"1\",\"control_monitors\":\"1\",\"get_logs\":\"1\",\"watch_stream\":\"1\",\"watch_snapshot\":\"1\",\"watch_videos\":\"1\",\"delete_videos\":\"1\"}"
|
||||
// }
|
||||
$.post($.ccio.init('location',$user)+$user.auth_token+'/api/'+$user.ke+'/add',{data:JSON.stringify(e.s)},function(d){
|
||||
$.ccio.log(d)
|
||||
})
|
||||
|
@ -5695,7 +5698,7 @@ $('body')
|
|||
}
|
||||
if(!e.d.cords||e.d.cords===''){
|
||||
e.d.cords={
|
||||
red:{ name:"red",sensitivity:0.0005, max_sensitivity:"",points:[[0,0],[0,100],[100,0]] },
|
||||
red:{ name:"red",sensitivity:0.0005, max_sensitivity:"",color_threshold:"",points:[[0,0],[0,100],[100,0]] },
|
||||
}
|
||||
}
|
||||
$.zO.regionViewerDetails=e.d;
|
||||
|
@ -6104,14 +6107,14 @@ $('body')
|
|||
})
|
||||
}
|
||||
//set dropdown toggle preferences
|
||||
e.o=$.ccio.op().dropdown_toggle;
|
||||
e.o = $.ccio.op().dropdown_toggle
|
||||
if(e.o){
|
||||
$.each(e.o,function(n,v){
|
||||
$('[dropdown_toggle="'+n+'"]').val(v).change()
|
||||
})
|
||||
}
|
||||
//set localStorage input values
|
||||
e.o=$.ccio.op();
|
||||
e.o = $.ccio.op()
|
||||
if(e.o){
|
||||
$.each(e.o,function(n,v){
|
||||
if(typeof v==='string'){
|
||||
|
|
|
@ -243,7 +243,7 @@ var Poseidon = function () {
|
|||
}
|
||||
this._playing = true;
|
||||
var _this = this;
|
||||
this._socket = io(_this._monitor.url, { transports: ['websocket'], forceNew: false });
|
||||
this._socket = io(_this._monitor.url, { path: _this._monitor.path, transports: ['websocket'], forceNew: false });
|
||||
this._addSocketEvents();
|
||||
if (this._startstop) {
|
||||
this._startstop.disabled = false;
|
||||
|
|
|
@ -1,14 +1,17 @@
|
|||
<%
|
||||
window.libURL = originalURL + global.s.checkCorrectPathEnding(config.webPaths.admin)
|
||||
%>
|
||||
<% include blocks/header %>
|
||||
<script>$user=<%-JSON.stringify($user)%></script>
|
||||
<link rel="stylesheet" href="<%-originalURL%>libs/css/pnotify.custom.min.css">
|
||||
<link rel="stylesheet" href="<%-originalURL%>libs/css/vbox.css">
|
||||
<link rel="stylesheet" href="<%-originalURL%>libs/css/circles.css">
|
||||
<link rel="stylesheet" href="<%-originalURL%>libs/css/admin-page.css">
|
||||
<link rel="stylesheet" href="<%-originalURL%>libs/css/bootstrap.min.css">
|
||||
<link rel="stylesheet" href="<%-originalURL%>libs/css/font-awesome.min.css">
|
||||
<link rel="stylesheet" href="<%-originalURL%>libs/css/fullcalendar.min.css">
|
||||
<link rel="stylesheet" href="<%-originalURL%>libs/css/bootstrap-table.min.css">
|
||||
<link rel="stylesheet" href="<%-originalURL%>libs/css/main.dash2.css">
|
||||
<link rel="stylesheet" href="<%-window.libURL%>libs/css/pnotify.custom.min.css">
|
||||
<link rel="stylesheet" href="<%-window.libURL%>libs/css/vbox.css">
|
||||
<link rel="stylesheet" href="<%-window.libURL%>libs/css/circles.css">
|
||||
<link rel="stylesheet" href="<%-window.libURL%>libs/css/admin-page.css">
|
||||
<link rel="stylesheet" href="<%-window.libURL%>libs/css/bootstrap.min.css">
|
||||
<link rel="stylesheet" href="<%-window.libURL%>libs/css/font-awesome.min.css">
|
||||
<link rel="stylesheet" href="<%-window.libURL%>libs/css/fullcalendar.min.css">
|
||||
<link rel="stylesheet" href="<%-window.libURL%>libs/css/bootstrap-table.min.css">
|
||||
<link rel="stylesheet" href="<%-window.libURL%>libs/css/main.dash2.css">
|
||||
<body class="shinobi-bg">
|
||||
<div class="container-fluid">
|
||||
<div class="container">
|
||||
|
@ -80,6 +83,7 @@
|
|||
<% include blocks/confirm.ejs %>
|
||||
<% include blocks/subpermissions.ejs %>
|
||||
</body>
|
||||
<script><% include ../libs/js/basic.js %></script>
|
||||
<script><% include ../libs/js/socket.io.js %></script>
|
||||
<script><% include ../libs/js/pnotify.custom.min.js %></script>
|
||||
<script><% include ../libs/js/moment.js %></script>
|
||||
|
@ -89,7 +93,9 @@
|
|||
<script><% include ../libs/js/bootstrap-table.min.js %></script>
|
||||
<script>
|
||||
$.ccio={subs:{}};$.ls=localStorage;
|
||||
$.ccio.ws=io(location.origin);
|
||||
$.ccio.ws=io(location.origin,{
|
||||
path : tool.checkCorrectPathEnding(location.pathname)+'socket.io'
|
||||
});
|
||||
$.ccio.cx=function(x){if(!x.ke){x.ke=$user.ke;};if(!x.uid){x.uid=$user.uid;};return $.ccio.ws.emit('a',x)}
|
||||
$.ccio.ws.on('connect',function(d){
|
||||
$.ccio.cx({f:'init',auth:$user.auth_token});
|
||||
|
|
|
@ -1,14 +1,17 @@
|
|||
<link rel="icon" href="<%-originalURL%>libs/img/icon/favicon.ico" type="image/x-icon" />
|
||||
<link rel="shortcut icon" href="<%-originalURL%>libs/img/icon/favicon.ico" type="image/x-icon" />
|
||||
<%
|
||||
if(!window.libURL)window.libURL = originalURL
|
||||
%>
|
||||
<link rel="icon" href="<%-window.libURL%>libs/img/icon/favicon.ico" type="image/x-icon" />
|
||||
<link rel="shortcut icon" href="<%-window.libURL%>libs/img/icon/favicon.ico" type="image/x-icon" />
|
||||
<meta name="apple-mobile-web-app-capable" content="yes">
|
||||
<meta name="apple-mobile-web-app-status-bar-style" content="black">
|
||||
<meta name="apple-mobile-web-app-title" content="Shinobi">
|
||||
<link rel="apple-touch-icon" href="/apple-touch-icon.png" />
|
||||
<link rel="apple-touch-icon" sizes="57x57" href="<%-originalURL%>libs/img/icon/apple-touch-icon-57x57.png" />
|
||||
<link rel="apple-touch-icon" sizes="72x72" href="<%-originalURL%>libs/img/icon/apple-touch-icon-72x72.png" />
|
||||
<link rel="apple-touch-icon" sizes="76x76" href="<%-originalURL%>libs/img/icon/apple-touch-icon-76x76.png" />
|
||||
<link rel="apple-touch-icon" sizes="114x114" href="<%-originalURL%>libs/img/icon/apple-touch-icon-114x114.png" />
|
||||
<link rel="apple-touch-icon" sizes="120x120" href="<%-originalURL%>libs/img/icon/apple-touch-icon-120x120.png" />
|
||||
<link rel="apple-touch-icon" sizes="144x144" href="<%-originalURL%>libs/img/icon/apple-touch-icon-144x144.png" />
|
||||
<link rel="apple-touch-icon" sizes="152x152" href="<%-originalURL%>libs/img/icon/apple-touch-icon-152x152.png" />
|
||||
<link rel="apple-touch-icon" sizes="180x180" href="<%-originalURL%>libs/img/icon/apple-touch-icon-180x180.png" />
|
||||
<link rel="apple-touch-icon" href="<%-window.libURL%>libs/img/icon/apple-touch-icon.png" />
|
||||
<link rel="apple-touch-icon" sizes="57x57" href="<%-window.libURL%>libs/img/icon/apple-touch-icon-57x57.png" />
|
||||
<link rel="apple-touch-icon" sizes="72x72" href="<%-window.libURL%>libs/img/icon/apple-touch-icon-72x72.png" />
|
||||
<link rel="apple-touch-icon" sizes="76x76" href="<%-window.libURL%>libs/img/icon/apple-touch-icon-76x76.png" />
|
||||
<link rel="apple-touch-icon" sizes="114x114" href="<%-window.libURL%>libs/img/icon/apple-touch-icon-114x114.png" />
|
||||
<link rel="apple-touch-icon" sizes="120x120" href="<%-window.libURL%>libs/img/icon/apple-touch-icon-120x120.png" />
|
||||
<link rel="apple-touch-icon" sizes="144x144" href="<%-window.libURL%>libs/img/icon/apple-touch-icon-144x144.png" />
|
||||
<link rel="apple-touch-icon" sizes="152x152" href="<%-window.libURL%>libs/img/icon/apple-touch-icon-152x152.png" />
|
||||
<link rel="apple-touch-icon" sizes="180x180" href="<%-window.libURL%>libs/img/icon/apple-touch-icon-180x180.png" />
|
||||
|
|
|
@ -1,17 +1,18 @@
|
|||
<head>
|
||||
<title><%-lang.Shinobi%></title>
|
||||
<% if(!window.libURL)window.libURL = originalURL + global.s.checkCorrectPathEnding(config.webPaths.home) %>
|
||||
<% include header-meta.ejs %>
|
||||
<meta http-equiv="content-type" content="text/html;charset=UTF-8">
|
||||
<meta http-equiv="X-UA-Compatible" content="IE=edge">
|
||||
<link rel="stylesheet" href="<%-originalURL%>libs/css/bootstrap.min.css">
|
||||
<link rel="stylesheet" href="<%-originalURL%>libs/css/login.css">
|
||||
<link rel="stylesheet" href="<%-originalURL%>libs/css/material.min.css">
|
||||
<link rel="stylesheet" href="<%-originalURL%>libs/css/material.style.css">
|
||||
<link rel="stylesheet" href="<%-window.libURL%>libs/css/bootstrap.min.css">
|
||||
<link rel="stylesheet" href="<%-window.libURL%>libs/css/login.css">
|
||||
<link rel="stylesheet" href="<%-window.libURL%>libs/css/material.min.css">
|
||||
<link rel="stylesheet" href="<%-window.libURL%>libs/css/material.style.css">
|
||||
<meta name="mobile-web-app-capable" content="yes">
|
||||
<% include header-favicon.ejs %>
|
||||
<script src="<%-originalURL%>libs/js/jquery.min.js"></script>
|
||||
<script src="<%-originalURL%>libs/js/jquery-ui.min.js"></script>
|
||||
<script src="<%-originalURL%>libs/js/jquery.serialize.js"></script>
|
||||
<script src="<%-window.libURL%>libs/js/jquery.min.js"></script>
|
||||
<script src="<%-window.libURL%>libs/js/jquery-ui.min.js"></script>
|
||||
<script src="<%-window.libURL%>libs/js/jquery.serialize.js"></script>
|
||||
</head>
|
||||
<% cleanLang = function(string){
|
||||
if(!string){string=''}
|
||||
|
|
|
@ -10,7 +10,7 @@
|
|||
<h4 class="modal-title" id="help_windowLabel"><i class="fa fa-question-circle"></i> <span><%-lang.Help%></span></h4>
|
||||
</div>
|
||||
<div class="modal-body">
|
||||
<a href="http://shinobi.video/docs/donate"><img src="<%-originalURL%>libs/img/icon/apple-touch-icon-152x152.png" class="pull-right" style="border-radius:50%;margin-left:20px;border: 1px solid #c3996b;"></a>
|
||||
<a href="http://shinobi.video/docs/donate"><img src="<%-window.libURL%>libs/img/icon/apple-touch-icon-152x152.png" class="pull-right" style="border-radius:50%;margin-left:20px;border: 1px solid #c3996b;"></a>
|
||||
<p>For information about how to use Shinobi you can check out the <a target="_blank" href="http://shinobi.video/docs">Docs</a>.</p>
|
||||
<p>If you would like to get professional support please consider ordering a <a href="http://shinobi.video/support">support package</a>. You can find <b>Moe Alam, The Author</b>, on the <a target="_blank" href="https://discord.gg/ehRd8Zz">Discord</a> Community Chat. For general questions and community support you can also try <a href="https://www.reddit.com/r/ShinobiCCTV">Reddit</a>.</p>
|
||||
<p><strong>Support </strong> <a href="http://shinobi.video/support">from @moeiscool</a></p>
|
||||
|
|
|
@ -143,6 +143,30 @@
|
|||
</select></div>
|
||||
</label>
|
||||
</div>
|
||||
<div class="form-group h_l_input h_l_limited">
|
||||
<label><div><span><%-lang['Use Global Amazon S3 Video Storage']%></span></div>
|
||||
<div><select class="form-control" detail="aws_use_global">
|
||||
<option value="1" selected><%-lang.Yes%></option>
|
||||
<option value="0"><%-lang.No%></option>
|
||||
</select></div>
|
||||
</label>
|
||||
</div>
|
||||
<div class="form-group h_l_input h_l_limited">
|
||||
<label><div><span><%-lang['Use Global Backblaze B2 Video Storage']%></span></div>
|
||||
<div><select class="form-control" detail="b2_use_global">
|
||||
<option value="1" selected><%-lang.Yes%></option>
|
||||
<option value="0"><%-lang.No%></option>
|
||||
</select></div>
|
||||
</label>
|
||||
</div>
|
||||
<div class="form-group h_l_input h_l_limited">
|
||||
<label><div><span><%-lang['Use Global WebDAV Video Storage']%></span></div>
|
||||
<div><select class="form-control" detail="webdav_use_global">
|
||||
<option value="1" selected><%-lang.Yes%></option>
|
||||
<option value="0"><%-lang.No%></option>
|
||||
</select></div>
|
||||
</label>
|
||||
</div>
|
||||
</div>
|
||||
<div class="modal-footer">
|
||||
<button type="button" class="btn btn-default pull-left" data-dismiss="modal"><i class="fa fa-times"></i> <%-lang.Close%></button>
|
||||
|
@ -223,6 +247,14 @@ $.aN.e.on('change','[selector]',function(e){
|
|||
$.aN.e.find('.'+e.a+'_input').hide()
|
||||
$.aN.e.find('.'+e.a+'_'+e.v).show();
|
||||
}).find('[selector]').change();
|
||||
$.aN.e.find('[detail="permissions"]').change(function(){
|
||||
var hasAllPrivileges = $(this).val() === 'all'
|
||||
var theClass = $('.h_l_limited')
|
||||
if(hasAllPrivileges){
|
||||
theClass.find('select').val('1')
|
||||
theClass.find('input').val('')
|
||||
}
|
||||
})
|
||||
//simple lister
|
||||
$.aC={e:$('#accounts')};$.aC.t=$.aC.e.find('table')
|
||||
$.aC.e.on('click','.add',function(e){
|
||||
|
|
|
@ -1141,7 +1141,7 @@
|
|||
</div>
|
||||
</div>
|
||||
</div>
|
||||
<div class="form-group-group orange shinobi-detector-opencv shinobi-detector-openalpr shinobi-detector-pythonyolo shinobi-detector-yolo shinobi-detector-pythondlib shinobi-detector_plug" section id="monSectionDetectorObject">
|
||||
<div class="form-group-group orange shinobi-detector-opencv shinobi-detector-openalpr shinobi-detector-yolo shinobi-detector-dlib shinobi-detector_plug" section id="monSectionDetectorObject">
|
||||
<h4><%-lang['Object Detection']%> <small><%-lang['Plugin']%> : <b class="shinobi-detector_name"></b> <b class="shinobi-detector-invert"><%-lang['Not Connected']%></b><b class="shinobi-detector" style="display:none"><%-lang['Connected']%></b></small></h4>
|
||||
<div class="form-group">
|
||||
<label><div><span><%-lang['Detect Objects']%></span></div>
|
||||
|
|
|
@ -1,6 +1,6 @@
|
|||
<% include blocks/header %>
|
||||
<script>var $user=<%- JSON.stringify($user) %>;</script>
|
||||
<link rel="stylesheet" href="<%-originalURL%>libs/css/bootstrap.min.css">
|
||||
<link rel="stylesheet" href="<%-window.libURL%>libs/css/bootstrap.min.css">
|
||||
<div id="main" class="container">
|
||||
<a class="btn btn-danger btn-lg" record>Stream</a>
|
||||
<div>
|
||||
|
@ -19,13 +19,15 @@ requires https or firefox
|
|||
</div>
|
||||
<video id="video"><source></video>
|
||||
<canvas id="canvas"></canvas>
|
||||
<script src="<%-originalURL%>libs/js/jquery.min.js"></script>
|
||||
<script src="<%-originalURL%>libs/js/socket.io.js"></script>
|
||||
<script src="<%-originalURL%>libs/js/menu.js"></script>
|
||||
<script src="<%-window.libURL%>libs/js/jquery.min.js"></script>
|
||||
<script src="<%-window.libURL%>libs/js/socket.io.js"></script>
|
||||
<script src="<%-window.libURL%>libs/js/menu.js"></script>
|
||||
<script>
|
||||
$.ccio = {}
|
||||
$.ls = localStorage
|
||||
$.ccio.ws = io(location.origin)
|
||||
$.ccio.ws=io(location.origin,{
|
||||
path : tool.checkCorrectPathEnding(location.pathname)+'socket.io'
|
||||
});
|
||||
$.ccio.ws.on('connect',function (d){
|
||||
$(document).ready(function(e){
|
||||
$.ccio.cx=function(x){
|
||||
|
@ -69,7 +71,7 @@ function _base64ToArrayBuffer(base64) {
|
|||
}
|
||||
|
||||
$.ccio.framerate=2;
|
||||
|
||||
|
||||
$.ccio.stopSending=function(){
|
||||
$.ls.setItem('Shinobi_Dashcam_Started','0')
|
||||
$('#main').removeClass('recording');
|
||||
|
@ -78,7 +80,7 @@ $.ccio.stopSending=function(){
|
|||
try{
|
||||
mediaRecorder.stop()
|
||||
}catch(err){
|
||||
|
||||
|
||||
}
|
||||
$('[record]').unbind('click').click($.ccio.startSending)
|
||||
}
|
||||
|
@ -162,7 +164,7 @@ function log(message){
|
|||
$.ccio.vid.data[0].innerHTML = $.ccio.vid.data[0].innerHTML+'<br>'+message ;
|
||||
}
|
||||
|
||||
|
||||
|
||||
/* Webcam */
|
||||
navigator.getUserMedia = navigator.getUserMedia || navigator.webkitGetUserMedia || navigator.mozGetUserMedia || navigator.msGetUserMedia;
|
||||
window.URL = window.URL || window.webkitURL || window.mozURL || window.msURL;
|
||||
|
@ -198,7 +200,7 @@ if(getBrowser() == "Chrome"){
|
|||
var mediaRecorder;
|
||||
var chunks = [];
|
||||
var count = 0;
|
||||
|
||||
|
||||
$.ccio.vid = {element:$('#video')[0],canvas:$('#canvas')[0],data:$('#data')};
|
||||
$.ccio.vid.element.controls = false;
|
||||
navigator.getUserMedia(constraints,function(stream,fn) {
|
||||
|
@ -217,16 +219,16 @@ navigator.getUserMedia(constraints,function(stream,fn) {
|
|||
$.ccio.selected = null;
|
||||
}
|
||||
}, function(err){console.error('getUserMedia',err)});
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
//draw selectable mons
|
||||
var tmp='';
|
||||
if($user.mons&&$user.mons.length>0){
|
||||
|
@ -250,8 +252,8 @@ navigator.getUserMedia(constraints,function(stream,fn) {
|
|||
$.ls.setItem('Shinobi_Dashcam',e.a)
|
||||
$('[monitor]').removeClass('active'),e.e.addClass('active');
|
||||
})
|
||||
|
||||
|
||||
|
||||
|
||||
$('body')
|
||||
.on('click','.logout',function(e){
|
||||
localStorage.removeItem('ShinobiLogin_'+location.host);location.href='/';
|
||||
|
|
|
@ -10,7 +10,7 @@
|
|||
<div class="row">
|
||||
<div class="col-xs-12">
|
||||
<a href="http://shinobi.video" target="_blank">
|
||||
<img src="<%-originalURL%>libs/img/icon/apple-touch-icon-76x76.png" style="border-radius:50%">
|
||||
<img src="<%-window.libURL%>libs/img/icon/apple-touch-icon-76x76.png" style="border-radius:50%">
|
||||
</a>
|
||||
</div>
|
||||
</div>
|
||||
|
@ -50,7 +50,7 @@
|
|||
</div>
|
||||
</div>
|
||||
</div>
|
||||
<script src="<%-originalURL%>libs/js/material.min.js"></script>
|
||||
<script src="<%-window.libURL%>libs/js/material.min.js"></script>
|
||||
<script>
|
||||
$.ccio={f:$('#auth-form'),ls:localStorage.getItem('ShinobiAuth_'+location.host)}
|
||||
$.ccio.gid=function(x){
|
||||
|
|
|
@ -1,18 +1,20 @@
|
|||
<% var details = JSON.parse($user.details) %>
|
||||
<%
|
||||
var details = JSON.parse($user.details)
|
||||
%>
|
||||
<% include blocks/header %>
|
||||
<script>var $user = <%- JSON.stringify($user) %>;</script>
|
||||
<script>var lang = <%- JSON.stringify(lang) %>;</script>
|
||||
<link rel="stylesheet" href="<%-originalURL%>libs/css/pnotify.custom.min.css">
|
||||
<link rel="stylesheet" href="<%-originalURL%>libs/css/vbox.css">
|
||||
<link rel="stylesheet" href="<%-originalURL%>libs/css/daterangepicker.css">
|
||||
<link rel="stylesheet" href="<%-originalURL%>libs/css/circles.css">
|
||||
<link rel="stylesheet" href="<%-originalURL%>libs/css/bootstrap.min.css">
|
||||
<link rel="stylesheet" href="<%-originalURL%>libs/css/font-awesome.min.css">
|
||||
<link rel="stylesheet" href="<%-originalURL%>libs/css/fullcalendar.min.css">
|
||||
<link rel="stylesheet" href="<%-originalURL%>libs/css/gridstack.min.css">
|
||||
<link rel="stylesheet" href="<%-originalURL%>libs/css/gridstack-extra.min.css">
|
||||
<link rel="stylesheet" href="<%-originalURL%>libs/css/bootstrap-table.min.css">
|
||||
<link rel="stylesheet" href="<%-originalURL%>libs/css/main.dash2.css">
|
||||
<link rel="stylesheet" href="<%-window.libURL%>libs/css/pnotify.custom.min.css">
|
||||
<link rel="stylesheet" href="<%-window.libURL%>libs/css/vbox.css">
|
||||
<link rel="stylesheet" href="<%-window.libURL%>libs/css/daterangepicker.css">
|
||||
<link rel="stylesheet" href="<%-window.libURL%>libs/css/circles.css">
|
||||
<link rel="stylesheet" href="<%-window.libURL%>libs/css/bootstrap.min.css">
|
||||
<link rel="stylesheet" href="<%-window.libURL%>libs/css/font-awesome.min.css">
|
||||
<link rel="stylesheet" href="<%-window.libURL%>libs/css/fullcalendar.min.css">
|
||||
<link rel="stylesheet" href="<%-window.libURL%>libs/css/gridstack.min.css">
|
||||
<link rel="stylesheet" href="<%-window.libURL%>libs/css/gridstack-extra.min.css">
|
||||
<link rel="stylesheet" href="<%-window.libURL%>libs/css/bootstrap-table.min.css">
|
||||
<link rel="stylesheet" href="<%-window.libURL%>libs/css/main.dash2.css">
|
||||
<style id="theme">
|
||||
<% if(details.theme&&details.theme!==''){ %><%- include(__dirname+'/web/libs/themes/'+details.theme+'/style.css'); %><% } %>
|
||||
</style>
|
||||
|
@ -171,30 +173,30 @@
|
|||
<script type="text/javascript" src="https://www.dropbox.com/static/api/2/dropins.js" id="dropboxjs" data-app-key="<%= config.DropboxAppKey %>"></script>
|
||||
<!--Dropbox End-->
|
||||
<% } %>
|
||||
<script src="<%-originalURL%>libs/js/material.min.js"></script>
|
||||
<script src="<%-originalURL%>libs/js/pnotify.custom.min.js"></script>
|
||||
<script src="<%-window.libURL%>libs/js/material.min.js"></script>
|
||||
<script src="<%-window.libURL%>libs/js/pnotify.custom.min.js"></script>
|
||||
<script><% include ../libs/js/moment.js %></script>
|
||||
<script><% include ../libs/js/livestamp.min.js %></script>
|
||||
<script src="<%-originalURL%>libs/js/placeholder.js"></script>
|
||||
<script src="<%-originalURL%>libs/js/bootstrap.min.js"></script>
|
||||
<script src="<%-originalURL%>libs/js/bootstrap-table.min.js"></script>
|
||||
<script src="<%-originalURL%>libs/js/socket.io.js"></script>
|
||||
<script src="<%-originalURL%>libs/js/fullcalendar.min.js"></script>
|
||||
<script src="<%-originalURL%>libs/js/hls.min.js"></script>
|
||||
<script src="<%-originalURL%>libs/js/libde265.min.js"></script>
|
||||
<script type="text/javascript" src="<%-originalURL%>libs/js/flv.shinobi.js">;</script>
|
||||
<script src="<%-originalURL%>libs/js/menu.js"></script>
|
||||
<script src="<%-originalURL%>libs/js/clock.js"></script>
|
||||
<script src="<%-originalURL%>libs/js/poseidon.js"></script>
|
||||
<script src="<%-originalURL%>libs/js/Chart.js"></script>
|
||||
<script src="<%-originalURL%>libs/js/clusterPoints.js"></script>
|
||||
<script src="<%-originalURL%>libs/js/daterangepicker.js"></script>
|
||||
<script src="<%-originalURL%>libs/js/jquery.canvasAreaDraw.js"></script>
|
||||
<script src="<%-originalURL%>libs/js/jquery-ui.min.js"></script>
|
||||
<!--<script src="<%-originalURL%>libs/js/jquery.ui.touch.js"></script>-->
|
||||
<script src="<%-originalURL%>libs/js/lodash.min.js"></script>
|
||||
<script src="<%-originalURL%>libs/js/gridstack.min.js"></script>
|
||||
<script src="<%-originalURL%>libs/js/gridstack.jQueryUI.min.js"></script>
|
||||
<script src="<%-originalURL%>libs/js/basic.js"></script>
|
||||
<script src="<%-window.libURL%>libs/js/placeholder.js"></script>
|
||||
<script src="<%-window.libURL%>libs/js/bootstrap.min.js"></script>
|
||||
<script src="<%-window.libURL%>libs/js/bootstrap-table.min.js"></script>
|
||||
<script src="<%-window.libURL%>libs/js/socket.io.js"></script>
|
||||
<script src="<%-window.libURL%>libs/js/fullcalendar.min.js"></script>
|
||||
<script src="<%-window.libURL%>libs/js/hls.min.js"></script>
|
||||
<script src="<%-window.libURL%>libs/js/libde265.min.js"></script>
|
||||
<script type="text/javascript" src="<%-window.libURL%>libs/js/flv.shinobi.js">;</script>
|
||||
<script src="<%-window.libURL%>libs/js/menu.js"></script>
|
||||
<script src="<%-window.libURL%>libs/js/clock.js"></script>
|
||||
<script src="<%-window.libURL%>libs/js/poseidon.js"></script>
|
||||
<script src="<%-window.libURL%>libs/js/Chart.js"></script>
|
||||
<script src="<%-window.libURL%>libs/js/clusterPoints.js"></script>
|
||||
<script src="<%-window.libURL%>libs/js/daterangepicker.js"></script>
|
||||
<script src="<%-window.libURL%>libs/js/jquery.canvasAreaDraw.js"></script>
|
||||
<script src="<%-window.libURL%>libs/js/jquery-ui.min.js"></script>
|
||||
<!--<script src="<%-window.libURL%>libs/js/jquery.ui.touch.js"></script>-->
|
||||
<script src="<%-window.libURL%>libs/js/lodash.min.js"></script>
|
||||
<script src="<%-window.libURL%>libs/js/gridstack.min.js"></script>
|
||||
<script src="<%-window.libURL%>libs/js/gridstack.jQueryUI.min.js"></script>
|
||||
<script src="<%-window.libURL%>libs/js/basic.js"></script>
|
||||
<script><% include ../libs/js/main.dash2.js %></script>
|
||||
<% include blocks/help.ejs %>
|
||||
|
|
|
@ -11,7 +11,7 @@
|
|||
<div class="row">
|
||||
<div class="col-xs-12">
|
||||
<a href="http://shinobi.video" target="_blank">
|
||||
<img src="<%-originalURL%>libs/img/icon/apple-touch-icon-76x76.png" style="border-radius:50%">
|
||||
<img src="<%-window.libURL%>libs/img/icon/apple-touch-icon-76x76.png" style="border-radius:50%">
|
||||
</a>
|
||||
</div>
|
||||
</div>
|
||||
|
@ -80,7 +80,7 @@
|
|||
</div>
|
||||
</div>
|
||||
</div>
|
||||
<script src="<%-originalURL%>libs/js/material.min.js"></script>
|
||||
<script src="<%-window.libURL%>libs/js/material.min.js"></script>
|
||||
<script>
|
||||
<% var failedLogin;if(failedLogin===true){ %>
|
||||
localStorage.removeItem('ShinobiLogin_'+location.host)
|
||||
|
|
|
@ -1,6 +1,6 @@
|
|||
<% include blocks/header %>
|
||||
<script>var $user=<%- JSON.stringify($user) %>;</script>
|
||||
<link rel="stylesheet" href="<%-originalURL%>libs/css/bootstrap.min.css">
|
||||
<link rel="stylesheet" href="<%-window.libURL%>libs/css/bootstrap.min.css">
|
||||
<div id="main" class="container">
|
||||
<a class="btn btn-danger btn-lg" record>Stream</a>
|
||||
<div>
|
||||
|
@ -17,11 +17,14 @@ requires https or firefox
|
|||
</div>
|
||||
<video id="video"><source></video>
|
||||
<canvas id="canvas"></canvas>
|
||||
<script src="<%-originalURL%>libs/js/socket.io.js"></script>
|
||||
<script src="<%-originalURL%>libs/js/menu.js"></script>
|
||||
<script src="<%-window.libURL%>libs/js/socket.io.js"></script>
|
||||
<script src="<%-window.libURL%>libs/js/basic.js"></script>
|
||||
<script src="<%-window.libURL%>libs/js/menu.js"></script>
|
||||
<script>
|
||||
$.ccio={};$.ls=localStorage;
|
||||
$.ccio.ws=io(location.origin);
|
||||
$.ccio.ws=io(location.origin,{
|
||||
path : tool.checkCorrectPathEnding(location.pathname)+'socket.io'
|
||||
});
|
||||
$.ccio.ws.on('connect',function (d){
|
||||
$(document).ready(function(e){
|
||||
$.ccio.cx=function(x){if(!x.ke){x.ke=$user.ke;};if(!x.uid){x.uid=$user.uid;};return $.ccio.ws.emit('r',x)}
|
||||
|
@ -64,13 +67,13 @@ $.ccio.start=function(){
|
|||
},1000/$.ccio.framerate);
|
||||
$('[record]').unbind('click').click($.ccio.end)
|
||||
};
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
$.ccio.vid = {e:$('#video'),c:$('#canvas')};
|
||||
navigator.getUserMedia = navigator.getUserMedia || navigator.webkitGetUserMedia || navigator.mozGetUserMedia || navigator.msGetUserMedia||navigator.mediaDevices.getUserMedia;
|
||||
window.URL = window.URL || window.webkitURL || window.mozURL || window.msURL;
|
||||
|
@ -88,16 +91,16 @@ $.ccio.vid = {e:$('#video'),c:$('#canvas')};
|
|||
$('[record]').click($.ccio.start)
|
||||
})
|
||||
}, function(err){console.error('getUserMedia',err)});
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
//draw selectable mons
|
||||
var tmp='';
|
||||
if($user.mons&&$user.mons.length>0){
|
||||
|
@ -121,10 +124,10 @@ $.ccio.vid = {e:$('#video'),c:$('#canvas')};
|
|||
$.ls.setItem('Shinobi_socket_camera',e.a)
|
||||
$('[monitor]').removeClass('active'),e.e.addClass('active');
|
||||
})
|
||||
|
||||
|
||||
|
||||
|
||||
if($user.mons.length>0&&$.ls.getItem('Shinobi_socket_camera')){$('[monitor="'+$.ls.getItem('Shinobi_socket_camera')+'"]').click()}else{$.ccio.selected=null;}
|
||||
|
||||
|
||||
$('body')
|
||||
.on('click','.logout',function(e){
|
||||
localStorage.removeItem('ShinobiLogin_'+location.host);location.href='/';
|
||||
|
|
|
@ -2,6 +2,7 @@
|
|||
<html lang="en">
|
||||
<head>
|
||||
<title><%-lang.Superuser%> - <%-lang.Shinobi%></title>
|
||||
<% window.libURL = originalURL + global.s.checkCorrectPathEnding(config.webPaths.admin) %>
|
||||
<% include blocks/header-meta.ejs %>
|
||||
<% include blocks/header-favicon.ejs %>
|
||||
<meta http-equiv="X-UA-Compatible" content="IE=edge,chrome=1" />
|
||||
|
@ -10,16 +11,17 @@
|
|||
<link href="https://fonts.googleapis.com/css?family=Montserrat:400,700,200" rel="stylesheet" />
|
||||
<link rel="stylesheet" href="https://maxcdn.bootstrapcdn.com/font-awesome/latest/css/font-awesome.min.css" />
|
||||
<!-- CSS Files -->
|
||||
<link href="<%-originalURL%>libs/css/bootstrap4.min.css" rel="stylesheet" />
|
||||
<link href="<%-originalURL%>libs/css/main.dash2.css" rel="stylesheet" />
|
||||
<link rel="stylesheet" href="<%-originalURL%>libs/css/pnotify.custom.min.css">
|
||||
<link href="<%-originalURL%>libs/css/now-ui-kit.css?v=1.1.0" rel="stylesheet" />
|
||||
<link href="<%-originalURL%>libs/css/super-page.css" rel="stylesheet" />
|
||||
<script src="<%-originalURL%>libs/js/jquery.min.js"></script>
|
||||
<script src="<%-originalURL%>libs/js/jquery.serialize.js"></script>
|
||||
<script src="<%-originalURL%>libs/js/pnotify.custom.min.js"></script>
|
||||
<script src="<%-originalURL%>libs/js/popper.min.js" type="text/javascript"></script>
|
||||
<script src="<%-originalURL%>libs/js/bootstrap4.min.js" type="text/javascript"></script>
|
||||
<link href="<%-window.libURL%>libs/css/bootstrap4.min.css" rel="stylesheet" />
|
||||
<link href="<%-window.libURL%>libs/css/main.dash2.css" rel="stylesheet" />
|
||||
<link rel="stylesheet" href="<%-window.libURL%>libs/css/pnotify.custom.min.css">
|
||||
<link href="<%-window.libURL%>libs/css/now-ui-kit.css?v=1.1.0" rel="stylesheet" />
|
||||
<link href="<%-window.libURL%>libs/css/super-page.css" rel="stylesheet" />
|
||||
<script src="<%-window.libURL%>libs/js/jquery.min.js"></script>
|
||||
<script src="<%-window.libURL%>libs/js/basic.js"></script>
|
||||
<script src="<%-window.libURL%>libs/js/jquery.serialize.js"></script>
|
||||
<script src="<%-window.libURL%>libs/js/pnotify.custom.min.js"></script>
|
||||
<script src="<%-window.libURL%>libs/js/popper.min.js" type="text/javascript"></script>
|
||||
<script src="<%-window.libURL%>libs/js/bootstrap4.min.js" type="text/javascript"></script>
|
||||
<style>
|
||||
.form-group label>div:first-child{width:40%}
|
||||
.list-group li .form-group {margin:0}
|
||||
|
@ -41,7 +43,7 @@
|
|||
<span class="navbar-toggler-bar bar3"></span>
|
||||
</button>
|
||||
</div>
|
||||
<div class="collapse navbar-collapse justify-content-end" id="navigation" data-nav-image="<%-originalURL%>libs/img/blurred-image-1.jpg">
|
||||
<div class="collapse navbar-collapse justify-content-end" id="navigation" data-nav-image="<%-window.libURL%>libs/img/blurred-image-1.jpg">
|
||||
<ul class="nav navbar-nav navbar-right">
|
||||
<li class="nav-item">
|
||||
<a href="javascript:location.href=location.pathname" class="nav-link" class="logout">
|
||||
|
@ -169,12 +171,12 @@
|
|||
</div>
|
||||
</body>
|
||||
<% include blocks/confirm.ejs %>
|
||||
<script src="<%-originalURL%>libs/js/pnotify.custom.min.js" type="text/javascript"></script>
|
||||
<script src="<%-window.libURL%>libs/js/pnotify.custom.min.js" type="text/javascript"></script>
|
||||
<script><% include ../libs/js/moment.js %></script>
|
||||
<script src="<%-originalURL%>libs/js/livestamp.min.js" type="text/javascript"></script>
|
||||
<script src="<%-originalURL%>libs/js/socket.io.js" type="text/javascript"></script>
|
||||
<script src="<%-originalURL%>libs/js/placeholder.js" type="text/javascript"></script>
|
||||
<script src="<%-originalURL%>libs/js/now-ui-kit.js?v=1.1.0" type="text/javascript"></script>
|
||||
<script src="<%-window.libURL%>libs/js/livestamp.min.js" type="text/javascript"></script>
|
||||
<script src="<%-window.libURL%>libs/js/socket.io.js" type="text/javascript"></script>
|
||||
<script src="<%-window.libURL%>libs/js/placeholder.js" type="text/javascript"></script>
|
||||
<script src="<%-window.libURL%>libs/js/now-ui-kit.js?v=1.1.0" type="text/javascript"></script>
|
||||
<script type="text/javascript">
|
||||
PNotify.prototype.options.styling = "fontawesome";
|
||||
$(document).ready(function() {
|
||||
|
@ -208,7 +210,9 @@ switch($user.lang){
|
|||
})
|
||||
break;
|
||||
}
|
||||
$.ccio.ws=io(location.origin);
|
||||
$.ccio.ws=io(location.origin,{
|
||||
path : tool.checkCorrectPathEnding(location.pathname)+'socket.io'
|
||||
});
|
||||
$.ccio.cx=function(x){return $.ccio.ws.emit('super',x)}
|
||||
$.ccio.ws.on('connect',function(d){
|
||||
$.ccio.cx({f:'init',mail:$user.mail,pass:$user.pass})
|
||||
|
|
2
web/templates/.gitignore
vendored
Normal file
2
web/templates/.gitignore
vendored
Normal file
|
@ -0,0 +1,2 @@
|
|||
black
|
||||
argon
|
Loading…
Add table
Add a link
Reference in a new issue