2013-02-16 05:02:42 +00:00
<!DOCTYPE html>
< html lang = "en" >
< head >
< meta charset = "utf-8" >
2013-03-23 22:15:19 +00:00
< title > CyTube< / title >
2013-02-16 05:02:42 +00:00
< 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 */
}
< / style >
< link href = "./assets/css/bootstrap-responsive.css" rel = "stylesheet" >
< / head >
< body >
2013-04-27 23:49:39 +00:00
< div class = "wrapper" >
2013-02-16 05:02:42 +00:00
< div class = "navbar navbar-inverse navbar-fixed-top" >
< div class = "navbar-inner" >
< div class = "container" >
2013-04-21 01:17:38 +00:00
< a class = "brand" href = "index.html" > CyTube< / a >
2013-03-31 22:30:46 +00:00
< div class = "" >
2013-02-16 05:02:42 +00:00
< ul class = "nav" >
2013-04-21 01:17:38 +00:00
< li class = "active" > < a href = "index.html" > Home< / a > < / li >
2013-03-20 19:17:59 +00:00
< li > < a href = "help.html" > Help< / a > < / li >
2013-04-28 17:57:08 +00:00
< li > < a href = "javascript:void(0)" id = "optlink" > Options< / a > < / li >
2013-02-16 05:02:42 +00:00
< / ul >
2013-03-05 22:56:21 +00:00
< div class = "navbar-form pull-right" id = "loginform" >
2013-04-27 17:55:17 +00:00
< input type = "text" id = "guestname" placeholder = "Name" >
< button class = "btn" id = "guestlogin" > Guest Login< / button >
2013-04-26 03:50:12 +00:00
< button class = "btn" id = "login" > Login/Register< / button >
2013-03-05 22:56:21 +00:00
< / div >
< div class = "navbar-form pull-right" id = "logoutform" style = "display: none;" >
< button class = "btn" id = "logout" > Logout< / button >
< / div >
2013-02-16 05:02:42 +00:00
< / div >
< / div >
< / div >
< / div >
< div class = "container" >
< div class = "row" >
< div id = "loggedin" class = "span6" style = "display: none;" >
< h3 id = "welcome" > < / h3 >
< / div >
< / div >
2013-04-19 19:04:51 +00:00
< div class = "row" id = "motdrow" >
2013-04-01 21:02:09 +00:00
< div class = "span10 offset1 well" >
< p id = "motd" > < / p >
< / div >
2013-04-04 19:56:43 +00:00
< div class = "span12 drinkbar" >
< h1 id = "drinkcount" > < / h1 >
< / div >
2013-04-01 21:02:09 +00:00
< / div >
2013-04-19 19:04:51 +00:00
< div class = "row" id = "main" style = "margin-top: 20px;" >
2013-03-31 22:30:46 +00:00
< div class = "span5" id = "chatdiv" >
2013-03-07 01:38:16 +00:00
< p id = "usercount" > < / p >
2013-02-16 05:02:42 +00:00
< div id = "userlist" >
< / div >
< div id = "messagebuffer" >
< / div >
2013-04-06 21:02:20 +00:00
< input type = "text" id = "chatline" class = "span5" >
2013-02-16 05:02:42 +00:00
< / div >
2013-03-31 22:30:46 +00:00
< div class = "span7" id = "videodiv" >
2013-03-16 20:13:40 +00:00
< p id = "currenttitle" > Currently Playing: < / p >
2013-02-16 05:02:42 +00:00
< div id = "ytapiplayer" >
< / div >
< / div >
< / div >
2013-04-24 20:47:52 +00:00
< div class = "row" id = "queuerow" >
< div class = "span5" >
< div class = "row-fluid" >
< div class = "span12" id = "pollcontainer" >
< / div >
2013-04-27 20:55:08 +00:00
< div class = "span7" style = "margin-left: 0;" >
2013-04-28 18:48:22 +00:00
< input type = "text" id = "library_query" class = "input-block-level" placeholder = "Search Query" >
2013-04-27 20:55:08 +00:00
< / div >
< div class = "span5 btn-group" >
< button class = "btn" id = "library_search" > Library< / button >
< button class = "btn" id = "youtube_search" > YouTube< / button >
< / div >
< div class = "span12" style = "margin-left: 0;" >
2013-04-24 20:47:52 +00:00
< ul id = "library" class = "videolist" >
< / ul >
< / div >
2013-04-22 20:37:42 +00:00
< / div >
2013-02-16 05:02:42 +00:00
< / div >
2013-04-24 20:47:52 +00:00
< div class = "span7" id = "queuediv" >
2013-04-28 18:48:22 +00:00
< div class = "row-fluid" id = "qclear" >
< div class = "span12" > < / div >
< / div >
2013-04-24 20:47:52 +00:00
< div id = "playlist_controls" style = "display: none;" >
< div class = "row-fluid" >
< div class = "span8" >
2013-04-28 18:48:22 +00:00
< input type = "text" id = "mediaurl" class = "input-block-level" placeholder = "Media URL" >
2013-04-24 20:47:52 +00:00
< / div >
< div class = "span4 btn-group" >
< button class = "btn" id = "queue_next" > Next< / button >
< button class = "btn" id = "queue_end" > End< / button >
< / div >
< / div >
< / div >
< button class = "btn btn-block" id = "voteskip" > Voteskip< / button >
< div class = "row-fluid" >
< ul id = "queue" class = "span12 videolist" >
< / ul >
< div class = "span12 well well-small" id = "plmeta" >
< span id = "plcount" > < / span >
< span id = "pllength" > < / span >
< div class = "clear: both;" > < / div >
< / div >
< button class = "btn btn-danger btn-block" id = "qlockbtn" style = "display:none;" > Unlock Queue< / button >
< div class = "span12 btn-group" style = "margin: 0" >
2013-04-27 17:55:17 +00:00
< button class = "btn" id = "getplaylist" style = "width: 100%" > Get Playlist URLs< / button >
< button class = "btn" id = "clearplaylist" style = "width: 33%; display: none;" > Clear Playlist< / button >
< button class = "btn" id = "shuffleplaylist" style = "width: 33%; display: none;" > Shuffle Playlist< / button >
2013-04-24 20:47:52 +00:00
< / div >
2013-04-04 16:39:43 +00:00
< / div >
2013-02-16 05:02:42 +00:00
< / div >
< / div >
2013-03-24 03:45:10 +00:00
< div class = "row" style = "display: none;" id = "modnav" >
2013-04-29 17:29:31 +00:00
< div class = "span12" id = "modtabs" >
2013-03-24 03:45:10 +00:00
< ul class = "nav nav-tabs" >
< li class = "active" >
< a href = "javascript:void(0)" id = "show_chancontrols" > Channel Controls< / a >
< / li >
< li >
< a href = "javascript:void(0)" id = "show_banlist" > Ban List< / a >
< / li >
2013-04-29 23:59:51 +00:00
< li >
< a href = "javascript:void(0)" id = "show_loginlog" > Connection Log< / a >
< / li >
2013-04-01 21:02:09 +00:00
< li >
< a href = "javascript:void(0)" id = "show_motdeditor" > MOTD< / a >
< / li >
< li >
< a href = "javascript:void(0)" id = "show_filtereditor" > Chat Filters< / a >
< / li >
2013-04-22 18:28:40 +00:00
< li >
< a href = "javascript:void(0)" id = "show_acl" > Channel Ranks< / a >
< / li >
2013-03-24 03:45:10 +00:00
< / ul >
< / div >
< / div >
2013-04-01 21:02:09 +00:00
< div class = "row modonly" style = "display: none" id = "chancontrols" >
2013-04-29 17:29:31 +00:00
< div class = "span12" >
2013-03-22 20:04:04 +00:00
< form action = "javascript:void(0)" >
< fieldset >
2013-04-29 17:29:31 +00:00
< div class = "span5" >
2013-03-22 20:04:04 +00:00
< label > When the queue is open:< / label >
< label class = "checkbox" >
< input type = "checkbox" id = "opt_qopen_allow_qnext" >
Allow anyone to Queue Next
< / label >
< label class = "checkbox" >
< input type = "checkbox" id = "opt_qopen_allow_move" >
Allow anyone to move videos
< / label >
< label class = "checkbox" >
< input type = "checkbox" id = "opt_qopen_allow_delete" >
Allow anyone to delete videos
< / label >
< label class = "checkbox" >
< input type = "checkbox" id = "opt_qopen_allow_playnext" >
2013-04-04 16:39:43 +00:00
Allow anyone to jump to a video
2013-03-22 20:04:04 +00:00
< / label >
< / div >
< div class = "span5" >
< label > Page Title
< input type = "text" id = "opt_pagetitle" placeholder = "Sync" class = "pull-right" >
< / label >
< br >
2013-04-16 16:11:10 +00:00
< label > Custom CSS
2013-03-23 22:15:19 +00:00
< input type = "text" id = "opt_customcss" class = "pull-right" >
2013-03-22 20:04:04 +00:00
< / label >
2013-04-16 16:11:10 +00:00
< br >
< label > Custom JS< sup class = "text-warning" > BETA< / sup >
< input type = "text" id = "opt_customjs" class = "pull-right" >
< / label >
< br >
2013-04-02 19:07:22 +00:00
< label class = "checkbox" >
< input type = "checkbox" id = "opt_allow_voteskip" >
Allow voteskip
< / label >
2013-04-21 01:17:38 +00:00
< br >
< label > Voteskip Ratio
< input type = "text" id = "opt_voteskip_ratio" class = "pull-right" >
< / label >
2013-04-23 19:17:42 +00:00
< br >
< label class = "checkbox" >
< input type = "checkbox" id = "opt_chat_antiflood" >
Prevent chat flood
< / label >
2013-03-22 20:04:04 +00:00
< / div >
2013-04-16 16:11:10 +00:00
2013-03-22 20:04:04 +00:00
< div class = "span10" >
< button class = "btn btn-primary" id = "opt_submit" > Save< / button >
< / div >
< / fieldset >
< / form >
< / div >
< / div >
2013-04-01 21:02:09 +00:00
< div class = "row modonly" id = "banlist" style = "display: none;" >
2013-04-29 17:29:31 +00:00
< div class = "span12" >
2013-03-24 03:45:10 +00:00
< table class = "table table-striped" >
< thead >
< th > < / th >
< th > IP< / th >
< th > Name< / th >
< th > Banned By< / th >
< / thead >
< / table >
< / div >
< / div >
2013-04-29 23:59:51 +00:00
< div class = "row modonly" id = "loginlog" style = "display: none;" >
< div class = "span12" >
< table class = "table table-striped" >
< thead >
< th > < / th >
< th > IP< / th >
< th > Names< / th >
< / thead >
< / table >
< / div >
< / div >
2013-04-01 21:02:09 +00:00
< div class = "row modonly" id = "motdeditor" style = "display: none;" >
2013-04-29 17:29:31 +00:00
< div class = "span12" >
2013-04-01 21:02:09 +00:00
< textarea rows = "10" id = "motdtext" > < / textarea >
< button class = "btn btn-primary" id = "updatemotd" > Update< / button >
< / div >
< / div >
< div class = "row modonly" id = "filtereditor" style = "display: none;" >
2013-04-29 17:29:31 +00:00
< div class = "span12" >
2013-04-01 21:02:09 +00:00
< table class = "table table-striped" >
< thead >
< th > < / th >
2013-04-29 17:29:31 +00:00
< th > Name< / th >
2013-04-01 21:02:09 +00:00
< th > Regex< / th >
2013-04-29 17:29:31 +00:00
< th > Flags< / th >
2013-04-01 21:02:09 +00:00
< th > Replacement< / th >
< th > Active< / th >
< / thead >
< / table >
< / div >
2013-04-30 16:09:32 +00:00
< div class = "span12" >
< p > Multiple filters can be added at once below. They should contain 3-4 fields separated by whitespace: (name) regex flags replacement.< br > If any field contains whitespace, it must be escaped by a backslash, for example "what\ a\ story\ mark"< / p >
< textarea rows = "10" class = "input-block-level" id = "multifiltereditor" > < / textarea >
< button class = "btn btn-primary" id = "multifilter" > Update Multiple< / button >
< / div >
2013-04-01 21:02:09 +00:00
< / div >
2013-04-22 18:28:40 +00:00
< div class = "row modonly" id = "channelranks" style = "display: none;" >
2013-04-29 17:29:31 +00:00
< div class = "span12" >
2013-04-22 18:28:40 +00:00
< table class = "table table-striped" >
< thead >
< th > Name< / th >
< th > Rank< / th >
< th > Control< / th >
< / thead >
< / table >
< / div >
< / div >
2013-02-16 05:02:42 +00:00
< / div > <!-- /container -->
2013-04-28 17:14:52 +00:00
< div class = "push" > < / div >
2013-04-30 16:13:06 +00:00
< div id = "sitefooter" >
< / div >
2013-05-01 18:03:03 +00:00
< / div >
2013-04-26 01:01:34 +00:00
< div id = "footer" >
< p class = "muted" >
2013-04-30 22:09:30 +00:00
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 >
2013-04-26 01:01:34 +00:00
< / p >
2013-04-30 22:09:30 +00:00
2013-04-16 16:11:10 +00:00
< / div >
2013-02-16 05:02:42 +00:00
2013-04-16 16:11:10 +00:00
<!-- Third party -->
< script src = "./assets/js/bootstrap.js" > < / script >
< script src = "./assets/js/bootstrap-transition.js" > < / script >
< script src = "./assets/js/bootstrap-modal.js" > < / script >
2013-05-01 18:39:01 +00:00
<!-- Mine -->
< script src = "./assets/js/jquery.js" > < / script >
< script type = "text/javascript" >
var params = {};
if(window.location.search) {
var parameters = window.location.search.substring(1).split("&");
for(var i = 0; i < parameters.length ; i + + ) {
var s = parameters[i].split("=");
if(s.length != 2)
continue;
params[s[0]] = s[1];
}
}
if(params["channel"] & & params["channel"].match(/^[a-zA-Z0-9]+$/)) {
var host = ""+document.location;
host = host.replace("http://", "");
host = host.substring(0, host.indexOf("/"));
document.location = "http://" + host + "/r/" + params["channel"];
}
else {
var main = $($(".container")[1]);
var container = $("< div / > ").addClass("container").insertBefore(main);
var row = $("< div / > ").addClass("row").appendTo(container);
var div = $("< div / > ").addClass("span6").appendTo(row);
main.css("display", "none");
var label = $("< label / > ").text("Enter Channel:").appendTo(div);
var entry = $("< input / > ").attr("type", "text").appendTo(div);
entry.keydown(function(ev) {
var host = ""+document.location;
host = host.replace("http://", "");
host = host.substring(0, host.indexOf("/"));
if(ev.keyCode == 13) {
document.location = "http://" + host + "/r/" + entry.val();
}
});
}
< / script >
2013-02-16 05:02:42 +00:00
< / body >
< / html >