Skip to content
Snippets Groups Projects
ks-datasets-database.php 1.54 KiB
Newer Older
  • Learn to ignore specific revisions
  • 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;
    }