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) { } } ?>