cant remember?
[php-bacula-disk-changer.git] / lib / lib.php
1 <?php
2
3 function db_getDB($changer_name)
4 {
5         global $BASE_DATA, $BASE_LIB, $BACULA_USER;
6         
7         try {
8                 $dbobject = new PDO("sqlite:$BASE_DATA/$changer_name".".db");
9         } catch(PDOException $exep) {
10                 echo "<font color='red'>Cannot open sqlitedb, ".$exep->getMessage()."</font><br>";
11                 return;
12         }
13         
14         
15         db_createDB($dbobject);
16         
17         return $dbobject;
18 }
19
20 function db_createDB($dbobject)
21 {
22         
23         if($dbobject->query("select * from disk_list")) {
24                 //error_log("table exists?");
25         } else {
26                 //error_log("table not exists?");
27                 $dbobject->query('CREATE TABLE "disk_list" ("disk_id" INTEGER PRIMARY KEY AUTOINCREMENT NOT NULL,"disk_name" TEXT NOT NULL);');
28                 $dbobject->query('CREATE TABLE sqlite_sequence(name,seq)');
29                 $dbobject->query('CREATE TABLE "config" ("config_name" TEXT NOT NULL,"config_value" TEXT NOT NULL)');
30                 $dbobject->query('CREATE TABLE "slots" ("slots_id" INTEGER PRIMARY KEY AUTOINCREMENT NOT NULL,"slot_no" INTEGER,"disk_id" INTEGER,"tape_name" TEXT)');
31         }
32 }
33
34 function conf_getVal($changer, $name)
35 {
36         $db = db_getDB($changer);
37         
38         $sql = "select config_value from config where config_name=='$name'";
39         //error_log("from getval: ".$sql);
40         
41         $res = $db->query($sql);
42         
43         if(!$res) return false;
44         
45         $val = false;
46         
47         foreach($res as $row) {
48                 $val = $row["config_value"];
49         }
50         
51         return $val;
52 }
53
54 function conf_setVal($changer, $name, $value)
55 {
56         $db = db_getDB($changer);
57         
58         $sql = "delete from config where config_name=='$name'";
59         $db->query($sql);
60         
61         $sql = "insert into config values ('$name', '$value')";
62         $db->query($sql);
63         
64         //error_log("from setval: ".$sql);
65 }
66
67 function add_diskToDB($changer, $diskid)
68 {
69         $db = db_getDB($changer);
70         
71         $sql = "select * from disk_list where disk_name=='$diskid'";
72         $res = $db->query($sql);
73         if(!$res) return false;
74         
75         $val = false;
76         foreach($res as $row) {
77                 $val = $row["disk_id"];
78         }
79         
80         if(!$val) {
81                 $sql = "insert into disk_list values(NULL, '$diskid')";
82                 $db->query($sql);
83                 return $db->lastInsertId();
84         } else {
85                 echo "Disk already existed in db, will create more tapes?\n";
86         }
87         
88         return $val;
89 }
90 ?>