mirror of
https://github.com/unraid/webgui.git
synced 2026-05-12 23:30:01 -05:00
Merge branch 'master' of https://github.com/itimpi/webgui
This commit is contained in:
@@ -1,11 +1,11 @@
|
||||
Menu="Docker:2"
|
||||
Title="Docker Repositories"
|
||||
Title="Template Repositories"
|
||||
Tag="clone"
|
||||
Cond="(pgrep('dockerd')!==false)"
|
||||
---
|
||||
<?PHP
|
||||
/* Copyright 2005-2018, Lime Technology
|
||||
* Copyright 2014-2018, Guilherme Jardim, Eric Schultz, Jon Panozzo.
|
||||
/* Copyright 2005-2019, Lime Technology
|
||||
* Copyright 2014-2019, Guilherme Jardim, Eric Schultz, Jon Panozzo.
|
||||
*
|
||||
* This program is free software; you can redistribute it and/or
|
||||
* modify it under the terms of the GNU General Public License version 2,
|
||||
|
||||
@@ -380,11 +380,9 @@ function pullImage($name, $image, $echo=true) {
|
||||
$strError = '';
|
||||
$DockerClient->pullImage($image, function ($line) use (&$alltotals, &$laststatus, &$waitID, &$strError, $image, $DockerClient, $DockerUpdate, $echo) {
|
||||
$cnt = json_decode($line, true);
|
||||
$id = (isset($cnt['id'])) ? trim($cnt['id']) : '';
|
||||
$status = (isset($cnt['status'])) ? trim($cnt['status']) : '';
|
||||
if (isset($cnt['error'])) {
|
||||
$strError = $cnt['error'];
|
||||
}
|
||||
$id = $cnt['id'] ?? '';
|
||||
$status = $cnt['status'] ?? '';
|
||||
if ($cnt['error']) $strError = $cnt['error'];
|
||||
if ($waitID !== false) {
|
||||
if ($echo) {
|
||||
echo "<script>stop_Wait($waitID);</script>\n";
|
||||
@@ -406,26 +404,26 @@ function pullImage($name, $image, $echo=true) {
|
||||
break;
|
||||
case 'Downloading':
|
||||
if ($laststatus[$id] != $status) {
|
||||
if ($echo) echo "<script>addToID('${id}','".addslashes(htmlspecialchars($status))."');</script>\n";
|
||||
if ($echo) echo "<script>addToID('$id','".addslashes(htmlspecialchars($status))."');</script>\n";
|
||||
}
|
||||
$total = $cnt['progressDetail']['total'];
|
||||
$current = $cnt['progressDetail']['current'];
|
||||
if ($total > 0) {
|
||||
$percentage = round(($current / $total) * 100);
|
||||
if ($echo) echo "<script>progress('${id}',' ".$percentage."% of ".$DockerClient->formatBytes($total)."');</script>\n";
|
||||
if ($echo) echo "<script>progress('$id',' ".$percentage."% of ".$DockerClient->formatBytes($total)."');</script>\n";
|
||||
} else {
|
||||
// Docker must not know the total download size (http-chunked or something?)
|
||||
// just show the current download progress without the percentage
|
||||
$alltotals[$id] = $current;
|
||||
if ($echo) echo "<script>progress('${id}',' ".$DockerClient->formatBytes($current)."');</script>\n";
|
||||
if ($echo) echo "<script>progress('$id',' ".$DockerClient->formatBytes($current)."');</script>\n";
|
||||
}
|
||||
break;
|
||||
default:
|
||||
if ($laststatus[$id] == "Downloading") {
|
||||
if ($echo) echo "<script>progress('${id}',' 100% of ".$DockerClient->formatBytes($alltotals[$id])."');</script>\n";
|
||||
if ($echo) echo "<script>progress('$id',' 100% of ".$DockerClient->formatBytes($alltotals[$id])."');</script>\n";
|
||||
}
|
||||
if ($laststatus[$id] != $status) {
|
||||
if ($echo) echo "<script>addToID('${id}','".addslashes(htmlspecialchars($status))."');</script>\n";
|
||||
if ($echo) echo "<script>addToID('".($id=='latest'?rand():$id)."','".addslashes(htmlspecialchars($status))."');</script>\n";
|
||||
}
|
||||
break;
|
||||
}
|
||||
|
||||
@@ -75,6 +75,7 @@ tr#copy,tr#file{display:none}
|
||||
td.gap{padding-left:26px!important}
|
||||
span#pass{display:none;margin-left:20px}
|
||||
</style>
|
||||
<script src="<?autov('/webGui/javascript/jquery.base64.js')?>"></script>
|
||||
<script>
|
||||
var ctrl = "<span class='status <?=$tabbed?'':'vhshift'?>'><a style='cursor:pointer' class='tooltip_diskio' title='Toggle reads/writes display' onclick='toggle_diskio();return false'><i class='toggle fa'></i></a></span>";
|
||||
|
||||
@@ -118,39 +119,6 @@ function getFileContent(event,form) {
|
||||
reader.onload = function(){form.file.value=reader.result;selectInput(form);};
|
||||
reader.readAsDataURL(input.files[0]);
|
||||
}
|
||||
function base64(text) {
|
||||
var xlat = 'ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/';
|
||||
var size = text.length;
|
||||
var tail = size % 3;
|
||||
var code = '';
|
||||
var l, t, x;
|
||||
|
||||
function encode(i) {
|
||||
return xlat.charAt(i & 0x3F);
|
||||
}
|
||||
function shift(n) {
|
||||
return encode(n >> 18) + encode(n >> 12) + encode(n >> 6) + encode(n);
|
||||
}
|
||||
for (x=0, l=size-tail; x<l; x+=3) {
|
||||
code += shift((text.charCodeAt(x) << 16) + (text.charCodeAt(x+1) << 8) + text.charCodeAt(x+2));
|
||||
}
|
||||
switch (tail) {
|
||||
case 1:
|
||||
t = text.charCodeAt(size-1);
|
||||
code += encode(t >> 2);
|
||||
code += encode(t << 4);
|
||||
code += '==';
|
||||
break;
|
||||
case 2:
|
||||
t = (text.charCodeAt(size-2) << 8) + text.charCodeAt(size-1);
|
||||
code += encode(t >> 10);
|
||||
code += encode(t >> 4);
|
||||
code += encode(t << 2);
|
||||
code += '=';
|
||||
break;
|
||||
}
|
||||
return code;
|
||||
}
|
||||
function prepareInput(form) {
|
||||
$(form).append('<input type="hidden" name="cmdStart" value="Start">');
|
||||
if (form.input === undefined) {
|
||||
@@ -162,9 +130,8 @@ function prepareInput(form) {
|
||||
form.file.disabled = true;
|
||||
form.text.disabled = true;
|
||||
form.copy.disabled = true;
|
||||
var text = base64(form.text.value);
|
||||
if (text) {
|
||||
$(form).append('<input type="hidden" name="luksKey" value="'+text+'">');
|
||||
if (form.text.value) {
|
||||
$(form).append('<input type="hidden" name="luksKey" value="'+base64(form.text.value)+'">');
|
||||
form.submit();
|
||||
return;
|
||||
}
|
||||
|
||||
@@ -172,7 +172,7 @@ div.left{float:left;width:66%;margin-top:-12px}
|
||||
div.right{float:right;margin:-12px 20px 0 0;text-align:center}
|
||||
span.ctrl{float:right;margin-right:10px}
|
||||
span.outer{float:left}
|
||||
span.inner{width:155px}
|
||||
span.inner{width:<?=$theme1?153:140?>px}
|
||||
span.ups{width:124px;display:inline-block}
|
||||
span.busy,i.inactive{opacity:0.5}
|
||||
span#inbound{width:75px;display:inline-block}
|
||||
@@ -237,7 +237,7 @@ form[name=boot]{display:none}
|
||||
<i id='mycase' class='fa fa-hdd-o'></i><br>
|
||||
<?endif;?>
|
||||
</span>
|
||||
<input type='button' value='Edit' onclick='openBox("/webGui/include/SelectCase.php?file=<?=$myfile?>&csrf=<?=$var['csrf_token']?>","Select Case Model",600,980,true,"setCase");return false'>
|
||||
<input type='button' value='Edit' onclick='openBox("/webGui/include/SelectCase.php?file=<?=$myfile?>&csrf=<?=$var['csrf_token']?>","Select Case Model",700,980,true,"setCase");return false'>
|
||||
</div>
|
||||
</td><td></td></tr>
|
||||
</tbody>
|
||||
@@ -245,7 +245,7 @@ form[name=boot]{display:none}
|
||||
<tbody sort='<?=$N?>' class='sortable'>
|
||||
<tr><td></td><td colspan='3' class='next'><i class='icon-motherboard'></i><div class='section'>Motherboard<br><span id='mb-temp'></span><br><br></div>
|
||||
<i class='fa fa-fw chevron' id='mb_view' onclick='toggleChevron("mb_view",0)'></i>
|
||||
<a href='/Dashboard/ManagementAccess' title='Go to access settings'><i class='fa fa-fw fa-cog chevron'></i></a>
|
||||
<a href='#' onclick='InfoButton();' title='Show Information'><i class='fa fa-fw fa-cog chevron'></i></a>
|
||||
</td><td></td></tr>
|
||||
<tr class='mb_view'><td></td><td colspan='3'><?=$board?><br><?=$bios?><br><?=$biosdate?></td><td></td></tr>
|
||||
</tbody>
|
||||
@@ -276,7 +276,7 @@ foreach ($cpus as $pair) {
|
||||
<tbody sort='<?=$N?>' class='sortable'>
|
||||
<tr><td></td><td colspan='3' class='next'><i class='icon-ram'></i><div class='section'>Memory<br><span><?="$memory_installed $unit $memory_type $ecc"?><span id='util'>Utilization: <span class='sys0'>0%</span></span><br><br></div>
|
||||
<i class='fa fa-fw chevron' id='mem_view' onclick='toggleChevron("mem_view",0)'></i>
|
||||
<a href='/Dashboard/DiskSettings' title='Go to disk settings'><i class='fa fa-fw fa-cog chevron'></i></a>
|
||||
<a href='/Dashboard/Processes' title='View Running Processes'><i class='fa fa-fw fa-cog chevron'></i></a>
|
||||
</td><td></td></tr>
|
||||
<tr class='mem_view'><td></td><td>Maximum size: <?="$memory_maximum $unit"?><?=$low?'*':''?></td><td><i class='mm'>RAM</i><span class='sys0 load'>0%</span><div class='usage-disk sys'><span id='sys0'></span><span></span></div></td>
|
||||
<td><i class='mm'>Flash</i><span class='sys1 load'>0%</span><div class='usage-disk sys'><span id='sys1'></span><span></span></div></td><td></td></tr>
|
||||
@@ -472,8 +472,20 @@ foreach ($users as $user) {
|
||||
} else {
|
||||
$write = 0; $read = 0;
|
||||
foreach ($shares as $share) {
|
||||
if (strpos($sec[$share['name']]['writeList'],$name)!==false) $write++;
|
||||
if (strpos($sec[$share['name']]['readList'],$name)!==false) $read++;
|
||||
$access = $sec[$share['name']];
|
||||
if ($access['export']=='-') continue;
|
||||
switch ($access['security']) {
|
||||
case 'public':
|
||||
$write++;
|
||||
break;
|
||||
case 'secure':
|
||||
if (in_array($name,explode(',',$access['writeList']))) $write++; else $read++;
|
||||
break;
|
||||
case 'private':
|
||||
if (in_array($name,explode(',',$access['writeList']))) $write++;
|
||||
if (in_array($name,explode(',',$access['readList']))) $read++;
|
||||
break;
|
||||
}
|
||||
}
|
||||
}
|
||||
if ($user['passwd']!='yes') $list = str_replace('blue-text','orange-text',$list);
|
||||
@@ -492,8 +504,20 @@ foreach ($users as $user) {
|
||||
} else {
|
||||
$write = 0; $read = 0;
|
||||
foreach ($shares as $share) {
|
||||
if (strpos($sec_afp[$share['name']]['writeList'],$name)!==false) $write++;
|
||||
if (strpos($sec_afp[$share['name']]['readList'],$name)!==false) $read++;
|
||||
$access = $sec_afp[$share['name']];
|
||||
if ($access['export']=='-') continue;
|
||||
switch ($access['security']) {
|
||||
case 'public':
|
||||
$write++;
|
||||
break;
|
||||
case 'secure':
|
||||
if (in_array($name,explode(',',$access['writeList']))) $write++; else $read++;
|
||||
break;
|
||||
case 'private':
|
||||
if (in_array($name,explode(',',$access['writeList']))) $write++;
|
||||
if (in_array($name,explode(',',$access['readList']))) $read++;
|
||||
break;
|
||||
}
|
||||
}
|
||||
}
|
||||
if ($user['passwd']!='yes') $list = str_replace('blue-text','orange-text',$list);
|
||||
@@ -715,13 +739,17 @@ function update1() {
|
||||
var info = row[i].split(';');
|
||||
vtun = info[0];
|
||||
if (typeof n[vtun]=='undefined') n[vtun] = 0; else n[vtun]++;
|
||||
if (info[1] > 0) {
|
||||
var hr = parseInt(info[1]/3600).pad();
|
||||
var mn = parseInt(info[1]/60%60).pad();
|
||||
var sc = parseInt(info[1]%60).pad();
|
||||
$('td#'+vtun+'-hs-'+n[vtun]).text(hr+':'+mn+':'+sc+' ago');
|
||||
} else {
|
||||
if (info[1] == 0) {
|
||||
$('td#'+vtun+'-hs-'+n[vtun]).text('not received');
|
||||
} else if (info[1] > 86400) {
|
||||
var d = parseInt(info[1]/86400);
|
||||
var s = d==1 ? '' : 's';
|
||||
$('td#'+vtun+'-hs-'+n[vtun]).text(d+' day'+s+' ago');
|
||||
} else {
|
||||
var h = parseInt(info[1]/3600).pad();
|
||||
var m = parseInt(info[1]/60%60).pad();
|
||||
var s = parseInt(info[1]%60).pad();
|
||||
$('td#'+vtun+'-hs-'+n[vtun]).text(h+':'+m+':'+s+' ago');
|
||||
}
|
||||
$('td#'+vtun+'-rx-'+n[vtun]).html(info[2]+' <i class="fa fa-fw fa-arrow-up"></i> '+info[3]+' <i class="fa fa-fw fa-arrow-down"></i>');
|
||||
}
|
||||
|
||||
@@ -151,6 +151,8 @@ Tunable (enable NCQ):
|
||||
> If set to **No** then *Native Command Queuing* is disabled for all array devices that support NCQ.
|
||||
>
|
||||
> **Auto** leaves the setting for each device as-is.
|
||||
>
|
||||
> Note: You must reboot after selecting Auto for setting to take effect.
|
||||
|
||||
Tunable (nr_requests):
|
||||
: <input type="text" name="nr_requests" maxlength="10" value="<?=$var['nr_requests']?>" class="narrow"><?=$var['nr_requests_status']?>
|
||||
@@ -159,7 +161,22 @@ Tunable (nr_requests):
|
||||
>
|
||||
> **Auto** leaves the setting for each device as-is.
|
||||
>
|
||||
> Note: if you set to blank and click Apply, the setting is restored to its default.
|
||||
> Note: if you set to blank and click Apply, the setting is restored to its default, and you must reboot for setting to take effect.
|
||||
|
||||
Tunable (scheduler):
|
||||
: <select name="md_scheduler" size="1">
|
||||
<?=mk_option($var['md_scheduler'], "auto", "Auto")?>
|
||||
<?=mk_option($var['md_scheduler'], "mq-deadline", "mq-deadline")?>
|
||||
<?=mk_option($var['md_scheduler'], "kyber", "kyber")?>
|
||||
<?=mk_option($var['md_scheduler'], "bfq", "bfq")?>
|
||||
<?=mk_option($var['md_scheduler'], "none", "none")?>
|
||||
</select>
|
||||
|
||||
> Selects which kernel I/O scheduler to use for all array devices.
|
||||
>
|
||||
> **Auto** leaves the setting for each device as-is (mq-deadline).
|
||||
>
|
||||
> Note: You must reboot after selecting Auto for setting to take effect.
|
||||
|
||||
Tunable (md_num_stripes):
|
||||
: <input type="text" name="md_num_stripes" maxlength="10" value="<?=$var['md_num_stripes']?>" class="narrow"><?=$var['md_num_stripes_status']?>
|
||||
@@ -167,7 +184,7 @@ Tunable (md_num_stripes):
|
||||
> This is the size of the *stripe pool* in number of *stripes*. A *stripe* refers to a data structure that faclitiates parallel 4K read/write
|
||||
> operations necessary for a parity-protected array.
|
||||
>
|
||||
> Note: if you set to blank and click Apply, the setting is restored to its default.
|
||||
> Note: if you set to blank and click Apply, the setting is restored to its default, and will take effect after reboot.
|
||||
|
||||
Tunable (md_queue_limit):
|
||||
: <input type="text" name="md_queue_limit" maxlength="10" value="<?=$var['md_queue_limit']?>" class="narrow"><?=$var['md_queue_limit_status']?>
|
||||
|
||||
@@ -27,6 +27,6 @@ $(function() {
|
||||
</script>
|
||||
<?endif;?>
|
||||
<?
|
||||
echo ($display['resize'] ? "<pre class='up' style='display:none'>" : "<pre class='up'>").shell_exec('ps -ef')."</pre>";
|
||||
echo ($display['resize'] ? "<pre class='up' style='display:none'>" : "<pre class='up'>").shell_exec('ps -aux')."</pre>";
|
||||
?>
|
||||
<input type="button" value="Done" onclick="done()">
|
||||
|
||||
@@ -3,8 +3,8 @@ Title="Share Settings"
|
||||
Tag="share-alt-square"
|
||||
---
|
||||
<?PHP
|
||||
/* Copyright 2005-2018, Lime Technology
|
||||
* Copyright 2012-2018, Bergware International.
|
||||
/* Copyright 2005-2019, Lime Technology
|
||||
* Copyright 2012-2019, Bergware International.
|
||||
*
|
||||
* This program is free software; you can redistribute it and/or
|
||||
* modify it under the terms of the GNU General Public License version 2,
|
||||
@@ -223,8 +223,8 @@ Use cache (for new files/directories):
|
||||
> When the *mover* is invoked, files and subdirectories are transferred off the array and onto the Cache disk/pool.
|
||||
>
|
||||
> **NOTE:** Mover will never move any files that are currently in use.
|
||||
> Tnis means if you want to move files associated with system services such as Docker or VMs then you need to
|
||||
> disable these services while nover is running.
|
||||
> This means if you want to move files associated with system services such as Docker or VMs then you need to
|
||||
> disable these services while mover is running.
|
||||
|
||||
Enable Copy-on-write:
|
||||
: <select name="shareCOW" size="1"<?if ($name):?> disabled<?endif;?>>
|
||||
|
||||
@@ -49,7 +49,7 @@ Local syslog server:
|
||||
<?=mk_option($syslog['server_protocol'], "tcp", "TCP")?>
|
||||
<?=mk_option($syslog['server_protocol'], "both", "Both")?>
|
||||
</select>
|
||||
<input type="text" name="server_port" class="trim" value="<?=$syslog['server_port']?>" maxlength="4" placeholder="514">
|
||||
<input type="text" name="server_port" class="trim" value="<?=$syslog['server_port']?>" maxlength="5" placeholder="514">
|
||||
|
||||
> Let the server act as a central syslog server and collect syslog messages from other systems.
|
||||
> The server can listen on UDP, TCP or both with a selectable port number.
|
||||
|
||||
@@ -34,6 +34,7 @@ i.top{position:absolute;padding-top:4px;cursor:pointer;}
|
||||
</style>
|
||||
|
||||
<script src="<?autov('/webGui/javascript/jquery.filedrop.js')?>"></script>
|
||||
<script src="<?autov('/webGui/javascript/jquery.base64.js')?>"></script>
|
||||
<script>
|
||||
var path = '/boot/config/plugins/dynamix/users';
|
||||
var filename = '';
|
||||
@@ -61,6 +62,8 @@ function checkUsername(form) {
|
||||
if (filename) {
|
||||
$.post("/webGui/include/FileUpload.php",{cmd:'save',path:path,filename:filename,output:username+'.png'});
|
||||
}
|
||||
form.userPassword.value = base64(form.userPassword.value);
|
||||
form.userPasswordConf.value = base64(form.userPasswordConf.value);
|
||||
return true;
|
||||
}
|
||||
|
||||
|
||||
@@ -41,6 +41,7 @@ i.top{position:absolute;padding-top:4px;cursor:pointer;}
|
||||
</style>
|
||||
|
||||
<script src="<?autov('/webGui/javascript/jquery.filedrop.js')?>"></script>
|
||||
<script src="<?autov('/webGui/javascript/jquery.base64.js')?>"></script>
|
||||
<script>
|
||||
var path = '/boot/config/plugins/dynamix/users';
|
||||
var filename = '';
|
||||
@@ -50,6 +51,8 @@ function checkPassword(form) {
|
||||
swal({title:"Password too long",text:"Use a password up to 128 characters",type:"error"});
|
||||
return false;
|
||||
}
|
||||
form.userPassword.value = base64(form.userPassword.value);
|
||||
form.userPasswordConf.value = base64(form.userPasswordConf.value);
|
||||
return true;
|
||||
}
|
||||
|
||||
|
||||
Binary file not shown.
|
After Width: | Height: | Size: 3.1 KiB |
@@ -83,7 +83,7 @@ foreach ($cases as $case) if (substr($case,0,6)=='.case-') $models[] = substr($c
|
||||
sort($models);
|
||||
foreach ($models as $model) {
|
||||
$name = substr($model,5);
|
||||
$title = str_replace('3u-md1510','avs-10/4',$name);
|
||||
$title = str_replace('3u-avs-10-4','3u-avs-10/4',$name);
|
||||
$select = $name==$casemodel ? 'color:#e68a00' : '';
|
||||
echo "<a style='text-decoration:none;cursor:pointer;$select' onclick='setCase(\"$name\")'><div class='case-list' id='$name'><i class='$model'></i><div class='case-name'>$title</div></div></a>";
|
||||
}
|
||||
|
||||
@@ -0,0 +1 @@
|
||||
function base64(r){var e,t,a,c,h="ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/",o=r.length,n=o%3,A="";function d(r){return h.charAt(63&r)}for(a=0,e=o-n;a<e;a+=3)A+=d((c=(r.charCodeAt(a)<<16)+(r.charCodeAt(a+1)<<8)+r.charCodeAt(a+2))>>18)+d(c>>12)+d(c>>6)+d(c);switch(n){case 1:A+=d((t=r.charCodeAt(o-1))>>2),A+=d(t<<4),A+="==";break;case 2:A+=d((t=(r.charCodeAt(o-2)<<8)+r.charCodeAt(o-1))>>10),A+=d(t>>4),A+=d(t<<2),A+="="}return A}
|
||||
@@ -17,7 +17,7 @@ $all = isset($opt['a']) || isset($opt['all']);
|
||||
$zip = $all ? $argv[2] : $argv[1];
|
||||
$cli = empty($zip);
|
||||
$get = "/var/local/emhttp";
|
||||
$var = file_exists("$get/var.ini") ? parse_ini_file("$get/var.ini") : [];
|
||||
$var = (array)@parse_ini_file("$get/var.ini");
|
||||
|
||||
$docroot = $docroot ?? $_SERVER['DOCUMENT_ROOT'] ?: '/usr/local/emhttp';
|
||||
$folders = ['/boot','/boot/config','/boot/config/plugins','/boot/extra','/boot/syslinux','/var/log','/var/log/plugins','/var/log/packages','/tmp'];
|
||||
@@ -85,13 +85,14 @@ foreach (glob("$get/*.ini") as $file) {
|
||||
if ($all || $ini != "users") file_put_contents("/$diag/system/vars.txt",preg_replace(["/\n/","/^Array/"],["\r\n",$ini],anonymize(print_r(parse_ini_file($file,true),true),1)),FILE_APPEND);
|
||||
}
|
||||
// Create loads.txt
|
||||
$cpuload = exert("uptime")." Cores: ".exert("nproc")."\r\n".file_get_contents("/var/local/emhttp/cpuload.ini")."\r\n";
|
||||
$diskload = file("/var/local/emhttp/diskload.ini");
|
||||
$disks = parse_ini_file("/var/local/emhttp/disks.ini",true);
|
||||
foreach ( $diskload as $loadLine ) {
|
||||
$load = explode("=",$loadLine);
|
||||
foreach ( $disks as $disk ) {
|
||||
if ( $load[0] == $disk['device'] ) {
|
||||
$cpuload = exert("uptime")." Cores: ".exert("nproc")."\r\n".(string)@file_get_contents("$get/cpuload.ini")."\r\n";
|
||||
$diskload = (array)@file("$get/diskload.ini");
|
||||
$disks = (array)@parse_ini_file("$get/disks.ini",true);
|
||||
$loadTxt = [];
|
||||
foreach ($diskload as $loadLine) {
|
||||
$load = explode('=',$loadLine);
|
||||
foreach ($disks as $disk) {
|
||||
if ($load[0]==$disk['device']) {
|
||||
$loadTxt[] = "{$disk['device']} ({$disk['name']})=".trim($load[1]);
|
||||
break;
|
||||
}
|
||||
@@ -135,8 +136,8 @@ exert("cp /boot/config/*.{cfg,conf,dat} /boot/config/go ".escapeshellarg("/$diag
|
||||
if (!$all) exert("sed -ri 's/^((disk|flash)(Read|Write)List.*=\")[^\"]+/\\1.../' ".escapeshellarg("/$diag/config/*.cfg")." 2>/dev/null");
|
||||
|
||||
// don't anonymize system share names
|
||||
$vardomain = file_exists('/boot/config/domain.cfg') ? parse_ini_file('/boot/config/domain.cfg') : [];
|
||||
$vardocker = file_exists('/boot/config/docker.cfg') ? parse_ini_file('/boot/config/docker.cfg') : [];
|
||||
$vardomain = (array)@parse_ini_file('/boot/config/domain.cfg');
|
||||
$vardocker = (array)@parse_ini_file('/boot/config/docker.cfg');
|
||||
$showshares = [];
|
||||
$showshares[] = current(array_slice(explode('/',$vardomain['IMAGE_FILE']), 3, 1)).'.cfg';
|
||||
$showshares[] = current(array_slice(explode('/',$vardomain['DOMAINDIR']), 3, 1)).'.cfg';
|
||||
@@ -159,7 +160,7 @@ foreach ($files as $file) {
|
||||
file_put_contents($dest,"# Share exists on ".shareDisks($share)."\r\n",FILE_APPEND);
|
||||
}
|
||||
// create default user shares information
|
||||
$shares = file_exists("$get/shares.ini") ? parse_ini_file("$get/shares.ini", true) : [];
|
||||
$shares = (array)@parse_ini_file("$get/shares.ini", true);
|
||||
foreach ($shares as $share) {
|
||||
$name = $share['name'];
|
||||
if (!in_array("/boot/config/shares/$name.cfg",$files)) file_put_contents(anonymize("/$diag/shares/$name.cfg",2),"# This share has default settings.\r\n# Share exists on ".shareDisks($name)."\r\n");
|
||||
@@ -176,7 +177,7 @@ if (file_exists($docker)) {
|
||||
}
|
||||
}
|
||||
// create SMART reports (suppress errors)
|
||||
$disks = file_exists("$get/disks.ini") ? parse_ini_file("$get/disks.ini", true) : [];
|
||||
$disks = (array)@parse_ini_file("$get/disks.ini", true);
|
||||
include_once "$docroot/webGui/include/CustomMerge.php";
|
||||
include_once "$docroot/webGui/include/Wrappers.php";
|
||||
exert("ls -l /dev/disk/by-id/[asun]* 2>/dev/null|sed '/-part/d;s|^.*/by-id/[^-]*-||;s|-> ../../||;s|:|-|'", $devices);
|
||||
@@ -259,6 +260,12 @@ foreach (glob("/var/log/syslog*") as $file) {
|
||||
if (basename($file)=='syslog' && filesize($file)>=$max) exert("tail -n 200 ".escapeshellarg("$log.txt")." >".escapeshellarg("$log.last200.txt"));
|
||||
exert("truncate -s '<$max' ".escapeshellarg("$log.txt"));
|
||||
}
|
||||
// copy graphql-api.log
|
||||
$graphql = "/var/log/graphql-api.log";
|
||||
if (file_exists($graphql)) {
|
||||
$log = "/$diag/logs/graphql-api.txt";
|
||||
exert("todos <$graphql >".escapeshellarg($log));
|
||||
}
|
||||
// create resulting zip file and remove temp folder
|
||||
exert("zip -qmr ".escapeshellarg($zip)." ".escapeshellarg("/$diag"));
|
||||
if ($cli) echo "done.\nZIP file '$zip' created.\n";
|
||||
|
||||
@@ -1,36 +1,46 @@
|
||||
@font-face{font-family:cases;font-weight:normal;font-style:normal;
|
||||
src:url('font-cases.eot?20190217');src:url('font-cases.eot?20190217#iefix') format('embedded-opentype'),url('font-cases.ttf?20190217') format('truetype'),url('font-cases.woff?20190217') format('woff'),url('font-cases.svg?20190217#cases') format('svg')}
|
||||
src:url('font-cases.eot?20191026');src:url('font-cases.eot?20191026#iefix') format('embedded-opentype'),url('font-cases.ttf?20191026') format('truetype'),url('font-cases.woff?20191026') format('woff'),url('font-cases.svg?20191026#cases') format('svg')}
|
||||
[class^='case-'],[class*=' case-']{font-family:cases!important;speak:none;font-style:normal;font-weight:normal;font-variant:normal;text-transform:none}
|
||||
.case-1u-disks:before{content:'\e90d'}
|
||||
.case-1u-vents:before{content:'\e90e'}
|
||||
.case-2u-disks:before{content:'\e90b'}
|
||||
.case-2u-poweredge:before{content:'\e91d'}
|
||||
.case-2u-vents:before{content:'\e90c'}
|
||||
.case-3u-disks:before{content:'\e90a'}
|
||||
.case-3u-fans:before{content:'\e909'}
|
||||
.case-3u-md1510:before{content:'\e91a'}
|
||||
.case-4u-disks:before{content:'\e908'}
|
||||
.case-4u-fans:before{content:'\e907'}
|
||||
.case-4u-storinator:before{content:'\e91b'}
|
||||
.case-a79:before{content:'\e902'}
|
||||
.case-core-wp200:before{content:'\e911'}
|
||||
.case-css-cs380:before{content:'\e913'}
|
||||
.case-dark-base-700:before{content:'\e906'}
|
||||
.case-define-r5:before{content:'\e900'}
|
||||
.case-elite-110:before{content:'\e905'}
|
||||
.case-1u-disks:before{content:'\e907'}
|
||||
.case-1u-vents:before{content:'\e908'}
|
||||
.case-2u-disks:before{content:'\e909'}
|
||||
.case-2u-poweredge:before{content:'\e90a'}
|
||||
.case-2u-vents:before{content:'\e90b'}
|
||||
.case-3u-avs-10-4:before{content:'\e90c'}
|
||||
.case-3u-disks:before{content:'\e90d'}
|
||||
.case-3u-fans:before{content:'\e90e'}
|
||||
.case-4u-disks:before{content:'\e91a'}
|
||||
.case-4u-fans:before{content:'\e91b'}
|
||||
.case-4u-norco-4116:before{content:'\e91d'}
|
||||
.case-4u-norco-4220:before{content:'\e921'}
|
||||
.case-4u-rsv-l4411:before{content:'\e924'}
|
||||
.case-4u-storinator:before{content:'\e926'}
|
||||
.case-4u-vents:before{content:'\e927'}
|
||||
.case-the-tower-900:before{content:'\e92b'}
|
||||
.case-zalman-ms800:before{content:'\e928'}
|
||||
.case-lancool-k12:before{content:'\e92a'}
|
||||
.case-node-202:before{content:'\e922'}
|
||||
.case-obsidian-550d:before{content:'\e923'}
|
||||
.case-vivopc:before{content:'\e925'}
|
||||
.case-router:before{content:'\e91f'}
|
||||
.case-vm:before{content:'\e920'}
|
||||
.case-stormtrooper:before{content:'\e91e'}
|
||||
.case-storinator-ws:before{content:'\e91c'}
|
||||
.case-full-tower:before{content:'\e914'}
|
||||
.case-h500:before{content:'\e901'}
|
||||
.case-htpc:before{content:'\e915'}
|
||||
.case-mercury-s8:before{content:'\e910'}
|
||||
.case-mid-tower:before{content:'\e916'}
|
||||
.case-mini-tower:before{content:'\e917'}
|
||||
.case-nineteen-hundred:before{content:'\e903'}
|
||||
.case-node-804:before{content:'\e904'}
|
||||
.case-nova-x2m:before{content:'\e90f'}
|
||||
.case-poweredge-t630:before{content:'\e912'}
|
||||
.case-router:before{content:'\e91f'}
|
||||
.case-sff:before{content:'\e918'}
|
||||
.case-storinator-ws:before{content:'\e91c'}
|
||||
.case-stormtrooper:before{content:'\e91e'}
|
||||
.case-v350:before{content:'\e919'}
|
||||
.case-vm:before{content:'\e920'}
|
||||
.case-nova-x2m:before{content:'\e90f'}
|
||||
.case-mercury-s8:before{content:'\e910'}
|
||||
.case-core-wp200:before{content:'\e911'}
|
||||
.case-poweredge-t630:before{content:'\e912'}
|
||||
.case-css-cs380:before{content:'\e913'}
|
||||
.case-define-r5:before{content:'\e900'}
|
||||
.case-h500:before{content:'\e901'}
|
||||
.case-a79:before{content:'\e902'}
|
||||
.case-nineteen-hundred:before{content:'\e903'}
|
||||
.case-dark-base-700:before{content:'\e906'}
|
||||
.case-node-804:before{content:'\e904'}
|
||||
.case-elite-110:before{content:'\e905'}
|
||||
@@ -1,23 +1,24 @@
|
||||
@font-face{font-family:clear-sans;font-weight:normal;font-style:normal;
|
||||
src:url('clear-sans.eot?20190313');src:url('clear-sans.eot?20190313#iefix') format('embedded-opentype'),url('clear-sans.woff?20190313') format('woff'),url('clear-sans.ttf?20190313') format('truetype'),url('clear-sans.svg?20190313#clear-sans') format('svg')}
|
||||
src:url('clear-sans.eot?20191026');src:url('clear-sans.eot?20191026#iefix') format('embedded-opentype'),url('clear-sans.woff?20191026') format('woff'),url('clear-sans.ttf?20191026') format('truetype'),url('clear-sans.svg?20191026#clear-sans') format('svg')}
|
||||
@font-face{font-family:clear-sans;font-weight:bold;font-style:normal;
|
||||
src:url('clear-sans-bold.eot?20190313');src:url('clear-sans-bold.eot?20190313?#iefix') format('embedded-opentype'),url('clear-sans-bold.woff?20190313') format('woff'),url('clear-sans-bold.ttf?20190313') format('truetype'),url('clear-sans-bold.svg?20190313#clear-sans-bold') format('svg')}
|
||||
src:url('clear-sans-bold.eot?20191026');src:url('clear-sans-bold.eot?20191026?#iefix') format('embedded-opentype'),url('clear-sans-bold.woff?20191026') format('woff'),url('clear-sans-bold.ttf?20191026') format('truetype'),url('clear-sans-bold.svg?20191026#clear-sans-bold') format('svg')}
|
||||
@font-face{font-family:clear-sans;font-weight:normal;font-style:italic;
|
||||
src:url('clear-sans-italic.eot?20190313');src:url('clear-sans-italic.eot?20190313?#iefix') format('embedded-opentype'),url('clear-sans-italic.woff?20190313') format('woff'),url('clear-sans-italic.ttf?20190313') format('truetype'),url('clear-sans-italic.svg?20190313#clear-sans-italic') format('svg')}
|
||||
src:url('clear-sans-italic.eot?20191026');src:url('clear-sans-italic.eot?20191026?#iefix') format('embedded-opentype'),url('clear-sans-italic.woff?20191026') format('woff'),url('clear-sans-italic.ttf?20191026') format('truetype'),url('clear-sans-italic.svg?20191026#clear-sans-italic') format('svg')}
|
||||
@font-face{font-family:clear-sans;font-weight:bold;font-style:italic;
|
||||
src:url('clear-sans-bold-italic.eot?20190313');src:url('clear-sans-bold-italic.eot?20190313?#iefix') format('embedded-opentype'),url('clear-sans-bold-italic.woff?20190313') format('woff'),url('clear-sans-bold-italic.ttf?20190313') format('truetype'),url('clear-sans-bold-italic.svg?20190313#clear-sans-bold-italic') format('svg')}
|
||||
src:url('clear-sans-bold-italic.eot?20191026');src:url('clear-sans-bold-italic.eot?20191026?#iefix') format('embedded-opentype'),url('clear-sans-bold-italic.woff?20191026') format('woff'),url('clear-sans-bold-italic.ttf?20191026') format('truetype'),url('clear-sans-bold-italic.svg?20191026#clear-sans-bold-italic') format('svg')}
|
||||
|
||||
@font-face{font-family:bitstream;font-weight:normal;font-style:normal;
|
||||
src:url('bitstream.eot?20190313');src:url('bitstream.eot?20190313?#iefix') format('embedded-opentype'),url('bitstream.woff?20190313') format('woff'),url('bitstream.ttf?20190313') format('truetype'),url('bitstream.svg?20190313#bitstream') format('svg')}
|
||||
src:url('bitstream.eot?20191026');src:url('bitstream.eot?20191026?#iefix') format('embedded-opentype'),url('bitstream.woff?20191026') format('woff'),url('bitstream.ttf?20191026') format('truetype'),url('bitstream.svg?20191026#bitstream') format('svg')}
|
||||
|
||||
@font-face{font-family:docker-icon;font-weight:normal;font-style:normal;
|
||||
src:url('docker-icon.eot?20190313');src:url('docker-icon.eot?20190313?#iefix') format('embedded-opentype'),url('docker-icon.woff?20190313') format('woff'),url('docker-icon.ttf?20190313') format('truetype'),url('docker-icon.svg?20190313#docker-icon') format('svg')}
|
||||
src:url('docker-icon.eot?20191026');src:url('docker-icon.eot?20191026?#iefix') format('embedded-opentype'),url('docker-icon.woff?20191026') format('woff'),url('docker-icon.ttf?20191026') format('truetype'),url('docker-icon.svg?20191026#docker-icon') format('svg')}
|
||||
[data-icon]:before{content:attr(data-icon)}
|
||||
[data-icon]:before,.fa-docker:before{font-family:docker-icon!important;content:'\f100'}
|
||||
|
||||
@font-face{font-family:unraid;font-weight:normal;font-style:normal;
|
||||
src:url('font-unraid.eot?20190313');src:url('font-unraid.eot?20190313#iefix') format('embedded-opentype'),url('font-unraid.ttf?20190313') format('truetype'),url('font-unraid.woff?20190313') format('woff'),url('font-unraid.svg?20190313#unraid') format('svg')}
|
||||
src:url('font-unraid.eot?20191026');src:url('font-unraid.eot?20191026#iefix') format('embedded-opentype'),url('font-unraid.ttf?20191026') format('truetype'),url('font-unraid.woff?20191026') format('woff'),url('font-unraid.svg?20191026#unraid') format('svg')}
|
||||
[class^='icon-'],[class*=' icon-']{font-family:unraid!important;speak:none;font-style:normal;font-weight:normal;font-variant:normal;text-transform:none}
|
||||
.icon-algorithm:before{content:'\e97b'}
|
||||
.icon-app:before{content:'\e900'}
|
||||
.icon-apple:before{content:'\e901'}
|
||||
.icon-apps:before{content:'\e942'}
|
||||
@@ -30,13 +31,16 @@ src:url('font-unraid.eot?20190313');src:url('font-unraid.eot?20190313#iefix') fo
|
||||
.icon-cpu:before{content:'\e905'}
|
||||
.icon-cpu-pinning:before{content:'\e904'}
|
||||
.icon-credits:before{content:'\e91c'}
|
||||
.icon-custom:before{content:'\e97a'}
|
||||
.icon-dashboard:before{content:'\e943'}
|
||||
.icon-diagnostics:before{content:'\e91d'}
|
||||
.icon-disc:before{content:'\e979'}
|
||||
.icon-disk:before{content:'\e907'}
|
||||
.icon-disk-encrypted:before{content:'\e906'}
|
||||
.icon-disks:before{content:'\e908'}
|
||||
.icon-display:before{content:'\e90a'}
|
||||
.icon-docker:before{content:'\e90b'}
|
||||
.icon-energysaving:before{content:'\e977'}
|
||||
.icon-ethernet:before{content:'\e90c'}
|
||||
.icon-eula:before{content:'\e91e'}
|
||||
.icon-fan:before{content:'\e90d'}
|
||||
@@ -49,10 +53,13 @@ src:url('font-unraid.eot?20190313');src:url('font-unraid.eot?20190313#iefix') fo
|
||||
.icon-linux:before{content:'\e910'}
|
||||
.icon-log:before{content:'\e921'}
|
||||
.icon-motherboard:before{content:'\e92c'}
|
||||
.icon-move:before{content:'\e97c'}
|
||||
.icon-network:before{content:'\e911'}
|
||||
.icon-notifications:before{content:'\e912'}
|
||||
.icon-nvme:before{content:'\e929'}
|
||||
.icon-packages:before{content:'\e976'}
|
||||
.icon-pagemap:before{content:'\e922'}
|
||||
.icon-performance:before{content:'\e978'}
|
||||
.icon-permissions:before{content:'\e923'}
|
||||
.icon-picture:before{content:'\e94b'}
|
||||
.icon-plugins:before{content:'\e944'}
|
||||
@@ -63,9 +70,21 @@ src:url('font-unraid.eot?20190313');src:url('font-unraid.eot?20190313#iefix') fo
|
||||
.icon-recycle:before{content:'\e946'}
|
||||
.icon-registration:before{content:'\e925'}
|
||||
.icon-remote-access:before{content:'\e94d'}
|
||||
.icon-repeatable:before{content:'\e96e'}
|
||||
.icon-scheduler:before{content:'\e914'}
|
||||
.icon-security:before{content:'\e975'}
|
||||
.icon-share:before{content:'\e915'}
|
||||
.icon-sharing-protocol:before{content:'\e96f'}
|
||||
.icon-shop:before{content:'\e970'}
|
||||
.icon-snapshot:before{content:'\e971'}
|
||||
.icon-temp:before{content:'\e926'}
|
||||
.icon-template:before{content:'\e972'}
|
||||
.icon-themes:before{content:'\e973'}
|
||||
.icon-u-arrow-down:before{content:'\e95e'}
|
||||
.icon-u-arrow-left:before{content:'\e95f'}
|
||||
.icon-u-arrow-right:before{content:'\e960'}
|
||||
.icon-u-arrow-up:before{content:'\e961'}
|
||||
.icon-u-bell:before{content:'\e962'}
|
||||
.icon-u-change:before{content:'\e947'}
|
||||
.icon-u-chat:before{content:'\e93e'}
|
||||
.icon-u-check:before{content:'\e94f'}
|
||||
@@ -74,7 +93,9 @@ src:url('font-unraid.eot?20190313');src:url('font-unraid.eot?20190313#iefix') fo
|
||||
.icon-u-delete:before{content:'\e92f'}
|
||||
.icon-u-display:before{content:'\e930'}
|
||||
.icon-u-download:before{content:'\e950'}
|
||||
.icon-u-duplicate:before{content:'\e963'}
|
||||
.icon-u-edit:before{content:'\e931'}
|
||||
.icon-u-expand:before{content:'\e964'}
|
||||
.icon-u-full:before{content:'\e932'}
|
||||
.icon-u-globe:before{content:'\e951'}
|
||||
.icon-u-half:before{content:'\e933'}
|
||||
@@ -86,9 +107,13 @@ src:url('font-unraid.eot?20190313');src:url('font-unraid.eot?20190313#iefix') fo
|
||||
.icon-u-lock-open:before{content:'\e954'}
|
||||
.icon-u-log:before{content:'\e936'}
|
||||
.icon-u-logout:before{content:'\e937'}
|
||||
.icon-u-minimize:before{content:'\e965'}
|
||||
.icon-u-minus:before{content:'\e967'}
|
||||
.icon-u-move:before{content:'\e966'}
|
||||
.icon-u-pause:before{content:'\e939'}
|
||||
.icon-update:before{content:'\e927'}
|
||||
.icon-u-play:before{content:'\e93a'}
|
||||
.icon-u-plus-Copy-3:before{content:'\e968'}
|
||||
.icon-u-polygon:before{content:'\e93b'}
|
||||
.icon-ups:before{content:'\e916'}
|
||||
.icon-u-restart:before{content:'\e93c'}
|
||||
@@ -96,19 +121,25 @@ src:url('font-unraid.eot?20190313');src:url('font-unraid.eot?20190313#iefix') fo
|
||||
.icon-u-search:before{content:'\e956'}
|
||||
.icon-user:before{content:'\e917'}
|
||||
.icon-users:before{content:'\e945'}
|
||||
.icon-u-shutdown:before{content:'\e969'}
|
||||
.icon-u-sort:before{content:'\e959'}
|
||||
.icon-u-sort-down:before{content:'\e957'}
|
||||
.icon-u-sort-up:before{content:'\e958'}
|
||||
.icon-u-square:before{content:'\e93d'}
|
||||
.icon-u-star:before{content:'\e95a'}
|
||||
.icon-u-stop:before{content:'\e96d'}
|
||||
.icon-u-tab:before{content:'\e938'}
|
||||
.icon-u-tag:before{content:'\e95b'}
|
||||
.icon-u-terminal:before{content:'\e93f'}
|
||||
.icon-u-third:before{content:'\e940'}
|
||||
.icon-u-thumbs-down:before{content:'\e96a'}
|
||||
.icon-u-thumbs-up:before{content:'\e96b'}
|
||||
.icon-u-triangle:before{content:'\e941'}
|
||||
.icon-u-two-thirds:before{content:'\e96c'}
|
||||
.icon-vars:before{content:'\e928'}
|
||||
.icon-video:before{content:'\e94e'}
|
||||
.icon-virtualization:before{content:'\e918'}
|
||||
.icon-vpn:before{content:'\e95c'}
|
||||
.icon-windows:before{content:'\e919'}
|
||||
.icon-windows:before{content:'\e919'}
|
||||
.icon-wireguard:before{content:'\e95d'}
|
||||
.icon-zip:before{content:'\e974'}
|
||||
|
||||
@@ -29,7 +29,7 @@ div.jGrowl div.jGrowl-closer.top{position:fixed;top:91px}
|
||||
#sb-info-inner,#sb-loading-inner,div.sb-message{color:#1c1b1b;background-color:#f2f2f2}
|
||||
#sb-title,#sb-title-inner{border-top-left-radius:10px;border-top-right-radius:10px;width:100%;height:5rem;line-height:5rem;font-family:clear-sans;font-size:1.8rem;font-weight:bold;letter-spacing:1.8px;background:#c0c0c0;color:#606060;text-indent:10px;text-align:center}
|
||||
#sb-title,#sb-info{position:relative;margin:0;padding:0;overflow:hidden}
|
||||
#sb-container{position:fixed;margin:0;padding:0;top:0;left:0;z-index:999;text-align:left;visibility:hidden;display:none}
|
||||
#sb-container{position:fixed;margin:0;padding:0;top:0;left:0;z-index:10000;text-align:left;visibility:hidden;display:none}
|
||||
#sb-overlay{position:relative;height:100%;width:100%}
|
||||
#sb-wrapper{position:absolute;visibility:hidden;width:100px;border:1px #808080 solid;border-radius:10px;color:#1c1b1b;background:#f2f2f2}
|
||||
#sb-wrapper-inner{overflow:hidden;height:10rem}
|
||||
@@ -44,7 +44,7 @@ div.jGrowl div.jGrowl-closer.top{position:fixed;top:91px}
|
||||
#sb-info-inner{font-family:clear-sans;font-size:1.3rem}
|
||||
#sb-nav{float:right;height:16px;padding:2px 0;width:45%}
|
||||
#sb-nav a{display:block;float:right;height:16px;width:16px;margin-left:3px;cursor:pointer;background-repeat:no-repeat}
|
||||
#sb-nav-close{background-image:url(../images/close.png);position:absolute;display:block;z-index:999;width:32px;height:32px;top:-16px;right:-16px;cursor:pointer}
|
||||
#sb-nav-close{background-image:url(../images/close.png);position:absolute;display:block;z-index:10000;width:32px;height:32px;top:-16px;right:-16px;cursor:pointer}
|
||||
#sb-counter{float:left;width:45%}
|
||||
#sb-counter a{padding:0 4px 0 0;text-decoration:none;cursor:pointer}
|
||||
#sb-counter a.sb-counter-current{text-decoration:underline}
|
||||
|
||||
@@ -29,7 +29,7 @@ div.jGrowl div.jGrowl-closer.top{position:fixed;top:130px}
|
||||
#sb-info-inner,#sb-loading-inner,div.sb-message{color:#1c1b1b;background-color:#f2f2f2}
|
||||
#sb-title,#sb-title-inner{border-top-left-radius:10px;border-top-right-radius:10px;width:100%;height:5rem;line-height:5rem;font-family:clear-sans;font-size:1.8rem;font-weight:bold;letter-spacing:1.8px;background:#c0c0c0;color:#606060;text-indent:10px;text-align:center}
|
||||
#sb-title,#sb-info{position:relative;margin:0;padding:0;overflow:hidden}
|
||||
#sb-container{position:fixed;margin:0;padding:0;top:0;left:0;z-index:999;text-align:left;visibility:hidden;display:none}
|
||||
#sb-container{position:fixed;margin:0;padding:0;top:0;left:0;z-index:10000;text-align:left;visibility:hidden;display:none}
|
||||
#sb-overlay{position:relative;height:100%;width:100%}
|
||||
#sb-wrapper{position:absolute;visibility:hidden;width:100px;border:1px #808080 solid;border-radius:10px;color:#1c1b1b;background:#f2f2f2}
|
||||
#sb-wrapper-inner{overflow:hidden;height:10rem}
|
||||
@@ -44,7 +44,7 @@ div.jGrowl div.jGrowl-closer.top{position:fixed;top:130px}
|
||||
#sb-info-inner{font-family:clear-sans;font-size:1.3rem}
|
||||
#sb-nav{float:right;height:16px;padding:2px 0;width:45%}
|
||||
#sb-nav a{display:block;float:right;height:16px;width:16px;margin-left:3px;cursor:pointer;background-repeat:no-repeat}
|
||||
#sb-nav-close{background-image:url(../images/close.png);position:absolute;display:block;z-index:999;width:32px;height:32px;top:-16px;right:-16px;cursor:pointer}
|
||||
#sb-nav-close{background-image:url(../images/close.png);position:absolute;display:block;z-index:10000;width:32px;height:32px;top:-16px;right:-16px;cursor:pointer}
|
||||
#sb-counter{float:left;width:45%}
|
||||
#sb-counter a{padding:0 4px 0 0;text-decoration:none;cursor:pointer}
|
||||
#sb-counter a.sb-counter-current{text-decoration:underline}
|
||||
|
||||
@@ -29,7 +29,7 @@ div.jGrowl div.jGrowl-closer.top{position:fixed;top:91px}
|
||||
#sb-info-inner,#sb-loading-inner,div.sb-message{color:#1c1b1b;background-color:#f2f2f2}
|
||||
#sb-title,#sb-title-inner{border-top-left-radius:10px;border-top-right-radius:10px;width:100%;height:5rem;line-height:5rem;font-family:clear-sans;font-size:1.8rem;font-weight:bold;letter-spacing:1.8px;background:#c0c0c0;color:#606060;text-indent:10px;text-align:center}
|
||||
#sb-title,#sb-info{position:relative;margin:0;padding:0;overflow:hidden}
|
||||
#sb-container{position:fixed;margin:0;padding:0;top:0;left:0;z-index:999;text-align:left;visibility:hidden;display:none}
|
||||
#sb-container{position:fixed;margin:0;padding:0;top:0;left:0;z-index:10000;text-align:left;visibility:hidden;display:none}
|
||||
#sb-overlay{position:relative;height:100%;width:100%}
|
||||
#sb-wrapper{position:absolute;visibility:hidden;width:100px;border:1px #808080 solid;border-radius:10px;color:#1c1b1b;background:#f2f2f2}
|
||||
#sb-wrapper-inner{overflow:hidden;height:10rem}
|
||||
@@ -44,7 +44,7 @@ div.jGrowl div.jGrowl-closer.top{position:fixed;top:91px}
|
||||
#sb-info-inner{font-family:clear-sans;font-size:1.3rem}
|
||||
#sb-nav{float:right;height:16px;padding:2px 0;width:45%}
|
||||
#sb-nav a{display:block;float:right;height:16px;width:16px;margin-left:3px;cursor:pointer;background-repeat:no-repeat}
|
||||
#sb-nav-close{background-image:url(../images/close.png);position:absolute;display:block;z-index:999;width:32px;height:32px;top:-16px;right:-16px;cursor:pointer}
|
||||
#sb-nav-close{background-image:url(../images/close.png);position:absolute;display:block;z-index:10000;width:32px;height:32px;top:-16px;right:-16px;cursor:pointer}
|
||||
#sb-counter{float:left;width:45%}
|
||||
#sb-counter a{padding:0 4px 0 0;text-decoration:none;cursor:pointer}
|
||||
#sb-counter a.sb-counter-current{text-decoration:underline}
|
||||
|
||||
@@ -29,7 +29,7 @@ div.jGrowl div.jGrowl-closer.top{position:fixed;top:130px}
|
||||
#sb-info-inner,#sb-loading-inner,div.sb-message{color:#1c1b1b;background-color:#f2f2f2}
|
||||
#sb-title,#sb-title-inner{border-top-left-radius:10px;border-top-right-radius:10px;width:100%;height:5rem;line-height:5rem;font-family:clear-sans;font-size:1.8rem;font-weight:bold;letter-spacing:1.8px;background:#c0c0c0;color:#606060;text-indent:10px;text-align:center}
|
||||
#sb-title,#sb-info{position:relative;margin:0;padding:0;overflow:hidden}
|
||||
#sb-container{position:fixed;margin:0;padding:0;top:0;left:0;z-index:999;text-align:left;visibility:hidden;display:none}
|
||||
#sb-container{position:fixed;margin:0;padding:0;top:0;left:0;z-index:10000;text-align:left;visibility:hidden;display:none}
|
||||
#sb-overlay{position:relative;height:100%;width:100%}
|
||||
#sb-wrapper{position:absolute;visibility:hidden;width:100px;border:1px #808080 solid;border-radius:10px;color:#1c1b1b;background:#f2f2f2}
|
||||
#sb-wrapper-inner{overflow:hidden;height:10rem}
|
||||
@@ -44,7 +44,7 @@ div.jGrowl div.jGrowl-closer.top{position:fixed;top:130px}
|
||||
#sb-info-inner{font-family:clear-sans;font-size:1.3rem}
|
||||
#sb-nav{float:right;height:16px;padding:2px 0;width:45%}
|
||||
#sb-nav a{display:block;float:right;height:16px;width:16px;margin-left:3px;cursor:pointer;background-repeat:no-repeat}
|
||||
#sb-nav-close{background-image:url(../images/close.png);position:absolute;display:block;z-index:999;width:32px;height:32px;top:-16px;right:-16px;cursor:pointer}
|
||||
#sb-nav-close{background-image:url(../images/close.png);position:absolute;display:block;z-index:10000;width:32px;height:32px;top:-16px;right:-16px;cursor:pointer}
|
||||
#sb-counter{float:left;width:45%}
|
||||
#sb-counter a{padding:0 4px 0 0;text-decoration:none;cursor:pointer}
|
||||
#sb-counter a.sb-counter-current{text-decoration:underline}
|
||||
|
||||
Binary file not shown.
File diff suppressed because one or more lines are too long
|
Before Width: | Height: | Size: 62 KiB After Width: | Height: | Size: 93 KiB |
Binary file not shown.
Binary file not shown.
Binary file not shown.
File diff suppressed because one or more lines are too long
|
Before Width: | Height: | Size: 60 KiB After Width: | Height: | Size: 74 KiB |
Binary file not shown.
Binary file not shown.
Reference in New Issue
Block a user