/** * Update Node data */ function sumo_update_node_data($data = array()) { if (!empty($data)) { global $SUMO; // preserve current node $data['active'] = sumo_verify_node_local($data['host']) ? 1 : $data['active']; $query = "UPDATE " . SUMO_TABLE_NODES . " \n\t\t\t\t SET\t\t\t\t \t\n\t\t\t\t \tactive=" . $data['active'] . ", \n\t\t\t\t \thost='" . $data['host'] . "', \n\t\t\t\t \tport=" . $data['port'] . ",\n\t\t\t\t \tname='" . $data['name'] . "', \t\t\t\t \t\n\t\t\t\t \tprotocol='" . $data['protocol'] . "', \n\t\t\t\t \tsumo_path='" . $data['sumo_path'] . "' \n\t\t\t\t WHERE id=" . $data['id']; $SUMO['DB']->Execute($query); // if node updated if (sumo_verify_node_exist($data)) { sumo_write_log('I09010X', array($data['name'], $data['host'], $SUMO['user']['user']), 3, 3, 'system', FALSE); return TRUE; } else { return FALSE; } } else { return FALSE; } }
/** * Verify if Node it's active * * @global resource $SUMO * @author Alberto Basso <*****@*****.**> */ function sumo_verify_node($node = '', $cache = TRUE, $time = 30) { global $SUMO; if (!$node) { $query = "SELECT active FROM " . SUMO_TABLE_NODES . "\n\t\t WHERE (host='" . $SUMO['server']['ip'] . "'\n\t\t\t OR \n\t\t\t host='" . $SUMO['server']['name'] . "')"; } else { $query = "SELECT active FROM " . SUMO_TABLE_NODES . "\n\t\t\tWHERE host='" . $node . "'"; } if ($cache) { $rs = $SUMO['DB']->CacheExecute($time, $query); } else { $rs = $SUMO['DB']->Execute($query); } $node = $rs->FetchRow(); return $node['active'] == 1 || sumo_verify_node_local($node['host']) ? true : false; }