OJD Commit: Fix node id reset
[eidogo-ojd.git] / php / export.php
blobd052a14120a3317190238e750248f838166b23e9
1 <?php
3 require("db.php");
5 mysql_connect(DB_HOST, DB_USER, DB_PASS);
6 mysql_select_db("go_games");
8 function to_base($numstring, $frombase, $tobase) {
9 $chars = "0123456789abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ-_";
10 $tostring = substr($chars, 0, $tobase);
12 $length = strlen($numstring);
13 $result = '';
14 for ($i = 0; $i < $length; $i++) {
15 $number[$i] = strpos($chars, $numstring{$i});
17 do {
18 $divide = 0;
19 $newlen = 0;
20 for ($i = 0; $i < $length; $i++) {
21 $divide = $divide * $frombase + $number[$i];
22 if ($divide >= $tobase) {
23 $number[$newlen++] = (int)($divide / $tobase);
24 $divide = $divide % $tobase;
25 } elseif ($newlen > 0) {
26 $number[$newlen++] = 0;
29 $length = $newlen;
30 $result = $tostring{$divide} . $result;
32 while ($newlen != 0);
33 return $result;
36 $q = mysql_query("select ID, SGF from games");
37 while ($r = mysql_fetch_array($q)) {
38 $stamp = microtime(true) * (rand() / getrandmax()) * 100;
39 $id = to_base((string)$stamp, 10, 62);
40 $fn = sprintf("%s.sgf", substr($id, 0, 6));
41 file_put_contents("../sgf/games/$fn", $r[1]);