X-Git-Url: http://git.polytechnique.org/?a=blobdiff_plain;f=include%2Fdiogenes%2Fdiogenes.database.table.inc.php;fp=include%2Fdiogenes%2Fdiogenes.database.table.inc.php;h=28ded25e0fdd71c666e9393bffb2b66364da88d7;hb=6855525e48fad5de270500a5445c4f4ff85d8bda;hp=0000000000000000000000000000000000000000;hpb=e69709aa8ee6108a1197e46b45367ba8dab55a52;p=diogenes.git diff --git a/include/diogenes/diogenes.database.table.inc.php b/include/diogenes/diogenes.database.table.inc.php new file mode 100644 index 0000000..28ded25 --- /dev/null +++ b/include/diogenes/diogenes.database.table.inc.php @@ -0,0 +1,71 @@ +dbh =& $dbh; + $this->table = $table; + + $res = $this->dbh->query("show columns from $table"); + while (list($name,$ftype,,$key,$value,$extra) = mysql_fetch_row($res)) + { + if (!preg_match("/^([a-z]+)(\(([^\)]*)\))?( [a-z]+)?$/",$ftype,$matches)) + die("could not parse $ftype"); + + $dtype = $matches[1]; + switch($dtype) { + case "set": case "enum": + $type = "set"; + break; + case "timestamp": + case "datetime": + $type = "timestamp"; + break; + default: + $type="text"; + } + $this->vars[$name] = array("table" => $this->table, "field" => $name, + "type" => $type, "value" => $value, "desc" => $name, "sum" => false, + "key" => $key, "extra" => $extra, "edit" => true, "show" => true); + } + } + +} + +?>