299 lines
13 KiB
HTML
299 lines
13 KiB
HTML
<!DOCTYPE html>
|
|
<html lang="en">
|
|
<head>
|
|
<meta charset="utf-8">
|
|
<title>CyTube - Administration</title>
|
|
<meta name="viewport" content="width=device-width, initial-scale=1.0">
|
|
<meta name="description" content="">
|
|
<meta name="author" content="Calvin 'calzoneman' Montgomery">
|
|
|
|
<link href="./assets/css/bootstrap.css" rel="stylesheet">
|
|
<link href="./assets/css/ytsync.css" rel="stylesheet">
|
|
<style>
|
|
body {
|
|
padding-top: 60px; /* 60px to make the container go all the way to the bottom of the topbar */
|
|
}
|
|
|
|
#log {
|
|
max-height: 500px;
|
|
overflow-y: scroll;
|
|
}
|
|
</style>
|
|
<link href="./assets/css/bootstrap-responsive.css" rel="stylesheet">
|
|
</head>
|
|
|
|
<body>
|
|
|
|
<div class="wrapper">
|
|
<div class="navbar navbar-inverse navbar-fixed-top">
|
|
<div class="navbar-inner">
|
|
<div class="container">
|
|
<a class="brand" href="index.html">CyTube</a>
|
|
<div class="">
|
|
<ul class="nav">
|
|
<li class="active"><a href="index.html">Home</a></li>
|
|
<li class="dropdown">
|
|
<a class="dropdown-toggle" data-toggle="dropdown" href="javascript:void(0)">
|
|
<span id="menudd_title">Menu</span>
|
|
<span class="caret"></span>
|
|
</a>
|
|
<ul class="dropdown-menu" id="menudd">
|
|
<li id="li_logview"><a href="javascript:void(0)" id="show_logview">Log Viewer</a></li>
|
|
<li id="li_announce"><a href="javascript:void(0)" id="show_announce">Announcement Manager</a></li>
|
|
<li id="li_gbans"><a href="javascript:void(0)" id="show_gbans">Global Bans</a></li>
|
|
<li id="li_userlookup"><a href="javascript:void(0)" id="show_userlookup">Users</a></li>
|
|
<li id="li_chanlookup"><a href="javascript:void(0)" id="show_chanlookup">Channels</a></li>
|
|
<li id="li_chanloaded"><a href="javascript:void(0)" id="show_chanloaded">Loaded Channels</a></li>
|
|
<li id="li_actionlog"><a href="javascript:void(0)" id="show_actionlog">Action Log</a></li>
|
|
<li id="li_stats"><a href="javascript:void(0)" id="show_stats">Server Stats</a></li>
|
|
<li id="li_connstats"><a href="javascript:void(0)" id="show_connstats">Connection Stats</a></li>
|
|
</ul>
|
|
</li>
|
|
</ul>
|
|
<div class="navbar-form pull-right" id="loginform">
|
|
<button class="btn" id="login">Login</button>
|
|
</div>
|
|
<div class="navbar-form pull-right" id="logoutform" style="display: none;">
|
|
<span id="welcome"></span>
|
|
<button class="btn" id="logout">Logout</button>
|
|
</div>
|
|
</div>
|
|
</div>
|
|
</div>
|
|
</div>
|
|
|
|
<div class="container">
|
|
<div class="row">
|
|
<div class="span12">
|
|
<div class="row">
|
|
<div class="span12">
|
|
</div>
|
|
</div>
|
|
|
|
<div class="row" id="panels">
|
|
<div class="span12" id="logview">
|
|
<h3>Log Viewer</h3>
|
|
<form class="form-inline" action="javascript:void(0);">
|
|
<button id="syslog" class="btn">Syslog</button>
|
|
<button id="errlog" class="btn">Error log</button>
|
|
<div class="input-append">
|
|
<input type="text" id="channame" placeholder="Channel Name">
|
|
<button class="btn" id="chanlog">Channel log</button>
|
|
</div>
|
|
<button class="btn" id="log_reverse">Reverse Log</button>
|
|
</form>
|
|
<pre id="log"></pre>
|
|
</div>
|
|
<div class="span12" id="announcepanel">
|
|
<h3 id="announce_current_h3">Current Announcement</h3>
|
|
<h3>New Announcement</h3>
|
|
<form class="form-horizontal" action="javascript:void(0)">
|
|
<div class="control-group">
|
|
<label class="control-label" for="announce_title">
|
|
Title
|
|
</label>
|
|
<div class="controls">
|
|
<input type="text" class="input-block-level" id="announce_title">
|
|
</div>
|
|
</div>
|
|
<div class="control-group">
|
|
<label class="control-label" for="announce_text">
|
|
Body (HTML)
|
|
</label>
|
|
<div class="controls">
|
|
<textarea class="input-block-level" rows="15" id="announce_text"></textarea>
|
|
</div>
|
|
</div>
|
|
<div class="control-group">
|
|
<div class="controls">
|
|
<button class="btn btn-primary" id="announce_submit">Announce</button>
|
|
</div>
|
|
</div>
|
|
</form>
|
|
</div>
|
|
<div class="span12" id="gbanpanel">
|
|
<h3>Global Bans</h3>
|
|
<table class="table table-striped table-bordered">
|
|
<thead>
|
|
<tr>
|
|
<th style="width: 80px;">Remove</th>
|
|
<th style="width: 160px;">IP Address</th>
|
|
<th>Note</th>
|
|
</tr>
|
|
</thead>
|
|
</table>
|
|
<h3>Add global ban</h3>
|
|
<form class="form-horizontal" action="javascript:void(0)">
|
|
<div class="control-group">
|
|
<label class="control-label" for="gban_ip">
|
|
IP address
|
|
</label>
|
|
<div class="controls">
|
|
<input type="text" id="gban_ip">
|
|
</div>
|
|
</div>
|
|
<div class="control-group">
|
|
<label class="control-label" for="gban_note">
|
|
Note
|
|
</label>
|
|
<div class="controls">
|
|
<input type="text" id="gban_note">
|
|
</div>
|
|
</div>
|
|
<div class="control-group">
|
|
<div class="controls">
|
|
<button class="btn btn-primary" id="gban_submit">Add Ban</button>
|
|
</div>
|
|
</div>
|
|
</form>
|
|
</div>
|
|
<div class="span12" id="userlookup">
|
|
<h3>Users</h3>
|
|
<form class="form-inline" action="javascript:void(0)">
|
|
<input type="text" id="userlookup_name" placeholder="Name">
|
|
<button class="btn" id="userlookup_submit">Search</button>
|
|
</form>
|
|
<table class="table table-striped table-bordered">
|
|
<thead>
|
|
<tr>
|
|
<th id="userlookup_uid">UID</th>
|
|
<th id="userlookup_uname">Name</th>
|
|
<th id="userlookup_rank">Global Rank</th>
|
|
<th id="userlookup_email">Email</th>
|
|
<th>Password Reset</th>
|
|
</tr>
|
|
</thead>
|
|
</table>
|
|
</div>
|
|
<div class="span12" id="chanlookup">
|
|
<h3>Channels</h3>
|
|
<form class="form-inline" action="javascript:void(0)">
|
|
<input type="text" id="chanlookup_value" placeholder="Name">
|
|
<select id="chanlookup_field">
|
|
<option value="name">Channel Name</option>
|
|
<option value="owner">Channel Owner</option>
|
|
</select>
|
|
<button class="btn" id="chanlookup_submit">Search</button>
|
|
</form>
|
|
<table class="table table-striped table-bordered">
|
|
<thead>
|
|
<tr>
|
|
<th id="chanlookup_id">ID</th>
|
|
<th id="chanlookup_name">Name</th>
|
|
<th id="chanlookup_owner">Owner</th>
|
|
</tr>
|
|
</thead>
|
|
</table>
|
|
</div>
|
|
<div class="span12" id="channellist">
|
|
<h3>Loaded Channels</h3>
|
|
<button class="btn" id="listloaded_refresh">Refresh</button>
|
|
<table class="table table-striped table-bordered">
|
|
<thead>
|
|
<tr>
|
|
<th>Title</th>
|
|
<th>User Count</th>
|
|
<th>Now Playing</th>
|
|
<th>Registered</th>
|
|
<th>Public</th>
|
|
<th>Force Unload</th>
|
|
</tr>
|
|
</thead>
|
|
</table>
|
|
</div>
|
|
<div class="span12" id="actionlog">
|
|
<h3>Action Log</h3>
|
|
<select multiple="multiple" id="actionlog_filter">
|
|
</select>
|
|
<button class="btn btn-danger" id="actionlog_clear">Clear Selected</button>
|
|
<button class="btn" id="actionlog_refresh">Refresh</button>
|
|
<br>
|
|
<form class="form-inline" action="javascript:void(0)">
|
|
<input type="text" placeholder="Search" id="actionlog_search">
|
|
<label for="actionlog_sfield">Search For</label>
|
|
<select id="actionlog_sfield">
|
|
<option value="ip">IP Address</option>
|
|
<option value="name" selected="selected">Name</option>
|
|
<option value="time">Time</option>
|
|
</select>
|
|
<label for="actionlog_sort">Sort By</label>
|
|
<select id="actionlog_sort">
|
|
<option value="ip">IP Address</option>
|
|
<option value="name">Name</option>
|
|
<option value="action">Action</option>
|
|
<option value="time" selected="selected">Time</option>
|
|
</select>
|
|
<select id="actionlog_sortorder">
|
|
<option value="true">Descending</option>
|
|
<option value="false">Ascending</option>
|
|
</select>
|
|
<button class="btn" id="actionlog_searchbtn">Go</button>
|
|
</form>
|
|
<table class="table table-bordered table-striped table-compact">
|
|
<thead>
|
|
<tr>
|
|
<th id="actionlog_rem">Remove</th>
|
|
<th id="actionlog_ip">IP Address</th>
|
|
<th id="actionlog_name">Name</th>
|
|
<th id="actionlog_action">Action</th>
|
|
<th>Args</th>
|
|
<th id="actionlog_time">Time</th>
|
|
</tr>
|
|
</thead>
|
|
</table>
|
|
</div>
|
|
<div class="span12" id="stats">
|
|
<h3>User Count</h3>
|
|
<canvas id="stat_users" width="1170" height="400"></canvas>
|
|
<h3>Channel Count</h3>
|
|
<canvas id="stat_channels" width="1170" height="400"></canvas>
|
|
<h3>Memory Usage (MB)</h3>
|
|
<canvas id="stat_mem" width="1170" height="400"></canvas>
|
|
</div>
|
|
<div class="span12" id="connstats">
|
|
<h3>Connection Stats</h3>
|
|
<strong>Note: </strong>Data points for which the frequency average is 0 are not displayed.
|
|
<br>
|
|
<button class="btn" id="connstats_refresh">Refresh</button>
|
|
<table class="table table-bordered table-striped" id="connstats">
|
|
<thead>
|
|
<tr>
|
|
<th>Type</th>
|
|
<th>Param</th>
|
|
<th>Frequency</th>
|
|
</tr>
|
|
</thead>
|
|
</table>
|
|
</div>
|
|
</div>
|
|
</div>
|
|
</div>
|
|
</div> <!-- /container -->
|
|
<div class="push"></div>
|
|
<div id="sitefooter">
|
|
</div>
|
|
</div>
|
|
<div id="footer">
|
|
<p class="muted">
|
|
CyTube Software Copyright © 2013 Calvin Montgomery · Available for free on <a href="http://github.com/calzoneman/sync">GitHub</a> ·
|
|
<a href="https://www.paypal.com/cgi-bin/webscr?cmd=_donations&business=5Y7PUVVGVSEWG&lc=US&item_name=CyTube¤cy_code=USD&bn=PP%2dDonationsBF%3abtn_donate_SM%2egif%3aNonHosted">Donate</a>
|
|
</p>
|
|
|
|
</div>
|
|
|
|
<!-- Third party -->
|
|
<script src="./assets/js/jquery.js"></script>
|
|
<script src="./assets/js/bootstrap.js"></script>
|
|
<script src="./assets/js/bootstrap-transition.js"></script>
|
|
<script src="./assets/js/bootstrap-modal.js"></script>
|
|
<script src="./assets/js/chart.js"></script>
|
|
|
|
<!-- Mine -->
|
|
<script src="./assets/js/data.js"></script>
|
|
<script src="./assets/js/iourl.js"></script>
|
|
<script src="./assets/js/paginator.js"></script>
|
|
<script src="./assets/js/util.js"></script>
|
|
<script src="./assets/js/acp.js"></script>
|
|
</body>
|
|
</html>
|