Elgg  Version 2.3
Namespaces | Functions | Variables
filestore.php File Reference

Go to the source code of this file.

Namespaces

 Elgg\Core
 Activate a plugin or plugins.
 

Functions

 get_dir_size ($dir, $total_size=0)
 Get the size of the specified directory. More...
 
 get_uploaded_file ($input_name)
 Get the contents of an uploaded file. More...
 
 elgg_save_resized_image ($source, $destination=null, array $params=array())
 Crops and resizes an image. More...
 
 get_resized_image_from_uploaded_file ($input_name, $maxwidth, $maxheight, $square=false, $upscale=false)
 Gets the jpeg contents of the resized version of an uploaded image (Returns false if the uploaded file was not an image) More...
 
 get_resized_image_from_existing_file ($input_name, $maxwidth, $maxheight, $square=false, $x1=0, $y1=0, $x2=0, $y2=0, $upscale=false)
 Gets the jpeg contents of the resized version of an already uploaded image (Returns false if the file was not an image) More...
 
 get_image_resize_parameters ($width, $height, array $params=[])
 Calculate the parameters for resizing an image. More...
 
 file_delete ($guid)
 Delete an file. More...
 
 delete_directory ($directory)
 Delete a directory and all its contents. More...
 
 _elgg_clear_entity_files ($entity)
 Removes all entity files. More...
 
 get_default_filestore ()
 Return the default filestore. More...
 
 set_default_filestore (\ElggFilestore $filestore)
 Set the default filestore for the system. More...
 
 elgg_get_file_simple_type ($mime_type)
 Returns the category of a file from its MIME type. More...
 
 _elgg_filestore_boot ()
 Bootstraps the default filestore at "boot, system" event. More...
 
 _elgg_filestore_init ()
 Register file-related handlers on "init, system" event. More...
 
 _elgg_filestore_detect_mimetype ($hook, $type, $mime_type, $params)
 Fix MIME type detection for Microsoft zipped formats. More...
 
 _elgg_filestore_parse_simpletype ($hook, $type, $simple_type, $params)
 Parse a file category of file from a MIME type. More...
 
 _elgg_filestore_test ($hook, $type, $value)
 Unit tests for files. More...
 
 elgg_get_download_url (\ElggFile $file, $use_cookie=true, $expires= '+2 hours')
 Returns file's download URL. More...
 
 elgg_get_inline_url (\ElggFile $file, $use_cookie=false, $expires= '')
 Returns file's URL for inline display Suitable for displaying cacheable resources, such as user avatars. More...
 
 elgg_get_embed_url (\ElggEntity $entity, $size)
 Returns a URL suitable for embedding entity's icon in a text editor. More...
 
 _elgg_filestore_serve_icon_handler ()
 Handler for /serve-icon resources /serve-icon/<entity_guid>/<size> More...
 
 _elgg_filestore_touch_icons ($event, $type, $entity)
 Reset icon URLs if access_id has changed. More...
 
 _elgg_filestore_move_icons ($event, $type, $entity)
 Listen to entity ownership changes and update icon ownership by moving icons to their new owner's directory on filestore. More...
 
 elgg_get_uploaded_files ($input_name)
 Returns an array of uploaded file objects regardless of upload status/errors. More...
 

Variables

 $DEFAULT_FILE_STORE = null
 Variable holding the default datastore. More...
 
return function (\Elgg\EventsService $events,\Elgg\HooksRegistrationService $hooks)
 

Function Documentation

_elgg_clear_entity_files (   $entity)

Removes all entity files.

Warning
This only deletes the physical files and not their entities. This will result in FileExceptions being thrown. Don't use this function.
This must be kept in sync with .
Parameters
\ElggEntity$entityAn
Returns
void private

Definition at line 306 of file filestore.php.

_elgg_filestore_boot ( )

Bootstraps the default filestore at "boot, system" event.

Returns
void private

Definition at line 363 of file filestore.php.

_elgg_filestore_detect_mimetype (   $hook,
  $type,
  $mime_type,
  $params 
)

Fix MIME type detection for Microsoft zipped formats.

Parameters
string$hook"mime_type"
string$type"file"
string$mime_typeDetected MIME type
array$paramsHook parameters
Returns
string The MIME type private

