'/var/run/emhttpd.socket', CURLOPT_POST => 1, CURLOPT_POSTFIELDS => "$cmd&startState=$state&csrf_token=$csrf"]; curl_setopt_array($ch, $options); curl_exec($ch); curl_close($ch); } switch ($device) { case 'New': emhttpd("cmdSpin{$action}={$name}"); break; case 'Clear': emhttpd("clearStatistics=true"); break; default: if (!$name) { // spin up/down all devices emhttpd("cmdSpin{$device}All=true"); break; } if (substr($name,-1) != '*') { // spin up/down single device emhttpd("cmdSpin{$action}={$name}"); break; } // spin up/down group of devices $disks = @parse_ini_file('state/disks.ini',true) ?: []; // remove '*' from name $name = substr($name,0,-1); foreach ($disks as $disk) { if (_var($disk,'status') != 'DISK_OK') continue; $array = ($name=='array' && in_array(_var($disk,'type'),['Parity','Data'])); if ($array || prefix(_var($disk,'name'))==$name) emhttpd("cmdSpin{$action}="._var($disk,'name')); } break; } ?>