documentModify.inc 2.36 KB
<?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) {
		
	}
	
	

	
}

?>