'/var/run/emhttpd.socket']); curl_exec($ch); curl_close($ch); } switch ($device) { case 'New': $cmd = $action=='up' ? 'S0' : ($action=='down' ? 'y' : false); if ($cmd && $name) exec("/usr/sbin/hdparm -$cmd /dev/$name >/dev/null 2>&1"); 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; } ?>