Menu="Device:1" Title="$name _(Settings)_" Tag="hdd-o" --- require_once "$docroot/webGui/include/Preselect.php"; $unassigned = array_key_exists($name, $devs); $disks = array_merge_recursive($disks, $devs); $disk = &$disks[$name] ?? []; $dev = _var($disk,'device'); $disk['id'] = _var($disk,'id'); $events = explode('|',$disk['smEvents'] ?? $var['smEvents'] ?? $numbers); $bgcolor = in_array($display['theme'],['white','azure']) ? '#f2f2f2' : '#1c1c1c'; $mode = ['Disabled','Hourly','Daily','Weekly','Monthly']; $days = ['Sunday','Monday','Tuesday','Wednesday','Thursday','Friday','Saturday']; function sanitize(&$val) { $data = explode('.',str_replace([' ',','],['','.'],$val)); $last = array_pop($data); $val = count($data) ? implode($data).".$last" : $last; $val = preg_replace('/[^0-9.]/','',$val); } function presetSpace($val) { global $disk,$display; if (!$val or strcasecmp($val,'NaN')==0) return; sanitize($val); $size = _var($disk,'fsSize',0); $size = $size>0 ? round(100*$val/$size,1) : 0; $unit = '%'; if ($size < 1) { $units = ['KB','MB','GB','TB','PB','EB','ZB','YB']; $base = $val>0 ? floor(log($val,1000)) : 0; $size = round($val/pow(1000,$base),1); $unit = _var($units,$base); } [$dot,$comma] = str_split(_var($display,'number','.,')); return $size>0 ? number_format($size,$size-floor($size)?1:0,$dot,$comma).' '.$unit : ''; } function fsSize() { global $disks,$pools; $fsSize = []; foreach ($pools as $pool) $fsSize[] = '"'.$pool.'":"'._var($disks[$pool],'fsSize',0).'"'; return implode(',',$fsSize); } function fsType($type) { global $disk; return strpos(_var($disk,'fsType'),$type)!==false; } function diskStatus($status) { global $disk; return strpos(_var($disk,'status'),$status)!==false; } function diskType(...$types) { global $disk; $pass = false; foreach ($types as $type) $pass |= _var($disk,'type')==$type; return $pass; } function makeList($list) { return implode(',',array_map('escapestring',$list)); } function sharename($share) { return basename($share,'.cfg'); } function displayTemp($temp) { global $display; return (_var($display,'unit')=='F' && is_numeric($temp)) ? round($temp*9/5)+32 : $temp; } function maintenance_mode() { global $var; return _var($var,'fsState')=="Started" && _var($var,'startMode')=="Maintenance" && _var($disk,'luksState',0)<=1; } function isPool($name) { global $pools; return in_array($name,$pools); } $sheets = []; $i = $n = 0; foreach ($disks as $sheet) { if (_var($sheet,'type')=="Flash" || _var($sheet,'color')=="grey-off" || empty($sheet['name'])) continue; $sheets[] = $sheet['name']; if ($sheet['name']==$name) {$i = $n;} $n++; } $tag = _var($disk,'name'); $end = count($sheets)-1; $prev = $i>0 ? $sheets[$i-1] : $sheets[$end]; $next = $i<$end ? $sheets[$i+1] : $sheets[0]; $text = isPool($name) ? _('This will ERASE content of ALL devices in the pool') : _('This will ERASE ALL device content'); ?> "> ">