/** * Upload a file into the repository. * * @uses $CFG * @uses $USER * @param string $upload The array index of the uploaded file. * @param string $path The full path to the file on the local filesystem. * @param string $uuid The UUID of the folder where the file is being uploaded to. * @param bool $useadmin Set to false to make sure that the administrative user configured in * the plug-in is not used for this operation (default: true). * @param string $filename The name of the file to be uploaded - used when a duplicate file is to be renamed * @param object $filemeta The file meta data of the file to be uploaded when overwriting * @return object Node values for the uploaded file. */ function elis_files_upload_file($upload = '', $path = '', $uuid = '', $useadmin = true, $filename = '', $olduuid = false, $filemeta = null) { global $CFG, $USER; require_once($CFG->libdir.'/filelib.php'); // assign file info from filemeta if ($filemeta) { $filename = empty($filename) ? $filemeta->name : $filename; $filepath = $filemeta->filepath.$filemeta->name; $filemime = $filemeta->type; $filesize = $filemeta->size; } else if (!empty($upload)) { if (!isset($_FILES[$upload]) || !empty($_FILES[$upload]->error)) { return false; } $filename = (empty($filename)) ? $_FILES[$upload]['name']: $filename; $filepath = $_FILES[$upload]['tmp_name']; $filemime = $_FILES[$upload]['type']; $filesize = $_FILES[$upload]['size']; } else if (!empty($path)) { if (!is_file($path)) { return false; } $filename = (empty($filename)) ? basename($path): $filename; $filepath = $path; $filemime = mimeinfo('type', $filename); $filesize = filesize($path); } else { return false; } if (!$repo = repository_factory::factory('elisfiles')) { return false; } if (!(ELIS_files::$version = elis_files_get_repository_version())) { return false; } // error_log("elis_files_upload_file('$upload', '$path', '$uuid', $useadmin): version = ". ELIS_files::$version); if (empty($uuid)) { $uuid = $repo->get_root()->uuid; } $xfermethod = get_config('elisfiles', 'file_transfer_method'); switch ($xfermethod) { case ELIS_FILES_XFER_WS: return elis_files_upload_ws($filename, $filepath, $filemime, $filesize, $uuid, $useadmin, $repo); break; case ELIS_FILES_XFER_FTP: return elis_files_upload_ftp($filename, $filepath, $filemime, $filesize, $uuid, $useadmin); break; default: // TBD // error_log("elis_files_upload_file(): Invalid ELIS files setting for 'file_transfer_method' = {$xfermethod}"); return false; } }
function get_defaults() { // Initialize the alfresco version if (!(self::$version = elis_files_get_repository_version())) { return false; } // Set the file and folder type if (!isset(self::$type_document)) { if (self::is_version('3.2')) { self::$type_folder = 'folder'; self::$type_document = 'document'; } else if (self::is_version('3.4')) { self::$type_folder = 'cmis:folder'; self::$type_document = 'cmis:document'; } } return true; }