|
1
|
|
|
<?php require_once($_SERVER['DOCUMENT_ROOT'] . "/s/classes/config.inc.php"); ?> |
|
2
|
|
|
<?php require_once($_SERVER['DOCUMENT_ROOT'] . "/s/classes/db_helper.php"); ?> |
|
3
|
|
|
<?php require_once($_SERVER['DOCUMENT_ROOT'] . "/s/classes/time_manip.php"); ?> |
|
4
|
|
|
<?php require_once($_SERVER['DOCUMENT_ROOT'] . "/s/classes/user_helper.php"); ?> |
|
5
|
|
|
<?php require_once($_SERVER['DOCUMENT_ROOT'] . "/s/classes/video_helper.php"); ?> |
|
6
|
|
|
<?php require_once($_SERVER['DOCUMENT_ROOT'] . "/s/classes/user_update.php"); ?> |
|
7
|
|
|
<?php $__video_h = new video_helper($__db); ?> |
|
8
|
|
|
<?php $__user_h = new user_helper($__db); ?> |
|
9
|
|
|
<?php $__user_u = new user_update($__db); ?> |
|
10
|
|
|
<?php $__db_h = new db_helper(); ?> |
|
11
|
|
|
<?php $__time_h = new time_helper(); ?> |
|
12
|
|
|
<?php if(!isset($_SESSION['siteusername'])) { header("Location: /sign_in"); } ?> |
|
13
|
|
|
<?php if(!$__user_h->if_admin($_SESSION['siteusername'])) { header("Location: /"); } ?> |
|
14
|
|
|
<?php |
|
15
|
|
|
$__server->page_embeds->page_title = "SubRocks - Admin Panel"; |
|
16
|
|
|
$__server->page_embeds->page_description = "SubRocks is a site dedicated to bring back the 2012 layout of YouTube."; |
|
17
|
|
|
$__server->page_embeds->page_image = "/yt/imgbin/full-size-logo.png"; |
|
18
|
|
|
$__server->page_embeds->page_url = "https://subrock.rocks/"; |
|
19
|
|
|
|
|
20
|
|
|
function get_server_array_stats() { |
|
21
|
|
|
$stat1 = file('/proc/stat'); |
|
22
|
|
|
sleep(1); |
|
23
|
|
|
$stat2 = file('/proc/stat'); |
|
24
|
|
|
$info1 = explode(" ", preg_replace("!cpu +!", "", $stat1[0])); |
|
25
|
|
|
$info2 = explode(" ", preg_replace("!cpu +!", "", $stat2[0])); |
|
26
|
|
|
$dif = array(); |
|
27
|
|
|
$dif['user'] = $info2[0] - $info1[0]; |
|
28
|
|
|
$dif['nice'] = $info2[1] - $info1[1]; |
|
29
|
|
|
$dif['sys'] = $info2[2] - $info1[2]; |
|
30
|
|
|
$dif['idle'] = $info2[3] - $info1[3]; |
|
31
|
|
|
$total = array_sum($dif); |
|
32
|
|
|
$cpu = array(); |
|
33
|
|
|
foreach($dif as $x=>$y) $cpu[$x] = round($y / $total * 100, 1); |
|
34
|
|
|
|
|
35
|
|
|
return $cpu; |
|
36
|
|
|
} |
|
37
|
|
|
|
|
38
|
|
|
function adjustBrightness($hexCode, $adjustPercent) { |
|
39
|
|
|
$hexCode = ltrim($hexCode, '#'); |
|
40
|
|
|
|
|
41
|
|
|
if (strlen($hexCode) == 3) { |
|
42
|
|
|
$hexCode = $hexCode[0] . $hexCode[0] . $hexCode[1] . $hexCode[1] . $hexCode[2] . $hexCode[2]; |
|
43
|
|
|
} |
|
44
|
|
|
|
|
45
|
|
|
$hexCode = array_map('hexdec', str_split($hexCode, 2)); |
|
|
|
|
|
|
46
|
|
|
|
|
47
|
|
|
foreach ($hexCode as & $color) { |
|
48
|
|
|
$adjustableLimit = $adjustPercent < 0 ? $color : 255 - $color; |
|
49
|
|
|
$adjustAmount = ceil($adjustableLimit * $adjustPercent); |
|
50
|
|
|
|
|
51
|
|
|
$color = str_pad(dechex($color + $adjustAmount), 2, '0', STR_PAD_LEFT); |
|
|
|
|
|
|
52
|
|
|
} |
|
53
|
|
|
|
|
54
|
|
|
return '#' . implode($hexCode); |
|
55
|
|
|
} |
|
56
|
|
|
|
|
57
|
|
|
function get_server_memory_usage() { |
|
58
|
|
|
$free = shell_exec('free'); |
|
59
|
|
|
$free = (string)trim($free); |
|
60
|
|
|
$free_arr = explode("\n", $free); |
|
61
|
|
|
$mem = explode(" ", $free_arr[1]); |
|
62
|
|
|
$mem = array_filter($mem); |
|
63
|
|
|
$mem = array_merge($mem); |
|
64
|
|
|
$memory_usage = $mem[2]/$mem[1]*100; |
|
65
|
|
|
|
|
66
|
|
|
return $memory_usage; |
|
67
|
|
|
} |
|
68
|
|
|
|
|
69
|
|
|
function get_server_cpu_usage() { |
|
70
|
|
|
$load = sys_getloadavg(); |
|
71
|
|
|
return $load[0]; |
|
72
|
|
|
} |
|
73
|
|
|
?> |
|
74
|
|
|
<!DOCTYPE html> |
|
75
|
|
|
<html dir="ltr"> |
|
76
|
|
|
<head> |
|
77
|
|
|
<title><?php echo $__server->page_embeds->page_title; ?></title> |
|
78
|
|
|
<meta property="og:title" content="<?php echo $__server->page_embeds->page_title; ?>" /> |
|
79
|
|
|
<meta property="og:url" content="<?php echo $__server->page_embeds->page_url; ?>" /> |
|
80
|
|
|
<meta property="og:description" content="<?php echo $__server->page_embeds->page_description; ?>" /> |
|
81
|
|
|
<meta property="og:image" content="<?php echo $__server->page_embeds->page_image; ?>" /> |
|
82
|
|
|
<script> |
|
83
|
|
|
var yt = yt || {};yt.timing = yt.timing || {};yt.timing.tick = function(label, opt_time) {var timer = yt.timing['timer'] || {};if(opt_time) {timer[label] = opt_time;}else {timer[label] = new Date().getTime();}yt.timing['timer'] = timer;};yt.timing.info = function(label, value) {var info_args = yt.timing['info_args'] || {};info_args[label] = value;yt.timing['info_args'] = info_args;};yt.timing.info('e', "904821,919006,922401,920704,912806,913419,913546,913556,919349,919351,925109,919003,920201,912706");if (document.webkitVisibilityState == 'prerender') {document.addEventListener('webkitvisibilitychange', function() {yt.timing.tick('start');}, false);}yt.timing.tick('start');yt.timing.info('li','0');try {yt.timing['srt'] = window.gtbExternal && window.gtbExternal.pageT() ||window.external && window.external.pageT;} catch(e) {}if (window.chrome && window.chrome.csi) {yt.timing['srt'] = Math.floor(window.chrome.csi().pageT);}if (window.msPerformance && window.msPerformance.timing) {yt.timing['srt'] = window.msPerformance.timing.responseStart - window.msPerformance.timing.navigationStart;} |
|
84
|
|
|
</script> |
|
85
|
|
|
<link id="www-core-css" rel="stylesheet" href="/yt/cssbin/www-core-vfluMRDnk.css"> |
|
86
|
|
|
<link rel="stylesheet" href="/yt/cssbin/www-guide-vflx0V5Tq.css"> |
|
87
|
|
|
<link rel="stylesheet" href="/yt/cssbin/www-videos-nav-vflYGt27y.css"> |
|
88
|
|
|
<link rel="stylesheet" href="/yt/cssbin/www-extra.css"> |
|
89
|
|
|
<script src="//s.ytimg.com/yt/jsbin/www-browse-vflu1nggJ.js" data-loaded="true"></script> |
|
90
|
|
|
<script src="https://cdnjs.cloudflare.com/ajax/libs/jquery/3.6.0/jquery.min.js" integrity="sha512-894YE6QWD5I59HgZOGReFYm4dnWc1Qt5NtvYSaNcOP+u1T9qYdvdihz0PPSiiqn/+/3e7Jo4EaG7TubfWGUrMQ==" crossorigin="anonymous" referrerpolicy="no-referrer"></script> |
|
91
|
|
|
<script> |
|
92
|
|
|
if (window.yt.timing) {yt.timing.tick("ct");} |
|
93
|
|
|
</script> |
|
94
|
|
|
<style> |
|
95
|
|
|
.box-gray { |
|
96
|
|
|
position: relative; |
|
97
|
|
|
padding: 15px; |
|
98
|
|
|
border: 1px solid #c5c5c5; |
|
99
|
|
|
background-color: #f7f7f7; |
|
100
|
|
|
border-radius: 10px; |
|
101
|
|
|
-moz-border-radius: 10px; |
|
102
|
|
|
-webkit-border-radius: 10px; |
|
103
|
|
|
width:300px; |
|
104
|
|
|
} |
|
105
|
|
|
|
|
106
|
|
|
.master-myaccount-top { |
|
107
|
|
|
border-bottom: 1px solid #CACACA; |
|
108
|
|
|
} |
|
109
|
|
|
|
|
110
|
|
|
.www-home-left a { |
|
111
|
|
|
padding-bottom: 3px; |
|
112
|
|
|
padding-top: 4px; |
|
113
|
|
|
font-weight: 700; |
|
114
|
|
|
text-align: left; |
|
115
|
|
|
color: black; |
|
116
|
|
|
padding-left: 2px; |
|
117
|
|
|
width: 193px; |
|
118
|
|
|
display: inline-block; |
|
119
|
|
|
} |
|
120
|
|
|
|
|
121
|
|
|
.www-home-left { |
|
122
|
|
|
width: 200px; |
|
123
|
|
|
border-right: 1px solid #aaa; |
|
124
|
|
|
} |
|
125
|
|
|
|
|
126
|
|
|
.www-home-right { |
|
127
|
|
|
width: 754px; |
|
128
|
|
|
padding: 5px; |
|
129
|
|
|
} |
|
130
|
|
|
|
|
131
|
|
|
.www-home-left a:hover { |
|
132
|
|
|
background-color: rgb(239, 239, 239); |
|
133
|
|
|
background: -moz-linear-gradient(0deg,rgb(192,192,192,1)0%,rgb(239,239,239,1)115%); |
|
134
|
|
|
background: -webkit-linear-gradient(0deg,rgb(192,192,192,1)0%,rgb(239,239,239,1)115%); |
|
135
|
|
|
background: linear-gradient(0deg,rgb(192,192,192)0%, rgb(239,239,239)115%); |
|
136
|
|
|
filter: progid:DXImageTransform.Microsoft.gradient(startColorstr="c0c0c0",endColorstr="#efefef",GradientType=1); |
|
137
|
|
|
} |
|
138
|
|
|
|
|
139
|
|
|
a[href="/inbox/send"] { |
|
140
|
|
|
margin: 0px !important; |
|
141
|
|
|
padding: 0px !important; |
|
142
|
|
|
position: relative; |
|
143
|
|
|
top: 0px !important; |
|
144
|
|
|
} |
|
145
|
|
|
|
|
146
|
|
|
#search-button { |
|
147
|
|
|
margin: 0px; |
|
148
|
|
|
margin-bottom: 7px; |
|
149
|
|
|
margin-top: 4px; |
|
150
|
|
|
} |
|
151
|
|
|
|
|
152
|
|
|
table { |
|
153
|
|
|
font-family: arial, sans-serif; |
|
154
|
|
|
border-collapse: collapse; |
|
155
|
|
|
width: 100%; |
|
156
|
|
|
} |
|
157
|
|
|
|
|
158
|
|
|
td, th { |
|
159
|
|
|
text-align: left; |
|
160
|
|
|
padding: 3px; |
|
161
|
|
|
} |
|
162
|
|
|
|
|
163
|
|
|
th { |
|
164
|
|
|
border: 1px solid #dddddd; |
|
165
|
|
|
background: rgb(215,215,215); |
|
166
|
|
|
background: -moz-linear-gradient(0deg, rgba(215,215,215,1) 0%, rgba(255,255,255,1) 100%); |
|
167
|
|
|
background: -webkit-linear-gradient(0deg, rgba(215,215,215,1) 0%, rgba(255,255,255,1) 100%); |
|
168
|
|
|
background: linear-gradient(0deg, rgba(215,215,215,1) 0%, rgba(255,255,255,1) 100%); |
|
169
|
|
|
filter: progid:DXImageTransform.Microsoft.gradient(startColorstr="#d7d7d7",endColorstr="#ffffff",GradientType=1); |
|
170
|
|
|
height: 14px; |
|
171
|
|
|
font-weight: lighter; |
|
172
|
|
|
} |
|
173
|
|
|
|
|
174
|
|
|
tr:nth-child(even) { |
|
175
|
|
|
background-color: #f9f9f9; |
|
176
|
|
|
} |
|
177
|
|
|
|
|
178
|
|
|
.video-manager-info { |
|
179
|
|
|
width: 462px; |
|
180
|
|
|
} |
|
181
|
|
|
|
|
182
|
|
|
.video-filter-options a { |
|
183
|
|
|
margin-left: 5px; |
|
184
|
|
|
margin-right: 5px; |
|
185
|
|
|
} |
|
186
|
|
|
|
|
187
|
|
|
.selected { |
|
188
|
|
|
font-weight: bold; |
|
189
|
|
|
color: black; |
|
190
|
|
|
} |
|
191
|
|
|
</style> |
|
192
|
|
|
</head> |
|
193
|
|
|
<body id="" class="date-20120930 en_US ltr ytg-old-clearfix guide-feed-v2 " dir="ltr"> |
|
194
|
|
|
<form name="logoutForm" method="POST" action="/logout"> |
|
195
|
|
|
<input type="hidden" name="action_logout" value="1"> |
|
196
|
|
|
</form> |
|
197
|
|
|
<!-- begin page --> |
|
198
|
|
|
<div id="page" class="browse-base"> |
|
199
|
|
|
<!-- begin pagetop --> |
|
200
|
|
|
<div id="masthead-container"><?php require($_SERVER['DOCUMENT_ROOT'] . "/s/mod/header.php"); ?></div> |
|
201
|
|
|
<!-- end pagetop --> |
|
202
|
|
|
<!-- begin pagemiddle --> |
|
203
|
|
|
<div id="content-container"> |
|
204
|
|
|
<div id="baseDiv" class="date-20120930 video-info browse-base browse-videos"> |
|
205
|
|
|
<div id="alerts"></div> |
|
206
|
|
|
<div id="masthead-subnav" class="yt-nav yt-nav-dark "> |
|
207
|
|
|
<ul> |
|
208
|
|
|
<a href="/my_videos"> |
|
209
|
|
|
<li> |
|
210
|
|
|
<span class="yt-nav-item"> |
|
211
|
|
|
My Channel |
|
212
|
|
|
</span> |
|
213
|
|
|
</li> |
|
214
|
|
|
</a> |
|
215
|
|
|
<a href="/inbox/"> |
|
216
|
|
|
<li> |
|
217
|
|
|
<span class="yt-nav-item"> |
|
218
|
|
|
Inbox |
|
219
|
|
|
</span> |
|
220
|
|
|
</li> |
|
221
|
|
|
</a> |
|
222
|
|
|
<a href="/admin/"> |
|
223
|
|
|
<li class=" selected"> |
|
224
|
|
|
<span class="yt-nav-item"> |
|
225
|
|
|
Admin |
|
226
|
|
|
</span> |
|
227
|
|
|
</li> |
|
228
|
|
|
</a> |
|
229
|
|
|
</ul> |
|
230
|
|
|
</div> |
|
231
|
|
|
<div class="browse-container ytg-wide ytg-box no-stage browse-bg-gradient"> |
|
232
|
|
|
<div class="ytg-fl browse-content"> |
|
233
|
|
|
<?php require($_SERVER['DOCUMENT_ROOT'] . "/s/mod/sidebar_admin.php"); ?> |
|
234
|
|
|
<div id="browse-main-column" style="float: right;margin: 0px 0 0 14px;" class="ytg-4col"> |
|
235
|
|
|
<div class="browse-collection has-box-ad"> |
|
236
|
|
|
<div class="box-gray" style="width: 95%;margin-bottom: 8px;"> |
|
237
|
|
|
<h3>Statistics</h3> |
|
238
|
|
|
<?php |
|
239
|
|
|
$stmt = $__db->prepare("SELECT id FROM videos"); |
|
240
|
|
|
$stmt->execute(); |
|
241
|
|
|
$videos = $stmt->rowCount(); |
|
242
|
|
|
|
|
243
|
|
|
$stmt = $__db->prepare("SELECT id FROM users"); |
|
244
|
|
|
$stmt->execute(); |
|
245
|
|
|
$users = $stmt->rowCount(); |
|
246
|
|
|
|
|
247
|
|
|
$stmt = $__db->prepare("SELECT id FROM comments"); |
|
248
|
|
|
$stmt->execute(); |
|
249
|
|
|
$comments = $stmt->rowCount(); |
|
250
|
|
|
|
|
251
|
|
|
$stmt = $__db->prepare("SELECT id FROM views"); |
|
252
|
|
|
$stmt->execute(); |
|
253
|
|
|
$views = $stmt->rowCount(); |
|
254
|
|
|
|
|
255
|
|
|
$stmt = $__db->prepare("SELECT id FROM pms"); |
|
256
|
|
|
$stmt->execute(); |
|
257
|
|
|
$pms = $stmt->rowCount(); |
|
258
|
|
|
|
|
259
|
|
|
$stmt = $__db->prepare("SELECT id FROM playlists"); |
|
260
|
|
|
$stmt->execute(); |
|
261
|
|
|
$playlists = $stmt->rowCount(); |
|
262
|
|
|
?> |
|
263
|
|
|
<div style="width: 200px;display:inline-block;"> |
|
264
|
|
|
<?php $server = get_server_array_stats(); ?> |
|
265
|
|
|
Videos uploaded: <b style="float:right;"><?php echo $videos; ?></b><br> |
|
266
|
|
|
Users registered: <b style="float:right;"><?php echo $users; ?></b><br><br> |
|
267
|
|
|
|
|
268
|
|
|
CPU User Usage: |
|
269
|
|
|
<b style="float:right;color:<?php echo adjustBrightness("#FF0000", $server['user']); ?>"> |
|
270
|
|
|
<?php echo $server['user']; ?>%</b><br> |
|
271
|
|
|
CPU NICE Usage: |
|
272
|
|
|
<b style="float:right;color:<?php echo adjustBrightness("#FF0000", $server['nice']); ?>"> |
|
273
|
|
|
<?php echo $server['nice']; ?>%</b><br> |
|
274
|
|
|
CPU Idle Usage: |
|
275
|
|
|
<b style="float:right;color:<?php echo adjustBrightness("#FF0000", $server['idle']); ?>"> |
|
276
|
|
|
<?php echo $server['idle']; ?>%</b><br> |
|
277
|
|
|
RAM Usage: <b style="float:right;"><?php echo round(get_server_memory_usage(), 3) ; ?> megabytes</b> |
|
278
|
|
|
</div> |
|
279
|
|
|
<div style="width: 200px;display:inline-block;margin-right:20px;vertical-align: top;margin-left: 22px;"> |
|
280
|
|
|
<?php $server = get_server_array_stats(); ?> |
|
281
|
|
|
Comments on site: <b style="float:right;"><?php echo $comments; ?></b><br> |
|
282
|
|
|
Private messages: <b style="float:right;"><?php echo $pms; ?></b><br> |
|
283
|
|
|
Playlists on site: <b style="float:right;"><?php echo $playlists; ?></b><br> |
|
284
|
|
|
Video views: <b style="float:right;"><?php echo $views; ?></b><br><br> |
|
285
|
|
|
</div><br><br> |
|
286
|
|
|
<button href="/admin/stats" type="button" class=" yt-uix-button yt-uix-button-default" onclick=";window.location.href=this.getAttribute('href');return false;" role="button"><span class="yt-uix-button-content">See more statistics </span></button> |
|
287
|
|
|
</div> |
|
288
|
|
|
</div> |
|
289
|
|
|
</div> |
|
290
|
|
|
</div> |
|
291
|
|
|
</div> |
|
292
|
|
|
<div class="clear"></div> |
|
293
|
|
|
</div> |
|
294
|
|
|
</div> |
|
295
|
|
|
<!-- end pagemiddle --> |
|
296
|
|
|
<!-- begin pagebottom --> |
|
297
|
|
|
<div id="footer-container"><?php require($_SERVER['DOCUMENT_ROOT'] . "/s/mod/footer.php"); ?></div> |
|
298
|
|
|
<div id="playlist-bar" class="hid passive editable" data-video-url="/watch?v=&feature=BFql&playnext=1&list=QL" data-list-id="" data-list-type="QL"> |
|
299
|
|
|
<div id="playlist-bar-bar-container"> |
|
300
|
|
|
<div id="playlist-bar-bar"> |
|
301
|
|
|
<div class="yt-alert yt-alert-naked yt-alert-success hid " id="playlist-bar-notifications"> |
|
302
|
|
|
<div class="yt-alert-icon"> |
|
303
|
|
|
<img src="//s.ytimg.com/yt/img/pixel-vfl3z5WfW.gif" class="icon master-sprite" alt="Alert icon"> |
|
304
|
|
|
</div> |
|
305
|
|
|
<div class="yt-alert-content" role="alert"></div> |
|
306
|
|
|
</div> |
|
307
|
|
|
<span id="playlist-bar-info"><span class="playlist-bar-active playlist-bar-group"><button onclick=";return false;" title="Previous video" type="button" id="playlist-bar-prev-button" class="yt-uix-tooltip yt-uix-tooltip-masked yt-uix-button yt-uix-button-default yt-uix-tooltip yt-uix-button-empty" role="button"><span class="yt-uix-button-icon-wrapper"><img class="yt-uix-button-icon yt-uix-button-icon-playlist-bar-prev" src="//s.ytimg.com/yt/img/pixel-vfl3z5WfW.gif" alt="Previous video"><span class="yt-valign-trick"></span></span></button><span class="playlist-bar-count"><span class="playing-index">0</span> / <span class="item-count">0</span></span><button type="button" class="yt-uix-tooltip yt-uix-tooltip-masked yt-uix-button yt-uix-button-default yt-uix-button-empty" onclick=";return false;" id="playlist-bar-next-button" role="button"><span class="yt-uix-button-icon-wrapper"><img class="yt-uix-button-icon yt-uix-button-icon-playlist-bar-next" src="//s.ytimg.com/yt/img/pixel-vfl3z5WfW.gif" alt=""><span class="yt-valign-trick"></span></span></button></span><span class="playlist-bar-active playlist-bar-group"><button type="button" class="yt-uix-tooltip yt-uix-tooltip-masked yt-uix-button yt-uix-button-default yt-uix-button-empty" onclick=";return false;" id="playlist-bar-autoplay-button" data-button-toggle="true" role="button"><span class="yt-uix-button-icon-wrapper"><img class="yt-uix-button-icon yt-uix-button-icon-playlist-bar-autoplay" src="//s.ytimg.com/yt/img/pixel-vfl3z5WfW.gif" alt=""><span class="yt-valign-trick"></span></span></button><button type="button" class="yt-uix-tooltip yt-uix-tooltip-masked yt-uix-button yt-uix-button-default yt-uix-button-empty" onclick=";return false;" id="playlist-bar-shuffle-button" data-button-toggle="true" role="button"><span class="yt-uix-button-icon-wrapper"><img class="yt-uix-button-icon yt-uix-button-icon-playlist-bar-shuffle" src="//s.ytimg.com/yt/img/pixel-vfl3z5WfW.gif" alt=""><span class="yt-valign-trick"></span></span></button></span><span class="playlist-bar-passive playlist-bar-group"><button onclick=";return false;" title="Play videos" type="button" id="playlist-bar-play-button" class="yt-uix-tooltip yt-uix-tooltip-masked yt-uix-button yt-uix-button-default yt-uix-tooltip yt-uix-button-empty" role="button"><span class="yt-uix-button-icon-wrapper"><img class="yt-uix-button-icon yt-uix-button-icon-playlist-bar-play" src="//s.ytimg.com/yt/img/pixel-vfl3z5WfW.gif" alt="Play videos"><span class="yt-valign-trick"></span></span></button><span class="playlist-bar-count"><span class="item-count">0</span></span></span><span id="playlist-bar-title" class="yt-uix-button-group"><span class="playlist-title">Unsaved Playlist</span></span></span> |
|
308
|
|
|
<a id="playlist-bar-lists-back" href="#"> |
|
309
|
|
|
Return to active list |
|
310
|
|
|
</a> |
|
311
|
|
|
<span id="playlist-bar-controls"><span class="playlist-bar-group"><button type="button" class="yt-uix-tooltip yt-uix-tooltip-masked yt-uix-button yt-uix-button-text yt-uix-button-empty" onclick=";return false;" id="playlist-bar-toggle-button" role="button"><span class="yt-uix-button-icon-wrapper"><img class="yt-uix-button-icon yt-uix-button-icon-playlist-bar-toggle" src="//s.ytimg.com/yt/img/pixel-vfl3z5WfW.gif" alt=""><span class="yt-valign-trick"></span></span></button></span><span class="playlist-bar-group"><button type="button" class="yt-uix-tooltip yt-uix-tooltip-masked yt-uix-button-reverse flip yt-uix-button yt-uix-button-text" onclick=";return false;" data-button-menu-id="playlist-bar-options-menu" data-button-has-sibling-menu="true" role="button"><span class="yt-uix-button-content">Options </span><img class="yt-uix-button-arrow" src="//s.ytimg.com/yt/img/pixel-vfl3z5WfW.gif" alt=""></button></span></span> |
|
312
|
|
|
</div> |
|
313
|
|
|
</div> |
|
314
|
|
|
<div id="playlist-bar-tray-container"> |
|
315
|
|
|
<div id="playlist-bar-tray" class="yt-uix-slider yt-uix-slider-fluid"> |
|
316
|
|
|
<button class="yt-uix-button playlist-bar-tray-button yt-uix-button-default yt-uix-slider-prev" onclick="return false;"><img class="yt-uix-slider-prev-arrow" src="//s.ytimg.com/yt/img/pixel-vfl3z5WfW.gif" alt="Previous video"></button><button class="yt-uix-button playlist-bar-tray-button yt-uix-button-default yt-uix-slider-next" onclick="return false;"><img class="yt-uix-slider-next-arrow" src="//s.ytimg.com/yt/img/pixel-vfl3z5WfW.gif" alt="Next video"></button> |
|
317
|
|
|
<div class="yt-uix-slider-body"> |
|
318
|
|
|
<div id="playlist-bar-tray-content" class="yt-uix-slider-slide"> |
|
319
|
|
|
<ol class="video-list"></ol> |
|
320
|
|
|
<ol id="playlist-bar-help"> |
|
321
|
|
|
<li class="empty playlist-bar-help-message">Your queue is empty. Add videos to your queue using this button: <img src="//s.ytimg.com/yt/img/pixel-vfl3z5WfW.gif" class="addto-button-help"><br> or <a href="https://accounts.google.com/ServiceLogin?passive=true&continue=http%3A%2F%2Fwww.youtube.com%2Fsignin%3Faction_handle_signin%3Dtrue%26feature%3Dplaylist%26nomobiletemp%3D1%26hl%3Den_US%26next%3D%252Fvideos%253Ffeature%253Dmh&uilel=3&hl=en_US&service=youtube">sign in</a> to load a different list.</li> |
|
322
|
|
|
</ol> |
|
323
|
|
|
</div> |
|
324
|
|
|
<div class="yt-uix-slider-shade-left"></div> |
|
325
|
|
|
<div class="yt-uix-slider-shade-right"></div> |
|
326
|
|
|
</div> |
|
327
|
|
|
</div> |
|
328
|
|
|
<div id="playlist-bar-save"></div> |
|
329
|
|
|
<div id="playlist-bar-lists" class="dark-lolz"></div> |
|
330
|
|
|
<div id="playlist-bar-loading"><img src="//s.ytimg.com/yt/img/pixel-vfl3z5WfW.gif" alt="Loading..."><span id="playlist-bar-loading-message">Loading...</span><span id="playlist-bar-saving-message" class="hid">Saving...</span></div> |
|
331
|
|
|
<div id="playlist-bar-template" style="display: none;" data-video-thumb-url="//i4.ytimg.com/vi/__video_encrypted_id__/default.jpg"> |
|
332
|
|
|
<!--<li class="playlist-bar-item yt-uix-slider-slide-unit __classes__" data-video-id="__video_encrypted_id__"><a href="__video_url__" title="__video_title__" class="yt-uix-sessionlink" data-sessionlink="ei=CPjwu5ji3bICFS4RIQod9j-M-A%3D%3D&feature=BFa"><span class="video-thumb ux-thumb yt-thumb-default-106 "><span class="yt-thumb-clip"><span class="yt-thumb-clip-inner"><img src="http://s.ytimg.com/yt/img/pixel-vfl3z5WfW.gif" alt="__video_title__" data-thumb-manual="true" data-thumb="__video_thumb_url__" width="106" ><span class="vertical-align"></span></span></span></span><span class="screen"></span><span class="count"><strong>__list_position__</strong></span><span class="play"><img src="//s.ytimg.com/yt/img/pixel-vfl3z5WfW.gif"></span><span class="yt-uix-button yt-uix-button-default delete"><img class="yt-uix-button-icon-playlist-bar-delete" src="//s.ytimg.com/yt/img/pixel-vfl3z5WfW.gif" alt="Delete"></span><span class="now-playing">Now playing</span><span dir="ltr" class="title"><span>__video_title__ <span class="uploader">by __video_display_name__</span> |
|
333
|
|
|
</span></span><span class="dragger"></span></a></li>--> |
|
334
|
|
|
</div> |
|
335
|
|
|
<div id="playlist-bar-next-up-template" style="display: none;"> |
|
336
|
|
|
<!--<div class="playlist-bar-next-thumb"><span class="video-thumb ux-thumb yt-thumb-default-74 "><span class="yt-thumb-clip"><span class="yt-thumb-clip-inner"><img src="//i4.ytimg.com/vi/__video_encrypted_id__/default.jpg" alt="Thumbnail" width="74" ><span class="vertical-align"></span></span></span></span></div>--> |
|
337
|
|
|
</div> |
|
338
|
|
|
</div> |
|
339
|
|
|
<div id="playlist-bar-options-menu" class="hid"> |
|
340
|
|
|
<div id="playlist-bar-extras-menu"> |
|
341
|
|
|
<ul> |
|
342
|
|
|
<li><span class="yt-uix-button-menu-item" data-action="clear"> |
|
343
|
|
|
Clear all videos from this list |
|
344
|
|
|
</span> |
|
345
|
|
|
</li> |
|
346
|
|
|
</ul> |
|
347
|
|
|
</div> |
|
348
|
|
|
<ul> |
|
349
|
|
|
<li><span class="yt-uix-button-menu-item" onclick="window.location.href='//support.google.com/youtube/bin/answer.py?answer=146749&hl=en-US'">Learn more</span></li> |
|
350
|
|
|
</ul> |
|
351
|
|
|
</div> |
|
352
|
|
|
</div> |
|
353
|
|
|
<div id="shared-addto-watch-later-login" class="hid"> |
|
354
|
|
|
<a href="https://accounts.google.com/ServiceLogin?passive=true&continue=http%3A%2F%2Fwww.youtube.com%2Fsignin%3Faction_handle_signin%3Dtrue%26feature%3Dplaylist%26nomobiletemp%3D1%26hl%3Den_US%26next%3D%252Fvideos%253Ffeature%253Dmh&uilel=3&hl=en_US&service=youtube" class="sign-in-link">Sign in</a> to add this to a playlist |
|
355
|
|
|
</div> |
|
356
|
|
|
<div id="shared-addto-menu" style="display: none;" class="hid sign-in"> |
|
357
|
|
|
<div class="addto-menu"> |
|
358
|
|
|
<div id="addto-list-panel" class="menu-panel active-panel"> |
|
359
|
|
|
<span class="yt-uix-button-menu-item yt-uix-tooltip sign-in" data-possible-tooltip="" data-tooltip-show-delay="750"><a href="https://accounts.google.com/ServiceLogin?passive=true&continue=http%3A%2F%2Fwww.youtube.com%2Fsignin%3Faction_handle_signin%3Dtrue%26feature%3Dplaylist%26nomobiletemp%3D1%26hl%3Den_US%26next%3D%252Fvideos%253Ffeature%253Dmh&uilel=3&hl=en_US&service=youtube" class="sign-in-link">Sign in</a> to add this to a playlist |
|
360
|
|
|
</span> |
|
361
|
|
|
</div> |
|
362
|
|
|
<div id="addto-list-saved-panel" class="menu-panel"> |
|
363
|
|
|
<div class="panel-content"> |
|
364
|
|
|
<div class="yt-alert yt-alert-naked yt-alert-success "> |
|
365
|
|
|
<div class="yt-alert-icon"> |
|
366
|
|
|
<img src="//s.ytimg.com/yt/img/pixel-vfl3z5WfW.gif" class="icon master-sprite" alt="Alert icon"> |
|
367
|
|
|
</div> |
|
368
|
|
|
<div class="yt-alert-content" role="alert"> |
|
369
|
|
|
<span class="yt-alert-vertical-trick"></span> |
|
370
|
|
|
<div class="yt-alert-message"> |
|
371
|
|
|
<span class="message">Added to <span class="addto-title yt-uix-tooltip yt-uix-tooltip-reverse" title="More information about this playlist" data-tooltip-show-delay="750"></span></span> |
|
372
|
|
|
</div> |
|
373
|
|
|
</div> |
|
374
|
|
|
</div> |
|
375
|
|
|
</div> |
|
376
|
|
|
</div> |
|
377
|
|
|
<div id="addto-list-error-panel" class="menu-panel"> |
|
378
|
|
|
<div class="panel-content"> |
|
379
|
|
|
<img src="//s.ytimg.com/yt/img/pixel-vfl3z5WfW.gif"> |
|
380
|
|
|
<span class="error-details"></span> |
|
381
|
|
|
<a class="show-menu-link">Back to list</a> |
|
382
|
|
|
</div> |
|
383
|
|
|
</div> |
|
384
|
|
|
<div id="addto-note-input-panel" class="menu-panel"> |
|
385
|
|
|
<div class="panel-content"> |
|
386
|
|
|
<div class="yt-alert yt-alert-naked yt-alert-success "> |
|
387
|
|
|
<div class="yt-alert-icon"> |
|
388
|
|
|
<img src="//s.ytimg.com/yt/img/pixel-vfl3z5WfW.gif" class="icon master-sprite" alt="Alert icon"> |
|
389
|
|
|
</div> |
|
390
|
|
|
<div class="yt-alert-content" role="alert"> |
|
391
|
|
|
<span class="yt-alert-vertical-trick"></span> |
|
392
|
|
|
<div class="yt-alert-message"> |
|
393
|
|
|
<span class="message">Added to playlist:</span> |
|
394
|
|
|
<span class="addto-title yt-uix-tooltip" title="More information about this playlist" data-tooltip-show-delay="750"></span> |
|
395
|
|
|
</div> |
|
396
|
|
|
</div> |
|
397
|
|
|
</div> |
|
398
|
|
|
</div> |
|
399
|
|
|
<div class="yt-uix-char-counter" data-char-limit="150"> |
|
400
|
|
|
<div class="addto-note-box addto-text-box"><textarea id="addto-note" class="addto-note yt-uix-char-counter-input" maxlength="150"></textarea><label for="addto-note" class="addto-note-label">Add an optional note</label></div> |
|
401
|
|
|
<span class="yt-uix-char-counter-remaining">150</span> |
|
402
|
|
|
</div> |
|
403
|
|
|
<button disabled="disabled" type="button" class="playlist-save-note yt-uix-button yt-uix-button-default" onclick=";return false;" role="button"><span class="yt-uix-button-content">Add note </span></button> |
|
404
|
|
|
</div> |
|
405
|
|
|
<div id="addto-note-saving-panel" class="menu-panel"> |
|
406
|
|
|
<div class="panel-content loading-content"> |
|
407
|
|
|
<img src="//s.ytimg.com/yt/img/pixel-vfl3z5WfW.gif"> |
|
408
|
|
|
<span>Saving note...</span> |
|
409
|
|
|
</div> |
|
410
|
|
|
</div> |
|
411
|
|
|
<div id="addto-note-saved-panel" class="menu-panel"> |
|
412
|
|
|
<div class="panel-content"> |
|
413
|
|
|
<img src="//s.ytimg.com/yt/img/pixel-vfl3z5WfW.gif"> |
|
414
|
|
|
<span class="message">Note added to:</span> |
|
415
|
|
|
</div> |
|
416
|
|
|
</div> |
|
417
|
|
|
<div id="addto-note-error-panel" class="menu-panel"> |
|
418
|
|
|
<div class="panel-content"> |
|
419
|
|
|
<img src="//s.ytimg.com/yt/img/pixel-vfl3z5WfW.gif"> |
|
420
|
|
|
<span class="message">Error adding note:</span> |
|
421
|
|
|
<ul class="error-details"></ul> |
|
422
|
|
|
<a class="add-note-link">Click to add a new note</a> |
|
423
|
|
|
</div> |
|
424
|
|
|
</div> |
|
425
|
|
|
<div class="close-note hid"> |
|
426
|
|
|
<img src="//s.ytimg.com/yt/img/pixel-vfl3z5WfW.gif" class="close-button"> |
|
427
|
|
|
</div> |
|
428
|
|
|
</div> |
|
429
|
|
|
</div> |
|
430
|
|
|
<!-- end pagebottom --> |
|
431
|
|
|
</div> |
|
432
|
|
|
<!-- end page --> |
|
433
|
|
|
<script id="www-core-js" src="/yt/jsbin/www-core-vfl1pq97W.js" data-loaded="true"></script> |
|
434
|
|
|
<script id="www-core-js" src="/yt/jsbin/www-core-vfl1pq97W.js" data-loaded="true"></script> |
|
435
|
|
|
<script>yt.www.thumbnaildelayload.init(0);</script> |
|
436
|
|
|
<script> |
|
437
|
|
|
yt.setMsg({ |
|
438
|
|
|
'LIST_CLEARED': "List cleared", |
|
439
|
|
|
'PLAYLIST_VIDEO_DELETED': "Video deleted.", |
|
440
|
|
|
'ERROR_OCCURRED': "Sorry, an error occurred.", |
|
441
|
|
|
'NEXT_VIDEO_TOOLTIP': "Next video:\u003cbr\u003e \u0026#8220;${next_video_title}\u0026#8221;", |
|
442
|
|
|
'NEXT_VIDEO_NOTHUMB_TOOLTIP': "Next video", |
|
443
|
|
|
'SHOW_PLAYLIST_TOOLTIP': "Show playlist", |
|
444
|
|
|
'HIDE_PLAYLIST_TOOLTIP': "Hide playlist", |
|
445
|
|
|
'AUTOPLAY_ON_TOOLTIP': "Turn autoplay off", |
|
446
|
|
|
'AUTOPLAY_OFF_TOOLTIP': "Turn autoplay on", |
|
447
|
|
|
'SHUFFLE_ON_TOOLTIP': "Turn shuffle off", |
|
448
|
|
|
'SHUFFLE_OFF_TOOLTIP': "Turn shuffle on", |
|
449
|
|
|
'PLAYLIST_BAR_PLAYLIST_SAVED': "Playlist saved!", |
|
450
|
|
|
'PLAYLIST_BAR_ADDED_TO_FAVORITES': "Added to favorites", |
|
451
|
|
|
'PLAYLIST_BAR_ADDED_TO_PLAYLIST': "Added to playlist", |
|
452
|
|
|
'PLAYLIST_BAR_ADDED_TO_QUEUE': "Added to queue", |
|
453
|
|
|
'AUTOPLAY_WARNING1': "Next video starts in 1 second...", |
|
454
|
|
|
'AUTOPLAY_WARNING2': "Next video starts in 2 seconds...", |
|
455
|
|
|
'AUTOPLAY_WARNING3': "Next video starts in 3 seconds...", |
|
456
|
|
|
'AUTOPLAY_WARNING4': "Next video starts in 4 seconds...", |
|
457
|
|
|
'AUTOPLAY_WARNING5': "Next video starts in 5 seconds...", |
|
458
|
|
|
'UNDO_LINK': "Undo" }); |
|
459
|
|
|
|
|
460
|
|
|
|
|
461
|
|
|
yt.setConfig({ |
|
462
|
|
|
'DRAGDROP_BINARY_URL': "\/\/s.ytimg.com\/yt\/jsbin\/www-dragdrop-vflWKaUyg.js", |
|
463
|
|
|
'PLAYLIST_BAR_PLAYING_INDEX': -1 }); |
|
464
|
|
|
|
|
465
|
|
|
yt.setAjaxToken('addto_ajax_logged_out', "rmWO31ZGdmAjKQm23MH57ZskA6Z8MTM0OTExMDQ0NkAxMzQ5MDI0MDQ2"); |
|
466
|
|
|
|
|
467
|
|
|
yt.pubsub.subscribe('init', yt.www.lists.init); |
|
468
|
|
|
|
|
469
|
|
|
|
|
470
|
|
|
|
|
471
|
|
|
|
|
472
|
|
|
|
|
473
|
|
|
|
|
474
|
|
|
|
|
475
|
|
|
|
|
476
|
|
|
|
|
477
|
|
|
yt.setConfig({'SBOX_JS_URL': "\/\/s.ytimg.com\/yt\/jsbin\/www-searchbox-vflsHyn9f.js",'SBOX_SETTINGS': {"CLOSE_ICON_URL": "\/\/s.ytimg.com\/yt\/img\/icons\/close-vflrEJzIW.png", "SHOW_CHIP": false, "PSUGGEST_TOKEN": null, "REQUEST_DOMAIN": "us", "EXPERIMENT_ID": -1, "SESSION_INDEX": null, "HAS_ON_SCREEN_KEYBOARD": false, "CHIP_PARAMETERS": {}, "REQUEST_LANGUAGE": "en"},'SBOX_LABELS': {"SUGGESTION_DISMISS_LABEL": "Dismiss", "SUGGESTION_DISMISSED_LABEL": "Suggestion dismissed"}}); |
|
478
|
|
|
|
|
479
|
|
|
|
|
480
|
|
|
|
|
481
|
|
|
|
|
482
|
|
|
|
|
483
|
|
|
</script> |
|
484
|
|
|
<script> |
|
485
|
|
|
yt.setMsg({ |
|
486
|
|
|
'ADDTO_WATCH_LATER_ADDED': "Added", |
|
487
|
|
|
'ADDTO_WATCH_LATER_ERROR': "Error" |
|
488
|
|
|
}); |
|
489
|
|
|
</script> |
|
490
|
|
|
</body> |
|
491
|
|
|
</html> |