Definition at line 412 of file filestore.php.

_elgg_filestore_init ( )

Register file-related handlers on "init, system" event.

Returns
void private

Definition at line 378 of file filestore.php.

_elgg_filestore_move_icons (   $event,
  $type,
  $entity 
)

Listen to entity ownership changes and update icon ownership by moving icons to their new owner's directory on filestore.

This will only transfer icons that have a custom location on filestore and are owned by the entity's owner (instead of the entity itself). Even though core icon service does not store icons in the entity's owner directory, there are plugins that do (e.g. file plugin) - this handler helps such plugins avoid ownership mismatch.

Parameters
string$event"update:after"
string$type"object"|"group"
ElggObject$entityEntity
Returns
void private

Definition at line 586 of file filestore.php.

_elgg_filestore_parse_simpletype (   $hook,
  $type,
  $simple_type,
  $params 
)

Parse a file category of file from a MIME type.

Parameters
string$hook"simple_type"
string$type"file"
string$simple_typeThe category of file
array$paramsHook parameters
Returns
string 'document', 'audio', 'video', or 'general' if the MIME type is unrecognized private

Definition at line 431 of file filestore.php.

_elgg_filestore_serve_icon_handler ( )

Handler for /serve-icon resources /serve-icon/<entity_guid>/<size>

Returns
void private
Since
2.2

Definition at line 537 of file filestore.php.

_elgg_filestore_test (   $hook,
  $type,
  $value 
)

Unit tests for files.

Parameters
string$hookunit_test
string$typesystem
mixed$valueArray of tests
Returns
array private

Definition at line 466 of file filestore.php.

_elgg_filestore_touch_icons (   $event,
  $type,
  $entity 
)

Reset icon URLs if access_id has changed.

Parameters
string$event"update:after"
string$type"object"|"group"
ElggObject$entityEntity
Returns
void private

Definition at line 552 of file filestore.php.

delete_directory (   $directory)

Delete a directory and all its contents.

Parameters
string$directoryDirectory to delete
Returns
bool

Definition at line 262 of file filestore.php.

elgg_get_download_url ( \ElggFile  $file,
  $use_cookie = true,
  $expires = '+2 hours' 
)

Returns file's download URL.

Note
This does not work for files with custom filestores.
Parameters
\ElggFile$fileFile object or entity (must have the default filestore)
bool$use_cookieLimit URL validity to current session only
string$expiresURL expiration, as a string suitable for strtotime()
Returns
string

Definition at line 482 of file filestore.php.

elgg_get_embed_url ( \ElggEntity  $entity,
  $size 
)

Returns a URL suitable for embedding entity's icon in a text editor.

We can not use elgg_get_inline_url() for these purposes due to a URL structure bound to user session and file modification time. This function returns a generic (permanent) URL that will then be resolved to an inline URL whenever requested.

Parameters
\ElggEntity$entityEntity
string$sizeSize
Returns
string
Since
2.2

Definition at line 525 of file filestore.php.

elgg_get_file_simple_type (   $mime_type)

Returns the category of a file from its MIME type.

Parameters
string$mime_typeThe MIME type
Returns
string 'document', 'audio', 'video', or 'general' if the MIME type was unrecognized
Since
1.10

Definition at line 352 of file filestore.php.

elgg_get_inline_url ( \ElggFile  $file,
  $use_cookie = false,
  $expires = '' 
)

Returns file's URL for inline display Suitable for displaying cacheable resources, such as user avatars.

Note
This does not work for files with custom filestores.
Parameters
\ElggFile$fileFile object or entity (must have the default filestore)
bool$use_cookieLimit URL validity to current session only
string$expiresURL expiration, as a string suitable for strtotime()
Returns
string

Definition at line 502 of file filestore.php.

elgg_get_uploaded_files (   $input_name)

Returns an array of uploaded file objects regardless of upload status/errors.

Parameters
string$input_nameForm input name
Returns
UploadedFile[]|false

Definition at line 640 of file filestore.php.

elgg_save_resized_image (   $source,
  $destination = null,
array  $params = array() 
)

Crops and resizes an image.

