<?php
-$BASE_LIB="../lib";
-$BASE_DATA="../db";
-$BACULA_USER="paulr";
+
+$BASE_LIB=$_SERVER["BASE_LIB"];
+$BASE_DATA=$_SERVER["BASE_DATA"];
+$BACULA_USER=$_SERVER["BACULA_USER"];
global $BASE_DATA, $BASE_LIB, $BACULA_USER, $argv;
{
global $BASE_DATA, $BASE_LIB, $BACULA_USER, $changer, $argv;
+ $tapeloc = conf_getVal($changer, "drivelocation");
+ $changer = $argv[1];
+ $taped = $argv[5];
+
+ if(file_exists("$tapeloc/$changer-drive$taped")) unlink("$tapeloc/$changer-drive$taped");
}
function load_tape()
{
global $BASE_DATA, $BASE_LIB, $BACULA_USER, $changer, $argv;
+
+ $changer = $argv[1];
+ $taped = $argv[5];
+
+ $db = db_getDB($argv[1]);
+
+ $res = $db->query("select * from disk_list order by disk_id");
+
+ $tapeloc = conf_getVal($changer, "drivelocation");
+ $amloc = conf_getVal($changer, "automountdir");
+
+ $ret = false;
+ $slot = $argv[3];
+
+
+ $res = $db->query("select disk_id,tape_name from slots where slot_no=='$slot'");
+ foreach($res as $row) {
+ $did = $row["disk_id"];
+ $file = $row["tape_name"];
+ }
+
+ $res = $db->query("select disk_name from disk_list where disk_id=='$did'");
+ foreach($res as $row) {
+ $diskname = $row["disk_name"];
+ }
+
+ if(file_exists("$tapeloc/$changer-drive$taped")) unlink("$tapeloc/$changer-drive$taped");
+ symlink("$amloc/".$diskname."/pbdc/".$argv[1]."/tapes/$file", "$tapeloc/$changer-drive$taped");
}
{
global $BASE_DATA, $BASE_LIB, $BACULA_USER, $changer, $argv;
+ $changer = $argv[1];
+ $taped = $argv[5];
+
+ $db = db_getDB($argv[1]);
+
+ $res = $db->query("select * from disk_list order by disk_id");
+
+ $tapeloc = conf_getVal($changer, "drivelocation");
+ $amloc = conf_getVal($changer, "automountdir");
+
+ $rl = "";
+ if(file_exists("$tapeloc/$changer-drive$taped")) {
+ $rl = basename(readlink("$tapeloc/$changer-drive$taped"));
+ } else {
+ echo "0\n";
+ exit(0);
+ }
+
+ $ret = false;
+ $i=-1;
+
+ $sql = "select slot_no from slots where tape_name=='$rl'";
+ $res = $db->query($sql);
+
+ foreach($res as $row) {
+ $i = $row[0];
+ }
+ if($i != -1) {
+ echo "$i\n";
+ return;
+ }
+
+ echo "0\n";
}
function list_tapes()
{
global $BASE_DATA, $BASE_LIB, $BACULA_USER, $changer, $argv;
+ $changer = $argv[1];
+
+ $db = db_getDB($argv[1]);
+
+ $res = $db->query("select * from slots order by slot_no");
+
+ $amloc = conf_getVal($changer, "automountdir");
+
+ foreach($res as $row) {
+ //echo "Listing tapes for disk ".$row["disk_id"].", ".$row["disk_name"]."\n";
+ //echo "dir: $amloc/".$row["disk_name"]."/pbdc/".$argv[1]."/tapes/\n";
+ //exit(0);
+ $tapename = $row["tape_name"];
+ $did = $row["disk_id"];
+ $sn = $row["slot_no"];
+ $res2 = $db->query("select disk_name from disk_list where disk_id=='$did'");
+ $dn = "";
+ foreach($res2 as $row2) {
+ $dn = $row2[0];
+ }
+ $tn = "$amloc/".$dn."/pbdc/".$argv[1]."/tapes/$tapename";
+ if(file_exists($tn)) {
+ echo "$sn:$tapename\n";
+ } else {
+ echo "$sn:\n";
+ }
+ }
+
}
function num_slots()
{
global $BASE_DATA, $BASE_LIB, $BACULA_USER, $changer, $argv;
+
+ $changer = $argv[1];
+
+ $db = db_getDB($argv[1]);
+
+ $res = $db->query("select max(slot_no) from slots");
+
+ foreach($res as $row) {
+ $mslot = $row[0];
+ }
+
+ echo "$mslot\n";
+ return;
+
+// $amloc = conf_getVal($changer, "automountdir");
+
+// $ret = false;
+// $i=1;
+// foreach($res as $row) {
+// //echo "Listing tapes for disk ".$row["disk_id"].", ".$row["disk_name"]."\n";
+// //echo "dir: $amloc/".$row["disk_name"]."/pbdc/".$argv[1]."/tapes/\n";
+// //exit(0);
+// $dh = opendir("$amloc/".$row["disk_name"]."/pbdc/".$argv[1]."/tapes/");
+// while(($file = readdir($dh)) !== false) {
+// if(ereg("d[0-9]+_vol[0-9]+", $file)!=false) {
+// $i++;
+// } else {
+// //echo "didnt match: $file\n";
+// }
+// //exit(0);
+// }
+// closedir($dh);
+// }
+// $i--;
+
+// echo "$i\n";
}