if (!array_key_exists('nettype', $data)) {
        // Not upgraded nodes.
        $db->update_node($ip_address, $data['blocks'], $data['connections'], $data['difficulty'], $data['nethashrate']);
    } else {
        if ($db->get_conf("nettype") == 0 && $data['nettype'] == 'default') {
            $db->update_node($ip_address, $data['blocks'], $data['connections'], $data['difficulty'], $data['nethashrate']);
        } else {
            if ($data['nettype'] == 'multi-algo') {
                $db->update_node_ma($ip_address, $data['blocks'], $data['connections'], $data['difficulty_sha256d'], $data['difficulty_scrypt'], $data['difficulty_groestl'], $data['difficulty_qubit'], $data['difficulty_skein']);
            } else {
                die("Nettype mismatch.");
            }
        }
    }
}
if ($db->get_conf("slack-hook") == 1) {
    $offline_nodes = $db->get_offline_nodes();
    if (count($offline_nodes) > 0) {
        $timeout = $db->get_conf("hooks-slack-timeout");
        if ($timeout < time()) {
            // Run Slack webhook.
            foreach ($offline_nodes as $name) {
                $message = "Seed node {$name} seems to be offline.";
                slack_send($message);
            }
            // Update the timeout, 1 hour.
            $to_till = time() + 60 * 60;
            $db->set_conf("hooks-slack-timeout", $to_till);
        }
    }
}