Hugo Sales
f388554166
[ATTACHMENTS][EVENT] Add onHashFile event, which can be used to deduplicate files
...
Currently, we simply hash the contents of the file with sha256, but in the future we can use something smarter,
which could find visual feature similarity between images
2021-04-27 20:53:59 +00:00
Hugo Sales
b4ad396cd1
[FORMATTING] Add utilities to remove affixes from strings
2021-04-27 20:52:12 +00:00
Hugo Sales
c3473e45d2
[DEPENDENCIES] Add 'embed/embed', 'nyholm/psr7' and 'symfony/dom-crawler'
2021-04-27 20:50:43 +00:00
Hugo Sales
075b495f5a
[ENTITY] Add utils to Attachment and AttachmentThumbnail to get the corresponding URL and html representation parameters
2021-04-27 18:10:18 +00:00
Hugo Sales
9b3ccac246
[UTIL] Add TemporaryFile class, courtesy of Alexei Sorokin from v2, a class that ensures files stored in /tmp are removed, as it doesn't happen in some cases
2021-04-27 18:10:18 +00:00
Hugo Sales
82d9326343
[PLUGINS] Remove scripts. These will need to be implemented with Commands
2021-04-27 18:10:18 +00:00
Hugo Sales
464406cccc
[Emebed] Add Embed plugin and initial cleanup
2021-04-27 18:10:18 +00:00
Hugo Sales
2782aa9924
[UI] Use event 'ShowAttachment' to permit plugins like Embed to alter the representation
2021-04-27 18:10:18 +00:00
Hugo Sales
1df7be7e8a
[UTIL] Add method to validate url
2021-04-27 18:10:18 +00:00
Hugo Sales
792a9f097c
[HTTPClient] Add utility functions for all HTTP methods
2021-04-27 18:10:18 +00:00
Hugo Sales
4649ee9e71
[DB] Make DB::findOneBy throw a different exception if two values are found
2021-04-27 18:10:18 +00:00
Hugo Sales
c1db9bd0a3
[Posting] Extract and store URLs from note content. Introduce 'AttachmentStoreNew' event
2021-04-25 21:20:28 +00:00
Hugo Sales
cc47cda3d1
[TESTS] Fix Nickname test
2021-04-23 15:38:26 +00:00
Hugo Sales
1503c98f26
[Favourite] Make twig event operate on array rather than string
2021-04-23 12:55:42 +00:00
Hugo Sales
b82658e345
[SECURITY][DB] Make user register 'atomic', by using a single transaction for inserting all objects, to avoid partial inserts
2021-04-23 12:54:25 +00:00
Hugo Sales
1bad2fa050
[TESTS] Fix wrong namespace in tests
2021-04-22 18:26:00 +00:00
Hugo Sales
926d0af663
[PLUGIN] Change base class from Module to Plugin for all plugins
2021-04-19 18:51:42 +00:00
Hugo Sales
0a7496de1e
[AVATAR] Display avatar rounded
2021-04-19 18:41:40 +00:00
Diogo Peralta Cordeiro
9814baf192
[UI] Use thumbnail path for thumbs
2021-04-19 13:22:50 +01:00
Hugo Sales
5ec7717fa1
[ATTACHMENTS] Move thumbnail controller to core and cleanup
2021-04-19 13:22:50 +01:00
Hugo Sales
d316f9dd6f
[ImageEncoder] Change preferred type to always be WEBP
2021-04-19 13:22:50 +01:00
Hugo Sales
529ec19801
[AVATAR] Display avatar as round on the default theme
2021-04-19 13:22:50 +01:00
Hugo Sales
e105889a59
[AVATAR] Fix JS cropping script and save square image, in case other themes need it
2021-04-19 13:22:50 +01:00
Hugo Sales
c37a75cf7b
[ImageEncoder] Move DB::persist call to AttachmentThumbnail
2021-04-19 13:22:40 +01:00
Hugo Sales
a33a25983e
[ImageEncoder] Fix error when not providing a width and/or height
2021-04-19 13:22:26 +01:00
Diogo Peralta Cordeiro
2f137f8b44
[ATTACHMENTS] Even more further refactoring
...
Introduce Encoder plugins Instead of abstract upload and thumb modules
Ported attachment routes. In v3 thumbnail depends on existing attachment
so route updated accordingly.
2021-04-19 13:22:04 +01:00
Diogo Peralta Cordeiro
0f52638a80
[ATTACHMENTS] Further refactoring
...
Some key points:
- Components and Plugins shouldn't extend Module directly
- Avatars should be fetched via GSActor ID, not by nickname as that isn't unique
- Avatar now is a separate Component
- Common file utilities are now to be placed in Core\GSFile, this will
handle storage and trigger validation
- Some bug fixes
2021-04-19 13:21:32 +01:00
Hugo Sales
bbc2fe1b5a
[ENTITY] Cache AttachmentThumbnail query result
2021-04-16 20:28:39 +01:00
Hugo Sales
45a894c953
[Poll] Move tables from core to plugin
2021-04-16 20:28:39 +01:00
Hugo Sales
c8915df31e
[ImageThumbnail] Finish image thumbnailing functionality
2021-04-16 20:28:39 +01:00
Hugo Sales
f6dea6e162
[DB] Fix bug in custom criteria format wrangling
2021-04-16 20:28:39 +01:00
Hugo Sales
ec8ad1888a
[DEPENDENCIES] Add php-vips
2021-04-16 20:28:39 +01:00
Hugo Sales
8a280c349f
[TOOLS] In pre-commit hook, only run php-doc-check if some PHP file changed
2021-04-16 20:28:39 +01:00
Hugo Sales
cbb36c9531
[DOCKER] Add VIPS PHP extension to Docker build
2021-04-16 20:28:39 +01:00
Hugo Sales
acf5bd1ff5
[ImageThumbnail] Implement image resizing with Intervention/Image
2021-04-16 20:28:39 +01:00
Hugo Sales
6dd6491bee
[ImageThumbnail] Structure of plugin to generate thumbnails for image attachments
2021-04-16 20:28:39 +01:00
Hugo Sales
2f65311ae6
[DB] Allow DQL queries with table name rather than entity
2021-04-16 20:28:39 +01:00
Hugo Sales
cadd48922d
[CORE] Add functionality to App\Core\Controller to get and validate GET parameters
2021-04-16 20:28:39 +01:00
Hugo Sales
2232f28283
[Posting] Rename file to attachment and cache result of actor tag query
2021-04-16 20:28:39 +01:00
Hugo Sales
b639ce906c
[MEDIA] Rename File to Attachment
2021-04-16 20:28:39 +01:00
Hugo Sales
d6414e51a2
[CORE] Rename NoteScope to VisibilityScope, as it will be used for attachment visbility too
2021-04-16 20:28:39 +01:00
Hugo Sales
1fda65bc3d
[DB] Add table map which allows using table names rather than entities in Doctrine operations
2021-04-16 20:28:39 +01:00
Hugo Sales
a5505bf848
[AUTOGENERATED] Update autogenerated code
2021-04-16 20:28:39 +01:00
Hugo Sales
678d62781b
[Directory] Fixup directory plugin
2021-04-16 20:28:39 +01:00
Diogo Peralta Cordeiro
b5ffe8a52b
[DOCUMENTATION] Three books instead of only one
...
The User one is intended to illustrate the various common use cases, possibilities regarding customization and introduce the existing functionalities.
The Administrator one explains the step by step of how to install and maintain a GNU social instance, be it as node of The Free Network or as an intranet social network in a company setting.
The Developer one starts by introducing the Modules system and architecture, then the plugin development process and finally the exciting internals of GNU social for those looking forward to make the most advanced contributions.
2021-04-16 20:28:23 +01:00
Diogo Peralta Cordeiro
8e9da452c6
[MEDIA] Refactor File as Attachment
2021-04-16 20:27:33 +01:00
Hugo Sales
8fc2a83e3c
[CONFIG][TWIG] Move twig config to php code to add support for placing templates in modules (plugins and components)
2021-04-16 20:21:54 +01:00
Hugo Sales
f4e40002a4
[Directory] Move templates from core to plugin
2021-04-16 20:21:54 +01:00
Hugo Sales
8c6881f526
[COMPOSER][Media] Add example composer.json in plugins/Media
2021-04-16 20:21:54 +01:00
Hugo Sales
0802f7a9e3
[TWIG] Add way to launch events from TWIG, capture service and add way to render from a string
2021-04-16 20:21:54 +01:00