Parameters
string$sourcePath to source image
string$destinationPath to destination If not set, will modify the source image
array$paramsAn array of cropping/resizing parameters
  • INT 'w' represents the width of the new image With upscaling disabled, this is the maximum width of the new image (in case the source image is smaller than the expected width)
  • INT 'h' represents the height of the new image With upscaling disabled, this is the maximum height
  • INT 'x1', 'y1', 'x2', 'y2' represent optional cropping coordinates. The source image will first be cropped to these coordinates, and then resized to match width/height parameters
  • BOOL 'square' - square images will fill the bounding box (width x height). In Imagine's terms, this equates to OUTBOUND mode
  • BOOL 'upscale' - if enabled, smaller images will be upscaled to fit the bounding box.
Returns
bool
Since
2.3

Definition at line 81 of file filestore.php.

file_delete (   $guid)

Delete an file.

Parameters
int$guidGUID
Returns
bool

Definition at line 224 of file filestore.php.

get_default_filestore ( )

Return the default filestore.

Returns

Definition at line 323 of file filestore.php.

get_dir_size (   $dir,
  $total_size = 0 
)

Get the size of the specified directory.

Parameters
string$dirThe full path of the directory
int$total_sizeAdd to current dir size
Returns
int The size of the directory in bytes

Definition at line 20 of file filestore.php.

get_image_resize_parameters (   $width,
  $height,
array  $params = [] 
)

Calculate the parameters for resizing an image.

Parameters
int$widthNatural width of the image
int$heightNatural height of the image
array$paramsResize parameters
  • 'maxwidth' maximum width of the resized image
  • 'maxheight' maximum height of the resized image
  • 'upscale' allow upscaling
  • 'square' constrain to a square
  • 'x1', 'y1', 'x2', 'y2' cropping coordinates
Returns
array|false
Since
1.7.2

Definition at line 193 of file filestore.php.

get_resized_image_from_existing_file (   $input_name,
  $maxwidth,
  $maxheight,
  $square = false,
  $x1 = 0,
  $y1 = 0,
  $x2 = 0,
  $y2 = 0,
  $upscale = false 
)

Gets the jpeg contents of the resized version of an already uploaded image (Returns false if the file was not an image)

Parameters
string$input_nameThe name of the file on the disk
int$maxwidthThe desired width of the resized image
int$maxheightThe desired height of the resized image
bool$squareIf set to true, takes the smallest of maxwidth and maxheight and use it to set the dimensions on the new image. If no crop parameters are set, the largest square that fits in the image centered will be used for the resize. If square, the crop must be a square region.
int$x1x coordinate for top, left corner
int$y1y coordinate for top, left corner
int$x2x coordinate for bottom, right corner
int$y2y coordinate for bottom, right corner
bool$upscaleResize images smaller than $maxwidth x $maxheight?
Returns
false|mixed The contents of the resized image, or false on failure

Definition at line 143 of file filestore.php.

get_resized_image_from_uploaded_file (   $input_name,
  $maxwidth,
  $maxheight,
  $square = false,
  $upscale = false 
)

Gets the jpeg contents of the resized version of an uploaded image (Returns false if the uploaded file was not an image)

Parameters
string$input_nameThe name of the file input field on the submission form
int$maxwidthThe maximum width of the resized image
int$maxheightThe maximum height of the resized image
bool$squareIf set to true, will take the smallest of maxwidth and maxheight and use it to set the dimensions on all size; the image will be cropped.
bool$upscaleResize images smaller than $maxwidth x $maxheight?
Returns
false|mixed The contents of the resized image, or false on failure

Definition at line 100 of file filestore.php.

get_uploaded_file (   $input_name)

Get the contents of an uploaded file.

(Returns false if there was an issue.)

Parameters
string$input_nameThe name of the file input field on the submission form
Returns
mixed|false The contents of the file, or false on failure.

Definition at line 46 of file filestore.php.

set_default_filestore ( \ElggFilestore  $filestore)

Set the default filestore for the system.

Parameters
\ElggFilestore$filestoreAn object.
Returns
true

Definition at line 337 of file filestore.php.

Variable Documentation

$DEFAULT_FILE_STORE = null

Variable holding the default datastore.

Definition at line 315 of file filestore.php.

Definition at line 644 of file filestore.php.