diff options
Diffstat (limited to 'engine/lib/filestore.php')
| -rw-r--r-- | engine/lib/filestore.php | 417 | 
1 files changed, 0 insertions, 417 deletions
| diff --git a/engine/lib/filestore.php b/engine/lib/filestore.php index 0c9f8107c..bbede0415 100644 --- a/engine/lib/filestore.php +++ b/engine/lib/filestore.php @@ -375,423 +375,6 @@ function file_get_general_file_type($mimetype) {  }  /** - * Not currently used - * - * @todo remove - * - * @param string $prefix  Unknown - * @param string $subtype Unknown - * @param string $plugin  Unknown - * - * @return void - */ -function file_handle_upload($prefix, $subtype, $plugin) { -	$desc = get_input("description"); -	$tags = get_input("tags"); -	$tags = explode(",", $tags); -	$folder = get_input("folder_text"); -	if (!$folder) { -		$folder = get_input("folder_select"); -	} -	$access_id = (int) get_input("access_id"); -	$container_guid = (int) get_input('container_guid', 0); -	if (!$container_guid) { -		$container_guid == get_loggedin_userid(); -	} - -	// Extract file from, save to default filestore (for now) - -	// see if a plugin has set a quota for this user -	$params = array('container_guid'=>$container_guid); -	$file_quota = trigger_plugin_hook("$plugin:quotacheck", 'user', $param); - -	if (!$file_quota) { -		// no, see if there is a generic quota set -		$file_quota = get_plugin_setting('quota', $plugin); -	} -	if ($file_quota) { -		// convert to megabytes -		$file_quota = $file_quota * 1000 * 1024; -	} - -	// handle uploaded files -	$number_of_files = get_input('number_of_files', 0); -	$quota_exceeded = false; -	$bad_mime_type = false; - -	for ($i = 0; $i < $number_of_files; $i++) { -		$title = get_input("title_" . $i); -		$uploaded = $_FILES["upload_" . $i]; -		if (!$uploaded || !$uploaded['name']) { -			// no such file, so skip it -			continue; -		} -		if ($plugin == "photo") { -			// do a mime type test -			$supported_types = array( -								'image/jpeg', -								'image/gif', -								'image/png', -								'image/jpg', -								'image/jpe', -								'image/pjpeg', -								'image/x-png' -							); -			if (in_array($uploaded['type'], $supported_types)) { -				$file = new PhotoPluginFile(); -			} else { -				$bad_mime_type = true; -				break; -			} -		} else { -			$file = new FilePluginFile(); -		} -		$dir_size = $file->getFilestoreSize($prefix, $container_guid); -		$filestorename = strtolower(time() . $uploaded['name']); -		$file->setFilename($prefix . $filestorename); -		$file->setMimeType($uploaded['type']); - -		$file->originalfilename = $uploaded['name']; - -		$file->subtype = $subtype; - -		$file->access_id = $access_id; - -		$uf = get_uploaded_file('upload_' . $i); - -		if ($file_quota) { -			$file_size = strlen($uf); -			if (($dir_size + $file_size) > $file_quota) { -				$quota_exceeded = true; -			} -		} - -		if (!$quota_exceeded) { -			// all clear, so try to save the data - -			$file->open("write"); -			$file->write($uf); -			$file->close(); - -			$file->title = $title; -			$file->description = $desc; -			if ($container_guid) { -				$file->container_guid = $container_guid; -			} - -			// Save tags -			$file->tags = $tags; - -			$file->simpletype = file_get_general_file_type($uploaded['type']); -			$file->folder = $folder; - -			$result = $file->save(); - -			if ($result) { - -				// Generate thumbnail (if image) -				if (substr_count($file->getMimeType(), 'image/')) { -					$thumbnail = get_resized_image_from_existing_file($file->getFilenameOnFilestore(), 60, -						60, true); -					$thumbsmall = get_resized_image_from_existing_file($file->getFilenameOnFilestore(), 153, -						153, true); -					$thumblarge = get_resized_image_from_existing_file($file->getFilenameOnFilestore(), 600, -						600, false); - -					if ($thumbnail) { -						$thumb = new ElggFile(); -						$thumb->setMimeType($uploaded['type']); - -						$thumb->setFilename($prefix . "thumb" . $filestorename); -						$thumb->open("write"); -						$thumb->write($thumbnail); -						$thumb->close(); - -						$file->thumbnail = $prefix . "thumb" . $filestorename; - -						$thumb->setFilename($prefix . "smallthumb" . $filestorename); -						$thumb->open("write"); -						$thumb->write($thumbsmall); -						$thumb->close(); -						$file->smallthumb = $prefix . "smallthumb" . $filestorename; - -						$thumb->setFilename($prefix . "largethumb" . $filestorename); -						$thumb->open("write"); -						$thumb->write($thumblarge); -						$thumb->close(); -						$file->largethumb = $prefix . "largethumb" . $filestorename; -					} -				} - -				// add to this user's file folders -				file_add_to_folders($folder, $container_guid, $plugin); - -				add_to_river("river/object/$plugin/create", 'create', $_SESSION['user']->guid, $file->guid); -			} else { -				break; -			} -		} else { -			break; -		} -	} - -	if ($quota_exceeded) { -		echo elgg_echo("$plugin:quotaexceeded"); -	} else if ($bad_mime_type) { -		echo elgg_echo("$plugin:badmimetype"); -	} else if ($result) { -		if ($number_of_files > 1) { -			echo elgg_echo("$plugin:saved_multi"); -		} else { -			echo elgg_echo("$plugin:saved"); -		} -	} else { -		if ($number_of_files > 1) { -			echo elgg_echo("$plugin:uploadfailed_multi"); -		} else { -			echo elgg_echo("$plugin:uploadfailed"); -		} -	} -} - -/** - * @todo remove - * - * @param unknown_type $folder - * @param unknown_type $container_guid - * @param unknown_type $plugin - */ -function file_add_to_folders($folder, $container_guid, $plugin) { -	if ($container_guid && ($container = get_entity($container_guid))) { -		$folder_field_name = 'elgg_' . $plugin . '_folders'; -		$folders = $container->$folder_field_name; -		if ($folders) { -			if (is_array($folders)) { -				if (!in_array($folder, $folders)) { -					$folders[] = $folder; -					$container->$folder_field_name = $folders; -				} -			} else { -				if ($folders != $folder) { -					$container->$folder_field_name = array($folders, $folder); -				} -			} -		} else { -			$container->$folder_field_name = $folder; -		} -	} -} - -/** - * @todo remove - * - * @param unknown_type $forward - * @param unknown_type $plugin - */ -function file_handle_save($forward, $plugin) { -	// Get variables -	$title = get_input("title"); -	$desc = get_input("description"); -	$tags = get_input("tags"); -	$folder = get_input("folder_text"); -	if (!$folder) { -		$folder = get_input("folder_select"); -	} -	$access_id = (int) get_input("access_id"); - -	$guid = (int) get_input('file_guid'); - -	if (!$file = get_entity($guid)) { -		register_error(elgg_echo("$plugin:uploadfailed")); -		forward($forward . $_SESSION['user']->username); -		exit; -	} - -	$result = false; - -	$container_guid = $file->container_guid; -	$container = get_entity($container_guid); - -	if ($file->canEdit()) { -		$file->access_id = $access_id; -		$file->title = $title; -		$file->description = $desc; -		$file->folder = $folder; -		// add to this user's file folders -		file_add_to_folders($folder, $container_guid, $plugin); - -		// Save tags -		$tags = explode(", ", $tags); -		$file->tags = $tags; - -		$result = $file->save(); -	} - -	if ($result) { -		system_message(elgg_echo("$plugin:saved")); -	} else { -		register_error(elgg_echo("$plugin:uploadfailed")); -	} -	forward($forward . $container->username); -} - -/** - * Manage a file download. - * - * @todo remove - * - * @param unknown_type $plugin    Unknown - * @param unknown_type $file_guid If not specified then file_guid will be found in input. - */ -function file_manage_download($plugin, $file_guid = "") { -	// Get the guid -	$file_guid = (int)$file_guid; - -	if (!$file_guid) { -		$file_guid = (int)get_input("file_guid"); -	} - -	// Get the file -	$file = get_entity($file_guid); - -	if ($file) { -		$mime = $file->getMimeType(); -		if (!$mime) { -			$mime = "application/octet-stream"; -		} - -		$filename = $file->originalfilename; - -		header("Content-type: $mime"); -		if (strpos($mime, "image/")!==false) { -			header("Content-Disposition: inline; filename=\"$filename\""); -		} else { -			header("Content-Disposition: attachment; filename=\"$filename\""); -		} - -		echo $file->grabFile(); -		exit; -	} else { -		register_error(elgg_echo("$plugin:downloadfailed")); -	} -} - -/** - * Manage the download of a file icon. - * - * @todo remove - * @param unknown_type $plugin - * @param unknown_type $file_guid The guid, if not specified this is obtained from the input. - */ -function file_manage_icon_download($plugin, $file_guid = "") { -	// Get the guid -	$file_guid = (int)$file_guid; - -	if (!$file_guid) { -		$file_guid = (int)get_input("file_guid"); -	} - -	// Get the file -	$file = get_entity($file_guid); - -	if ($file) { -		$mime = $file->getMimeType(); -		if (!$mime) { -			$mime = "application/octet-stream"; -		} - -		$filename = $file->thumbnail; - -		header("Content-type: $mime"); -		if (strpos($mime, "image/")!==false) { -			header("Content-Disposition: inline; filename=\"$filename\""); -		} else { -			header("Content-Disposition: attachment; filename=\"$filename\""); -		} - -		$readfile = new ElggFile(); -		$readfile->owner_guid = $file->owner_guid; -		$readfile->setFilename($filename); - -		/* -		if ($file->open("read")); -		{ -			while (!$file->eof()) -			{ -				echo $file->read(10240, $file->tell()); -			} -		} -		*/ - -		$contents = $readfile->grabFile(); -		if (empty($contents)) { -			echo file_get_contents(dirname(dirname(__FILE__)) . "/graphics/icons/general.jpg" ); -		} else { -			echo $contents; -		} -		exit; -	} else { -		register_error(elgg_echo("$plugin:downloadfailed")); -	} -} - -/** - * @todo remove - * - * @param unknown_type $file_guid - * @param unknown_type $size - */ -function file_display_thumbnail($file_guid, $size) { -	// Get file entity -	if ($file = get_entity($file_guid)) { -		$simpletype = $file->simpletype; -		if ($simpletype == "image") { -			// Get file thumbnail -			if ($size == "small") { -				$thumbfile = $file->smallthumb; -			} else { -				$thumbfile = $file->largethumb; -			} - -			// Grab the file -			if ($thumbfile && !empty($thumbfile)) { -				$readfile = new ElggFile(); -				$readfile->owner_guid = $file->owner_guid; -				$readfile->setFilename($thumbfile); -				$mime = $file->getMimeType(); -				$contents = $readfile->grabFile(); - -				header("Content-type: $mime"); -				echo $contents; -				exit; -			} -		} -	} -} - -/** - * @todo remove - * - * @param unknown_type $file - */ -function file_set_page_owner($file) { -	$page_owner = page_owner_entity(); -	if ($page_owner === false || is_null($page_owner)) { -		$container_guid = $file->container_guid; -		if (!empty($container_guid)) { -			if ($page_owner = get_entity($container_guid)) { -				set_page_owner($page_owner->guid); -			} -		} - -		if (empty($page_owner)) { -			$page_owner = $_SESSION['user']; -			set_page_owner($_SESSION['guid']); -		} -	} -} - -/**   * Delete a directory and all its contents   *   * @param str $directory Directory to delete | 
