<?php
+
+function db_getDB($changer_name)
+{
+ global $BASE_DATA, $BASE_LIB, $BACULA_USER;
+
+ try {
+ $dbobject = new PDO("sqlite:$BASE_DATA/$changer_name".".db");
+ } catch(PDOException $exep) {
+ echo "<font color='red'>Cannot open sqlitedb, ".$exep->getMessage()."</font><br>";
+ return;
+ }
+
+
+ db_createDB($dbobject);
+
+ return $dbobject;
+}
+
+function db_createDB($dbobject)
+{
+
+ if($dbobject->query("select * from disk_list")) {
+ //error_log("table exists?");
+ } else {
+ //error_log("table not exists?");
+ $dbobject->query('CREATE TABLE "disk_list" ("disk_id" INTEGER PRIMARY KEY AUTOINCREMENT NOT NULL,"disk_name" TEXT NOT NULL);');
+ $dbobject->query('CREATE TABLE sqlite_sequence(name,seq)');
+ $dbobject->query('CREATE TABLE "config" ("config_name" TEXT NOT NULL,"config_value" TEXT NOT NULL)');
+ $dbobject->query('CREATE TABLE "slots" ("slots_id" INTEGER PRIMARY KEY AUTOINCREMENT NOT NULL,"slot_no" INTEGER,"disk_id" INTEGER,"tape_name" TEXT)');
+
+ // TODO create action group here
+
+ }
+}
+
+function conf_getVal($changer, $name)
+{
+ $db = db_getDB($changer);
+
+ $sql = "select config_value from config where config_name=='$name'";
+ //error_log("from getval: ".$sql);
+
+ $res = $db->query($sql);
+
+ if(!$res) return false;
+
+ $val = false;
+
+ foreach($res as $row) {
+ $val = $row["config_value"];
+ }
+
+ return $val;
+}
+
+function conf_setVal($changer, $name, $value)
+{
+ $db = db_getDB($changer);
+
+ $sql = "delete from config where config_name=='$name'";
+ $db->query($sql);
+
+ $sql = "insert into config values ('$name', '$value')";
+ $db->query($sql);
+
+ //error_log("from setval: ".$sql);
+}
+
+function add_diskToDB($changer, $diskid)
+{
+ $db = db_getDB($changer);
+
+ $sql = "select * from disk_list where disk_name=='$diskid'";
+ $res = $db->query($sql);
+ if(!$res) return false;
+
+ $val = false;
+ foreach($res as $row) {
+ $val = $row["disk_id"];
+ }
+
+ if(!$val) {
+ $sql = "insert into disk_list values(NULL, '$diskid')";
+ $db->query($sql);
+ return $db->lastInsertId();
+ } else {
+ echo "Disk already existed in db, will create more tapes?\n";
+ }
+
+ return $val;
+}
+?>
\ No newline at end of file