List loaded channels on ACP
This commit is contained in:
parent
c0fc363f1b
commit
05fd0f26a8
|
@ -13,7 +13,8 @@ var Rank = require('./rank.js');
|
||||||
var InfoGetter = require('./get-info.js');
|
var InfoGetter = require('./get-info.js');
|
||||||
var Media = require('./media.js').Media;
|
var Media = require('./media.js').Media;
|
||||||
var ChatCommand = require('./chatcommand.js');
|
var ChatCommand = require('./chatcommand.js');
|
||||||
var io = require('./server.js').io;
|
var Server = require('./server.js');
|
||||||
|
var io = Server.io;
|
||||||
|
|
||||||
var Channel = function(name) {
|
var Channel = function(name) {
|
||||||
console.log("Opening channel " + name);
|
console.log("Opening channel " + name);
|
||||||
|
|
22
user.js
22
user.js
|
@ -224,27 +224,21 @@ User.prototype.initCallbacks = function() {
|
||||||
|
|
||||||
// Handle administration
|
// Handle administration
|
||||||
User.prototype.handleAdm = function(data) {
|
User.prototype.handleAdm = function(data) {
|
||||||
if(data.cmd == "listloadedchannels") {
|
if(data.cmd == "listchannels") {
|
||||||
var chans = [];
|
var chans = [];
|
||||||
for(var chan in Server.channels) {
|
for(var chan in Server.channels) {
|
||||||
var users = [];
|
var nowplaying = "-";
|
||||||
for(var i = 0; i < Server.channels[chan].users.length; i++) {
|
if(Server.channels[chan].currentMedia != null)
|
||||||
users.push(Server.channels[chan].users[i].name);
|
nowplaying = Server.channels[chan].currentMedia.title;
|
||||||
}
|
|
||||||
chans.push({
|
chans.push({
|
||||||
chan: chan,
|
name: chan,
|
||||||
users: users
|
usercount: Server.channels[chan].users.length,
|
||||||
|
nowplaying: nowplaying
|
||||||
});
|
});
|
||||||
}
|
}
|
||||||
this.socket.emit('adm', {
|
|
||||||
cmd: "listloadedchannels",
|
|
||||||
chans: chans
|
|
||||||
});
|
|
||||||
}
|
|
||||||
else if(data.cmd == "listchannels") {
|
|
||||||
this.socket.emit('adm', {
|
this.socket.emit('adm', {
|
||||||
cmd: "listchannels",
|
cmd: "listchannels",
|
||||||
chans: Database.listChannels()
|
chans: chans
|
||||||
});
|
});
|
||||||
}
|
}
|
||||||
else if(data.cmd == "listusers") {
|
else if(data.cmd == "listusers") {
|
||||||
|
|
17
www/acp.html
17
www/acp.html
|
@ -53,24 +53,13 @@
|
||||||
</div>
|
</div>
|
||||||
<div class="row" style="margin-top: 20px;">
|
<div class="row" style="margin-top: 20px;">
|
||||||
<div class="span6">
|
<div class="span6">
|
||||||
<h3>Channel List</h3>
|
<h3>Loaded Channels</h3>
|
||||||
<table id="chanlist" class="table table-bordered table-striped">
|
<table id="chanlist" class="table table-bordered table-striped">
|
||||||
<thead>
|
<thead>
|
||||||
<tr>
|
<tr>
|
||||||
<th>id</th>
|
|
||||||
<th>Channel Name</th>
|
<th>Channel Name</th>
|
||||||
</tr>
|
<th>Connected Users</th>
|
||||||
</thead>
|
<th>Currently Playing</th>
|
||||||
</table>
|
|
||||||
</div>
|
|
||||||
<div class="span6">
|
|
||||||
<h3 id="channelh3">Channel: </h3>
|
|
||||||
<input type="text" placeholder="New Rank">
|
|
||||||
<table id="chanranks" class="table table-bordered table-striped">
|
|
||||||
<thead>
|
|
||||||
<tr>
|
|
||||||
<th>Username</th>
|
|
||||||
<th>Rank</th>
|
|
||||||
</tr>
|
</tr>
|
||||||
</thead>
|
</thead>
|
||||||
</table>
|
</table>
|
||||||
|
|
|
@ -28,8 +28,6 @@ function initCallbacks() {
|
||||||
console.log(data);
|
console.log(data);
|
||||||
if(data.cmd == "listchannels")
|
if(data.cmd == "listchannels")
|
||||||
handleChannelList(data);
|
handleChannelList(data);
|
||||||
if(data.cmd == "listchannelranks")
|
|
||||||
handleChannelRanks(data);
|
|
||||||
});
|
});
|
||||||
|
|
||||||
socket.on('login', function(data) {
|
socket.on('login', function(data) {
|
||||||
|
@ -42,15 +40,9 @@ function initCallbacks() {
|
||||||
$('#logoutform').css('display', '');
|
$('#logoutform').css('display', '');
|
||||||
$('#loginform').css('display', 'none');
|
$('#loginform').css('display', 'none');
|
||||||
}
|
}
|
||||||
socket.emit('adm', {
|
|
||||||
cmd: "listloadedchannels"
|
|
||||||
});
|
|
||||||
socket.emit('adm', {
|
socket.emit('adm', {
|
||||||
cmd: "listchannels"
|
cmd: "listchannels"
|
||||||
});
|
});
|
||||||
socket.emit('adm', {
|
|
||||||
cmd: "listusers"
|
|
||||||
});
|
|
||||||
});
|
});
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -59,54 +51,9 @@ function handleChannelList(data) {
|
||||||
$($('#chanlist').children()[1]).remove();
|
$($('#chanlist').children()[1]).remove();
|
||||||
for(var i = 0; i < data.chans.length; i++) {
|
for(var i = 0; i < data.chans.length; i++) {
|
||||||
var row = $('<tr/>').appendTo($('#chanlist'));
|
var row = $('<tr/>').appendTo($('#chanlist'));
|
||||||
var id = $('<td/>').appendTo(row).text(data.chans[i].id);
|
|
||||||
var name = $('<td/>').appendTo(row).text(data.chans[i].name);
|
var name = $('<td/>').appendTo(row).text(data.chans[i].name);
|
||||||
var manage = $('<button/>').addClass("btn pull-right").appendTo(name)
|
var usercount = $('<td/>').appendTo(row).text(data.chans[i].usercount);
|
||||||
.text('Manage Ranks');
|
var nowplaying = $('<td/>').appendTo(row).text(data.chans[i].nowplaying);
|
||||||
var cname = data.chans[i].name;
|
|
||||||
manage.click(function() {
|
|
||||||
manageChannelRanks(this);
|
|
||||||
}.bind(cname));
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
function manageChannelRanks(name) {
|
|
||||||
manageChannel = name;
|
|
||||||
$('#channelh3').text('Channel: ' + name);
|
|
||||||
socket.emit('adm', {
|
|
||||||
cmd: "listchannelranks",
|
|
||||||
chan: name
|
|
||||||
});
|
|
||||||
}
|
|
||||||
|
|
||||||
function handleChannelRanks(data) {
|
|
||||||
if($('#chanranks').children.length > 1)
|
|
||||||
$($('#chanranks').children()[1]).remove();
|
|
||||||
for(var i = 0; i < data.ranks.length; i++) {
|
|
||||||
var row = $('<tr/>').appendTo($('#chanranks'));
|
|
||||||
var id = $('<td/>').appendTo(row).text(data.ranks[i].name);
|
|
||||||
var rank = $('<td/>').appendTo(row);
|
|
||||||
var rtxt = $('<span/>').appendTo(rank).text(data.ranks[i].rank);
|
|
||||||
var edit = $('<button/>').addClass("btn pull-right").appendTo(rank)
|
|
||||||
.text('Edit');
|
|
||||||
|
|
||||||
edit.click(function() {
|
|
||||||
var txt = rtxt.text();
|
|
||||||
rtxt.text('');
|
|
||||||
var textbox = $('<input/>').attr('type', 'text').attr('value', txt)
|
|
||||||
.insertBefore(edit, rank);
|
|
||||||
textbox.focus();
|
|
||||||
textbox.blur(function() {
|
|
||||||
rtxt.text(textbox.val());
|
|
||||||
socket.emit('adm', {
|
|
||||||
cmd: "updatechanrank",
|
|
||||||
chan: manageChannel,
|
|
||||||
user: id.text(),
|
|
||||||
rank: parseInt(textbox.val())
|
|
||||||
});
|
|
||||||
textbox.remove();
|
|
||||||
});
|
|
||||||
});
|
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
Loading…
Reference in a new issue