sync/www/channeloptions.html

280 lines
12 KiB
HTML

<script src="/assets/js/channelsettings.js"></script>
<button id="hide_settings" class="pull-right close">&times;</button>
<div class="btn-group dropup">
<a class="btn dropdown-toggle" data-toggle="dropdown" href="javascript:void(0)">
<span id="csdropdown_title">Moderation Menu</span>
<span class="caret"></span>
</a>
<ul class="dropdown-menu" id="channelsettings_nav">
<li id="optedit_tab"><a href="javascript:void(0);" id="show_optedit">Channel Options</a></li>
<li id="permedit_tab"><a href="javascript:void(0);" id="show_permedit">Permissions</a></li>
<li id="motdedit_tab"><a href="javascript:void(0);" id="show_motdedit">MOTD Editor</a></li>
<li id="filteredit_tab"><a href="javascript:void(0);" id="show_filteredit">Chat Filters</a></li>
<li id="cssedit_tab"><a href="javascript:void(0);" id="show_cssedit">CSS Editor</a></li>
<li id="jsedit_tab"><a href="javascript:void(0);" id="show_jsedit">JS Editor</a></li>
<li id="banlist_tab"><a href="javascript:void(0);" id="show_banlist">Ban List</a></li>
<li id="channelranks_tab"><a href="javascript:void(0);" id="show_channelranks">Channel Ranks</a></li>
<li id="loginhistory_tab"><a href="javascript:void(0);" id="show_loginhistory">Recent Connections</a></li>
<li id="chanlog_tab"><a href="javascript:void(0);" id="show_chanlog">Channel Log</a></li>
</ul>
</div>
<hr>
<div id="optedit" class="span12">
<form class="form-horizontal" action="javascript:void(0)">
<!-- prevent chat flood -->
<div class="control-group">
<label class="control-label" for="opt_chat_antiflood">Prevent Chat Flood</label>
<div class="controls">
<input type="checkbox" id="opt_chat_antiflood">
</div>
</div>
<!-- chat flood burst -->
<div class="control-group">
<label class="control-label" for="opt_chat_antiflood_burst" title="The number of messages someone can send with no restriction before the rate limit is applied"># of messages allowed before throttling</label>
<div class="controls">
<input type="text" id="opt_chat_antiflood_burst">
</div>
</div>
<!-- chat flood sustained -->
<div class="control-group">
<label class="control-label" for="opt_chat_antiflood_sustained" title="The number of messages (after the burst is exceeded) per second a non-moderator can send"># of messages allowed per second (sustained)</label>
<div class="controls">
<input type="text" id="opt_chat_antiflood_sustained">
</div>
</div>
<!-- convert URLs to links -->
<div class="control-group">
<label class="control-label" for="opt_enable_link_regex">Convert URLs in chat to links</label>
<div class="controls">
<input type="checkbox" id="opt_enable_link_regex">
</div>
</div>
<!-- voteskip toggle -->
<div class="control-group">
<label class="control-label" for="opt_allow_voteskip">Allow Voteskip</label>
<div class="controls">
<input type="checkbox" id="opt_allow_voteskip">
</div>
</div>
<!-- voteskip ratio -->
<div class="control-group">
<label class="control-label" for="opt_voteskip_ratio">Voteskip Ratio</label>
<div class="controls">
<input type="text" id="opt_voteskip_ratio" placeholder="0.5">
</div>
</div>
<!-- max video length -->
<div class="control-group">
<label class="control-label" for="opt_maxlength">Maximum Video Length</label>
<div class="controls">
<input type="text" id="opt_maxlength" placeholder="HH:MM:SS">
</div>
</div>
<!-- auto afk -->
<div class="control-group">
<label class="control-label" for="opt_afktimeout">Auto AFK Delay (0 to disable)</label>
<div class="controls">
<input type="text" id="opt_afktimeout" placeholder="0">
</div>
</div>
<hr>
<strong>Admin-Only Controls</strong>
<!-- page title -->
<div class="control-group">
<label class="control-label" for="opt_pagetitle">Page Title</label>
<div class="controls">
<input type="text" id="opt_pagetitle" placeholder="CyTube">
</div>
</div>
<!-- password -->
<div class="control-group">
<label class="control-label" for="opt_password">Password (blank to disable)</label>
<div class="controls">
<input type="text" id="opt_password">
</div>
</div>
<!-- external CSS -->
<div class="control-group">
<label class="control-label" for="opt_externalcss">External CSS</label>
<div class="controls">
<input type="text" id="opt_externalcss" placeholder="Stylesheet URL">
</div>
</div>
<!-- external JS -->
<div class="control-group">
<label class="control-label" for="opt_externaljs">External Javascript</label>
<div class="controls">
<input type="text" id="opt_externaljs" placeholder="Script URL">
</div>
</div>
<!-- show publicly -->
<div class="control-group">
<label class="control-label" for="opt_show_public">List Channel Publicly</label>
<div class="controls">
<input type="checkbox" id="opt_show_public">
</div>
</div>
<!-- unregister -->
<div class="control-group" id="chanopts_unregister_wrap">
<label class="control-label" for="chanopts_unregister">Unregister</label>
<div class="controls">
<button class="btn btn-danger" id="chanopts_unregister">Unregister Channel</button>
</div>
</div>
<!-- submit -->
<button class="btn btn-primary" id="chanopts_submit">Save</button>
</form>
</div>
<br>
</div>
<div id="permedit" class="span12">
</div>
<div id="motdedit" class="span12">
<strong>Notice:</strong>
The MOTD can now be edited in-place by clicking the small page icon next to the minus/plus icon. This editor is left in place for legacy purposes.
<textarea rows="10" id="motdtext"></textarea>
<button class="btn btn-primary" id="save_motd">Save</button>
</div>
<div id="filteredit" class="span12">
<p>Filters will be processed in the order that they are listed here. Click and drag a row to rearrange the order. Click a regex, flags, or replacement field to edit a filter. Changes are automatically saved when you finish editing.</p>
<strong>Add Filter</strong>
<form class="form-horizontal" action="javascript:void(0)">
<div class="control-group">
<label class="control-label" for="newfilter_name">
Name
</label>
<div class="controls">
<input type="text" id="newfilter_name">
</div>
</div>
<div class="control-group">
<label class="control-label" for="newfilter_regex">
Regex
</label>
<div class="controls">
<input type="text" id="newfilter_regex">
</div>
</div>
<div class="control-group">
<label class="control-label" for="newfilter_flags">
Flags
</label>
<div class="controls">
<input type="text" id="newfilter_flags" value="g">
</div>
</div>
<div class="control-group">
<label class="control-label" for="newfilter_replace">
Replacement
</label>
<div class="controls">
<input type="text" id="newfilter_replace">
</div>
</div>
<div class="control-group">
<label class="control-label" for="newfilter_filterlinks">
Filter Links
</label>
<div class="controls">
<input type="checkbox" id="newfilter_filterlinks">
</div>
</div>
<div class="control-group">
<div class="controls">
<button class="btn btn-primary" id="newfilter_submit">New Filter</button>
</div>
</div>
</form>
<table class="table table-striped table-condensed">
<thead>
<tr>
<th>Delete</th>
<th>Name</th>
<th>Regex</th>
<th>Flags</th>
<th>Replacement</th>
<th>Affects Links</th>
<th>Active</th>
</tr>
</thead>
</table>
<p>Multi-Filter Editor (format: name regex flags replacement). Only use this if you know what you are doing</p>
<textarea id="multifiltereditor" class="input-block-level" rows="10"></textarea>
<button class="btn btn-primary" id="multifiltersubmit">Add/Update</button>
</div>
<div id="cssedit" class="span12">
<p>Max 20KB. If you need more space, host the file externally and use the External CSS option</p>
<textarea rows="10" id="csstext"></textarea>
<button class="btn btn-primary" id="save_css">Save</button>
</div>
<div id="jsedit" class="span12">
<p>Max 20KB. If you need more space, host the file externally and use the External JS option</p>
<textarea rows="10" id="jstext"></textarea>
<button class="btn btn-primary" id="save_js">Save</button>
</div>
<div id="banlist" class="span12">
<table class="table table-striped">
<thead>
<tr>
<th>Unban</th>
<th>IP</th>
<th>Name</th>
<th>Aliases</th>
<th>Banned By</th>
</tr>
</thead>
</table>
</div>
<div id="loginhistory" class="span12">
<table class="table table-striped">
<thead>
<tr>
<th>Name</th>
<th>Aliases</th>
<th>Time</th>
</tr>
</thead>
</table>
</div>
<div id="channelranks" class="span12">
<table class="table table-striped">
<thead>
<tr>
<th>Name</th>
<th>Rank (click to edit)</th>
</tr>
</thead>
</table>
</div>
<div id="chanlog" class="span12">
<button class="btn" id="chanlog_refresh">Refresh</button>
<br>
<br>
<strong>Filter Log:</strong>
<form class="form-inline" action="javascript:void(0)">
<label class="checkbox" for="filter_all">Everything
<input type="checkbox" id="filter_all" checked="checked">
</label>
<label class="checkbox" for="filter_chat">Chat
<input type="checkbox" id="filter_chat">
</label>
<label class="checkbox" for="filter_polls">Polls
<input type="checkbox" id="filter_polls">
</label>
<label class="checkbox" for="filter_queue">Playlist actions
<input type="checkbox" id="filter_queue">
</label>
<label class="checkbox" for="filter_bans">Bans
<input type="checkbox" id="filter_bans">
</label>
<label class="checkbox" for="filter_channelsettings">Channel settings
<input type="checkbox" id="filter_channelsettings">
</label>
<label class="checkbox" for="filter_joinquit">Join/Quit Messages
<input type="checkbox" id="filter_joinquit">
</label>
</form>
<pre id="chanlog_contents" style="max-height: 400px; overflow-y: scroll"></pre>
</div>