gnu-social/plugins/StoreRemoteMedia
Diogo Peralta Cordeiro 05f16a3084
[ENTITY][AttachmentThumbnail] Now thumbnails are always only available in three sizes: small, medium, big
Commit jointly produced with eli (Eliseu Amaro)

Breaking change: Entity changed to only store the tinyint referring to the size stored

With this, the logic was simplified and now it's not possible to make an
instance produce unnecessary thumbs. The aspect ratio is preserved and
thus the thumbs will always look nice. New configuration was added to
maintain flexibility.
2021-09-22 15:13:46 +01:00
..
README.md [MEDIA] Allow thumbnail only entries 2021-02-21 16:03:47 +00:00
StoreRemoteMedia.php [ENTITY][AttachmentThumbnail] Now thumbnails are always only available in three sizes: small, medium, big 2021-09-22 15:13:46 +01:00

The StoreRemoteMedia plugin downloads remotely attached files to local server.

IMPORTANT: If using both Embed and StoreRemoteMedia plugins, Embed should be added first.

Installation

add addPlugin('StoreRemoteMedia'); to the bottom of your config.php

Settings

  • domain_whitelist: Array of regular expressions. Always escape your dots and end your strings.
  • check_whitelist: Whether to check the domain_whitelist.

When check_whitelist is set, only images from URLs matching a regex in the domain_whitelist array are accepted for local storage.

  • thumbnail_width: Maximum width of the thumbnail in pixels. Defaults to global [thumbnail][width].
  • thumbnail_height: Maximum height of the thumbnail in pixels. Defaults to global [thumbnail][height].
  • crop: Crop to the size (not preserving aspect ratio). Defaults to global [thumbnail][crop].
  • max_size: Max media size. Anything bigger than this is rejected. Defaults to global [attachments][file_quota].
  • store_original: Whether to maintain a copy of the original media or only a thumbnail of it. Defaults to false.

Example

addPlugin('StoreRemoteMedia', [
    'domain_whitelist' => [
        '^i\d*\.ytimg\.com$' => 'YouTube',
        '^i\d*\.vimeocdn\.com$' => 'Vimeo'
    ],
    'check_whitelist' => true,
]);