OJD Commit: Fix node id reset
[eidogo-ojd.git] / php / kjd_insert.php
blob90946f6c6a759656d5204e954292eb3479fbb7cd
1 <?php
3 require("sgf.php");
4 require("db.php");
6 // Change these as appropriate:
7 mysql_connect(DB_HOST, DB_USER, DB_PASS);
8 mysql_select_db(DB_NAME);
9 $sgf_file = "../sgf/kjd.sgf";
11 function insert($tree, $id) {
12 $result = mysql_query(
13 "insert into kjd (parent, nodes, lt, rt) values (" .
14 "'$id', " .
15 "'" . mysql_real_escape_string(serialize($tree['nodes'])) . "', " .
16 "'" . $tree['lt'] . "', " .
17 "'" . $tree['rt'] . "'" .
18 ")"
20 if (!$result) {
21 die("Problem! " . mysql_error());
23 $insert_id = mysql_insert_id();
24 for ($i = 0; $i < count($tree['trees']); $i++) {
25 insert($tree['trees'][$i], $insert_id);
29 $sgf = new SGF(file_get_contents($sgf_file));
31 // modified pre-order tree transversal -- we don't use
32 // this yet, but we could
33 function mptt(&$tree, $lt) {
34 $rt = $lt + 1;
36 for ($i = 0; $i < count($tree['trees']); $i++) {
37 $rt = mptt($tree['trees'][$i], $rt);
40 $tree['lt'] = $lt;
41 $tree['rt'] = $rt;
43 return $rt + 1;
46 mptt($sgf->tree, 1);
48 insert($sgf->tree, 0);