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 |