documentModify.inc
2.36 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
<?php
/***
* Class documentModify.inc
*
* Contains all functions required to upload, alter and
* delete a document.
*
* @author Rob Cherry, Jam Warehouse (Pty) Ltd, South Africa
* @date 13 January 2003
*/
require_once ("$default->owl_root_url/lib/owl.lib.php");
class DocumentModify {
/**
* Upload and store a new document
*
* @param $aUserDocument An array containing uploaded file information generated by calling
* uploadCompat($varname) in owl.lib.php
* @param $iFolderID Folder in which to store document
*
* @return true on successful upload and storage, false otherwise and set $_SESSION["errorMessage"]
*
* @todo add URL functionality
*/
function uploadDocument($aUserDocument, $iFolderID) {
global $lang_fileexists, $lang_err_upload;
//check if the user has folder write permissions
if ($this->hasFolderWritePermissions($iFolderID) || $this->hasWriteRoleForFolder($iFolderID) || $this->isInGroup("System Administrators")) {
//if the user is within his quota after uploading the file
if (isWithinQuote($aUserDocument["size"])) {
$sNewPath = $this->generatePath($iFolderID);
//if the file already exists, return false and display an error
if(file_exists($sNewPath . $aUserDocument["name"])) {
$_SESSION["errorMessage"] = $lang_fileexists
return false;
}
copy($userfile["tmp_name"], $sNewPath);
unlink($userfile["tmp_name"]);
if(!file_exists($sNewPath)) {
if ($default->debug == true) {
$_SESSION["errorMessage"] = $lang_err_upload . "," .$sNewPath;
return false;
} else {
$_SESSION["errorMessage"] = $lang_err_upload;
return false;
}
}
}
}
}
/**
* Generate the path for the current folder by recursing up the tree to its parents
*
* @return path
*/
function generatePath($iFolderID) {
return "";
}
/**
* Checks whether the user will be within his/her current quota if a new file is uploaded
*
* @param $iNewFileSize Size of new file
*
* @return true if the user is within quota, false otherwise and sets $_SESSION["errorMessage"]
*/
function isWithinQuota($iNewFileSize) {
return true;
}
/**
* Generates a path for a folder
*
* @param $sFolderName Name of folder to generate path for
*
* @returns generated path
*/
function generatePath($sFolderName) {
}
}
?>