Example #1
0
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;
    }
}
Example #2
0
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;
}
Example #3
0
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;
}
Example #4
0
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;
}
Example #5
0
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;
}
Example #6
0
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;
}
Example #7
0
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;
}
Example #8
0
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 '';
}