function request($cmd) { $socket = getsock(API_PORT); if ($socket == null) { return NULL; } socket_write($socket, $cmd, strlen($cmd)); $line = readsockline($socket); socket_close($socket); if (strlen($line) == 0) { echo "WARN: '{$cmd}' returned nothing\n"; return $line; } echo "{$cmd} returned '{$line}'\n"; $data = array(); $objs = explode('|', $line); foreach ($objs as $obj) { if (strlen($obj) > 0) { $items = explode(';', $obj); $item = $items[0]; $id = explode('=', $items[0], 2); if (count($id) == 1) { $name = $id[0]; } else { $name = $id[0] . $id[1]; } if (strlen($name) == 0) { $name = 'null'; } if (isset($data[$name])) { $num = 1; while (isset($data[$name . $num])) { $num++; } $name .= $num; } $counter = 0; foreach ($items as $item) { $id = explode('=', $item, 2); if (count($id) == 2) { $data[$name][$id[0]] = $id[1]; } else { $data[$name][$counter] = $id[0]; } $counter++; } } } if ($cmd == 'summary') { return array_pop($data); } else { return $data; } }
function request($cmd) { $socket = getsock('127.0.0.1', 4028); if ($socket != null) { socket_write($socket, $cmd, strlen($cmd)); $line = readsockline($socket); socket_close($socket); if (strlen($line) == 0) { echo "WARN: '{$cmd}' returned nothing\n"; return $line; } print "{$cmd} returned '{$line}'\n"; if (substr($line, 0, 1) == '{') { return json_decode($line, true); } $data = array(); $objs = explode('|', $line); foreach ($objs as $obj) { if (strlen($obj) > 0) { $items = explode(',', $obj); $item = $items[0]; $id = explode('=', $items[0], 2); if (count($id) == 1 or !ctype_digit($id[1])) { $name = $id[0]; } else { $name = $id[0] . $id[1]; } if (strlen($name) == 0) { $name = 'null'; } if (isset($data[$name])) { $num = 1; while (isset($data[$name . $num])) { $num++; } $name .= $num; } $counter = 0; foreach ($items as $item) { $id = explode('=', $item, 2); if (count($id) == 2) { $data[$name][$id[0]] = $id[1]; } else { $data[$name][$counter] = $id[0]; } $counter++; } } } return $data; } return null; }
function api($cmd) { global $miner, $port; $socket = getsock($miner, $port); if ($socket != null) { socket_write($socket, $cmd, strlen($cmd)); $line = readsockline($socket); socket_close($socket); if (strlen($line) == 0) { $error = "WARN: '{$cmd}' returned nothing\n"; return $line; } # print "$cmd returned '$line'\n"; $data = array(); $objs = explode('|', $line); foreach ($objs as $obj) { if (strlen($obj) > 0) { $items = explode(',', $obj); $item = $items[0]; $id = explode('=', $items[0], 2); if (count($id) == 1 or !ctype_digit($id[1])) { $name = $id[0]; } else { $name = $id[0] . $id[1]; } if (strlen($name) == 0) { $name = 'null'; } if (isset($data[$name])) { $num = 1; while (isset($data[$name . $num])) { $num++; } $name .= $num; } $counter = 0; foreach ($items as $item) { $id = explode('=', $item, 2); if (count($id) == 2) { $data[$name][$id[0]] = $id[1]; } else { $data[$name][$counter] = $id[0]; } $counter++; } } } return $data; } return null; }
function api($rig, $cmd) { global $haderror, $error; global $miner, $port, $hidefields; $socket = getsock($rig, $miner, $port); if ($socket != null) { socket_write($socket, $cmd, strlen($cmd)); $line = readsockline($socket); socket_close($socket); if (strlen($line) == 0) { $haderror = true; $error = "WARN: '{$cmd}' returned nothing\n"; return $line; } # print "$cmd returned '$line'\n"; $line = api_convert_escape($line); $data = array(); $objs = explode('|', $line); foreach ($objs as $obj) { if (strlen($obj) > 0) { $items = explode(',', $obj); $item = $items[0]; $id = explode('=', $items[0], 2); if (count($id) == 1 or !ctype_digit($id[1])) { $name = $id[0]; } else { $name = $id[0] . $id[1]; } if (strlen($name) == 0) { $name = 'null'; } $sectionname = preg_replace('/\\d/', '', $name); if (isset($data[$name])) { $num = 1; while (isset($data[$name . $num])) { $num++; } $name .= $num; } $counter = 0; foreach ($items as $item) { $id = explode('=', $item, 2); if (isset($hidefields[$sectionname . '.' . $id[0]])) { continue; } if (count($id) == 2) { $data[$name][$id[0]] = revert($id[1]); } else { $data[$name][$counter] = $id[0]; } $counter++; } } } return $data; } return null; }
function sendsockreply($fun, $msg, $tmo = false) { $ret = false; $socket = getsock($fun, $tmo); if ($socket !== false) { $ret = dosend($fun, $socket, $msg); if ($ret !== false) { $ret = readsockline($fun, $socket); } socket_close($socket); } return $ret; }
function send_request_to_host($cmd_array, $host_data) { $socket = getsock($host_data['address'], $host_data['port']); if ($socket != null) { $cmd = json_encode($cmd_array); socket_write($socket, $cmd, strlen($cmd)); $line = readsockline($socket); socket_close($socket); if (strlen($line) == 0) { return null; } if (substr($line, 0, 1) == '{') { $data = json_decode($line, true); } else { return null; } } else { return null; } return $data; }
function sendsockreply($fun, $msg, $tmo = false) { global $fld_sep, $val_sep, $alrts; $ret = false; $socket = getsock($fun, $tmo); if ($socket !== false) { $ret = dosend($fun, $socket, $msg); if ($ret !== false) { $ret = readsockline($fun, $socket); } socket_close($socket); } $al = $fld_sep . 'alert' . $val_sep; if ($ret !== false and strpos($ret, $al) !== false) { $all = explode($al, $ret); $ret = $all[0]; $skip = true; foreach ($all as $lrt) { if ($skip) { $skip = false; } else { // Discard duplicates $alrts[preg_replace("/[\n\r]*\$/", '', $lrt)] = 1; } } } return $ret; }
function request_raw($cmd) { $socket = getsock('127.0.0.1', 4028); if ($socket != null) { socket_write($socket, $cmd, strlen($cmd)); $line = readsockline($socket); socket_close($socket); return $line; } return ''; }