<?php require_once(__DIR__ . "/knowledge-space-database.php"); function ks_insert_or_update_graph($name, $graph) { // Delete old graph and insert new global $SPACES_TABLE; global $wpdb; $wpdb->delete($SPACES_TABLE, array("name" => $name), array("%s")); return ks_insert_space($name, $graph); } function ks_select_all_spaces() { global $SPACES_TABLE; return ks_select("SELECT * FROM $SPACES_TABLE"); } function ks_select_space($space_name) { global $SPACES_TABLE; return ks_select_single("SELECT * FROM $SPACES_TABLE WHERE name = %s", $space_name); } function ks_insert_space($name = null, $graph = "") { // If no name given, set default name if ($name == null) { // Adding current time to make it somewhat unique $now = new DateTime(); $name = "New space - " . $now->format('Y-m-d H:i:s'); } $data = array( "name" => $name, "graph" => $graph ); $format = array("%s", "%s"); global $SPACES_TABLE; global $wpdb; $wpdb->insert($SPACES_TABLE, $data, $format); return $wpdb->insert_id; } function ks_select($query, $parameters = array()) { global $wpdb; $sql = $wpdb->prepare($query, $parameters); return $wpdb->get_results($sql); } function ks_select_single($query, $parameters = array()) { $result = ks_select($query, $parameters); if ($result) { return $result[0]; } else { return null; } } function ks_insert($table, $data) { global $wpdb; $wpdb->insert($table, $data); return $wpdb->insert_id; }