'/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 = (array)parse_ini_file('state/disks.ini',true); $name = substr($name,0,-1); foreach ($disks as $disk) { if ($disk['status'] != 'DISK_OK') continue; $array = ($name=='array' && in_array($disk['type'],['Parity','Data'])); if ($array || prefix($disk['name'])==$name) emhttpd("cmdSpin$action={$disk['name']}"); } break; } ?>