file datastore work
[glcas.git] / lib / plugins / datastore.php
1 <?php
2 global $BASE_URLS, $MENU_ITEMS, $GLOBAL_BASE_URL;
3
4 $BASE_URLS["ds"]["base"] = "ds"; // ap for apt-proxy
5 $BASE_URLS["ds"]["function"] = "ds_contentUrls"; // the page builder function for us
6 $MENU_ITEMS["ds"]["title"] = "DataStores";
7 $MENU_ITEMS["ds"]["link"] = "/ds/control";
8
9
10 function ds_contentPane()
11 {
12         echo "i am a ds content pane<br>";
13 }
14
15 function ds_leftMenu()
16 {
17         echo "i am a ds leftmenu";
18 }
19
20 function ds_contentUrls()
21 {
22         $calls["needs_base_page"] = true;
23         $calls["content_pane_function"] = "ds_contentPane";
24         $calls["left_menu_function"] = "ds_leftMenu";
25         
26         return $calls;
27 }
28
29 function ds_createDS($ds_name, $store_location)
30 {
31         db_createTable("datastores", "dsname", "dslocation");
32         db_createTable("datastores_files", "dsname", "fileowner", "filename", "dsfname");
33         
34         $data = db_selectData("datastores", "dsname", "$ds_name");
35         if(isset($data[0]["dsname"])) return false;
36         
37         db_insertData("datastores", "$ds_name", "$store_location");
38 }
39
40 function ds_listDS()
41 {
42         return db_selectData("datastores");
43 }
44
45 function ds_deleteFile($ds_name, $file_name, $file_tag)
46 {
47         $dlk = db_selectData("datastores_files", "filename", $file_name);
48         $afname = "";
49         foreach($dlk as $kmm) {
50                 if($kmm["fileowner"] == $file_tag) {
51                         // we got ya
52                         $afname = $kmm["dsfname"];
53                         if(file_exists($afname)) unlink($afname);
54                         echo "name was: $afname\n";
55                 }
56         }
57         echo "now delete name was: $afname\n";
58         if($afname != "") db_deleteData("datastores_files", "dsfname", $afname);
59 }
60
61 // returns a file name to the location a file can be created
62 function ds_fileds($ds_name, $file_name, $file_tag)
63 {
64
65         $data = db_selectData("datastores", "dsname", "$ds_name");
66         
67         $dtime = time();
68         $made_file_name = "$dtime-".md5($file_name)."-".basename($file_name);
69         
70         $act_fname = $data[0]["dslocation"]."/".basename($made_file_name);
71         
72         db_insertData("datastores_files", "$ds_name", "$file_tag", "$file_name", "$act_fname");
73         
74         return $act_fname;
75 }
76
77 function ds_getFileList($ds_name, $file_tag)
78 {
79         $list = db_selectData("datastores_files", "fileowner", "$file_tag");
80         
81         return $list;
82 }
83
84
85 function ds_deleteDS($ds_name)
86 {
87         db_deleteData("datastores", "dsname", "$ds_name");
88         db_deleteData("datastores_files", "dsname", $ds_name);
89 }
90
91 function ds_downloadAndStore($ds_name, $file_id, $file_name, $file_url)
92 {
93         
94 }
95
96 ?>