storagemanager.inc.php
3.57 KB
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
<?php
/**
* Manages the storage and storage location of a file.
*
* The Document Manager may only use setDiskPath on the oDocument
* object, and should not update the document object.
*/
class KTStorageManager {
/**
* Puts the given file into storage, and saves the storage details
* into the document.
*/
function upload (&$oDocument, $sTmpFilePath) {
return PEAR::raiseError("Not implemented");
}
/**
* Gets the latest verison of a document's contents from storage and
* writes it to the standard content with HTTP headers as an
* attachment.
*/
function download (&$oDocument) {
return PEAR::raiseError("Not implemented");
}
/**
* Gets a specific version of a document's contents from storage and
* writes it to the standard content with HTTP headers.
*/
function downloadVersion (&$oDocument) {
return PEAR::raiseError("Not implemented");
}
/**
* Gets the latest verison of a document's contents from storage and
* writes it to the standard content with HTTP headers for inline
* view.
*/
function inlineView (&$oDocument) {
return PEAR::raiseError("Not implemented");
}
/**
* Performs any storage changes necessary to account for a changed
* repository path.
*
* The info arrays must contain the following information:
* "names" => an array of the names of the folders in the path
* from the root of the repository
* ("Root Folder", "foo", "bar", "baz")
* "ids" => an array of the ids of the folders in the path from
* the root of the repository
* (1, 3, 9, 27)
*/
function move (&$oDocument, $aOldInfo, $aNewInfo) {
return PEAR::raiseError("Not implemented");
}
/**
* Perform any storage changes necessary to account for moving one
* tree in the repository to a different location.
*/
function moveFolder ($oFolder, $oDestFolder) {
return PEAR::raiseError("Not implemented");
}
/**
* Performs any storage changes necessary to account for the
* document being marked as deleted.
*/
function delete (&$oDocument) {
return PEAR::raiseError("Not implemented");
}
/**
* Remove the documents (already marked as deleted) from the
* storage.
*/
function expunge (&$oDocument) {
return PEAR::raiseError("Not implemented");
}
/**
* Performs any storage changes necessary to account for the
* document (previously marked as deleted) being restored.
*/
function restore (&$oDocument) {
return PEAR::raiseError("Not implemented");
}
function getPath(&$oDocument) {
return PEAR::raiseError("Not implemented");
}
function setPath(&$oDocument) {
return PEAR::raiseError("Not implemented");
}
function generatePath(&$oDocument) {
return PEAR::raiseError("Not implemented");
}
function createFolder($sFolderPath) {
return PEAR::raiseError("Not implemented");
}
}
class KTStorageManagerUtil {
function &getSingleton() {
$oConfig =& KTConfig::getSingleton();
$sDefaultManager = 'KTOnDiskPathStorageManager';
$klass = $oConfig->get('storage/manager', $sDefaultManager);
if (!class_exists($klass)) {
$klass = $sDefaultManager;
}
if (!KTUtil::arrayGet($GLOBALS, 'KTStorageManager')) {
$GLOBALS['KTStorageManager'] =& new $klass;
}
return $GLOBALS['KTStorageManager'];
}
}
?>