Commit Graph

19257 Commits

Author SHA1 Message Date
Hugo Sales b647e31495
[DEPENDENCIES] Add 'embed/embed', 'nyholm/psr7' and 'symfony/dom-crawler' 2021-09-14 13:12:51 +01:00
Hugo Sales 9a7f1358c2
[ENTITY] Add utils to Attachment and AttachmentThumbnail to get the corresponding URL and html representation parameters 2021-09-14 13:12:51 +01:00
Hugo Sales 2a74dced22
[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-09-14 13:12:51 +01:00
Hugo Sales 7dab063a72
[PLUGINS] Remove scripts. These will need to be implemented with Commands 2021-09-14 13:12:48 +01:00
Hugo Sales 3d8c348cb8
[Emebed] Add Embed plugin and initial cleanup 2021-09-14 13:12:24 +01:00
Hugo Sales 2d91095260
[UI] Use event 'ShowAttachment' to permit plugins like Embed to alter the representation 2021-09-14 13:12:23 +01:00
Hugo Sales 94edad43d9
[UTIL] Add method to validate url 2021-09-14 13:12:23 +01:00
Hugo Sales 5c78def973
[HTTPClient] Add utility functions for all HTTP methods 2021-09-14 13:12:23 +01:00
Hugo Sales 1b8f5b7bf0
[DB] Make DB::findOneBy throw a different exception if two values are found 2021-09-14 13:12:23 +01:00
Hugo Sales e94df546c3
[Posting] Extract and store URLs from note content. Introduce 'AttachmentStoreNew' event 2021-09-14 13:12:23 +01:00
Hugo Sales ae0e410986
[TESTS] Fix Nickname test 2021-09-14 13:12:23 +01:00
Hugo Sales 8dff0b1d0c
[Favourite] Make twig event operate on array rather than string 2021-09-14 13:12:23 +01:00
Hugo Sales 7a90e844b7
[SECURITY][DB] Make user register 'atomic', by using a single transaction for inserting all objects, to avoid partial inserts 2021-09-14 13:12:23 +01:00
Hugo Sales 77655c1248
[TESTS] Fix wrong namespace in tests 2021-09-14 13:12:23 +01:00
Hugo Sales aeabf64051
[PLUGIN] Change base class from Module to Plugin for all plugins 2021-09-14 13:12:23 +01:00
Hugo Sales a66118aee7
[AVATAR] Display avatar rounded 2021-09-14 13:12:22 +01:00
Diogo Peralta Cordeiro 3afa872cec
[UI] Use thumbnail path for thumbs 2021-09-14 13:12:22 +01:00
Hugo Sales e1995f44ce
[ATTACHMENTS] Move thumbnail controller to core and cleanup 2021-09-14 13:12:22 +01:00
Hugo Sales 3a7e92ed01
[ImageEncoder] Change preferred type to always be WEBP 2021-09-14 13:12:22 +01:00
Hugo Sales 1b1b3007db
[AVATAR] Display avatar as round on the default theme 2021-09-14 13:12:22 +01:00
Hugo Sales e6c6e7afd7
[AVATAR] Fix JS cropping script and save square image, in case other themes need it 2021-09-14 13:12:22 +01:00
Hugo Sales d2bb5bba14
[ImageEncoder] Move DB::persist call to AttachmentThumbnail 2021-09-14 13:12:22 +01:00
Hugo Sales 0c8c5a4b87
[ImageEncoder] Fix error when not providing a width and/or height 2021-09-14 13:12:22 +01:00
Diogo Peralta Cordeiro e385a9ac29
[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-09-14 13:12:18 +01:00
Diogo Peralta Cordeiro 0eaccc32fe
[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-09-14 13:11:51 +01:00
Hugo Sales cdef6858ce
[ENTITY] Cache AttachmentThumbnail query result 2021-09-14 13:11:51 +01:00
Hugo Sales 65999bd183
[Poll] Move tables from core to plugin 2021-09-14 13:11:51 +01:00
Hugo Sales 716ca063d5
[ImageThumbnail] Finish image thumbnailing functionality 2021-09-14 13:11:51 +01:00
Hugo Sales 19850b5e0d
[DB] Fix bug in custom criteria format wrangling 2021-09-14 13:11:51 +01:00
Hugo Sales e834ac2c8d
[DEPENDENCIES] Add php-vips 2021-09-14 13:11:51 +01:00
Hugo Sales 1d6d20aacb
[TOOLS] In pre-commit hook, only run php-doc-check if some PHP file changed 2021-09-14 13:11:51 +01:00
Hugo Sales 081b0de919
[DOCKER] Add VIPS PHP extension to Docker build 2021-09-14 13:11:51 +01:00
Hugo Sales 4358656c55
[ImageThumbnail] Implement image resizing with Intervention/Image 2021-09-14 13:11:50 +01:00
Hugo Sales ee87961d96
[ImageThumbnail] Structure of plugin to generate thumbnails for image attachments 2021-09-14 13:11:50 +01:00
Hugo Sales 7284c833a6
[DB] Allow DQL queries with table name rather than entity 2021-09-14 13:11:50 +01:00
Hugo Sales 0d01f1d060
[CORE] Add functionality to App\Core\Controller to get and validate GET parameters 2021-09-14 13:11:50 +01:00
Hugo Sales c053e8da8e
[Posting] Rename file to attachment and cache result of actor tag query 2021-09-14 13:11:50 +01:00
Hugo Sales 5579f4fa5d
[MEDIA] Rename File to Attachment 2021-09-14 13:11:50 +01:00
Hugo Sales dc5bdfa1fb
[CORE] Rename NoteScope to VisibilityScope, as it will be used for attachment visbility too 2021-09-14 13:11:50 +01:00
Hugo Sales 9659762726
[DB] Add table map which allows using table names rather than entities in Doctrine operations 2021-09-14 13:11:50 +01:00
Hugo Sales c44443b52c
[AUTOGENERATED] Update autogenerated code 2021-09-14 13:11:50 +01:00
Hugo Sales 483ac38888
[Directory] Fixup directory plugin 2021-09-14 13:11:49 +01:00
Diogo Peralta Cordeiro cc9f2d6ff2
[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-09-14 13:11:49 +01:00
Diogo Peralta Cordeiro e7ed325ac6
[MEDIA] Refactor File as Attachment 2021-09-14 13:11:49 +01:00
Hugo Sales 566c7694b5
[CONFIG][TWIG] Move twig config to php code to add support for placing templates in modules (plugins and components) 2021-09-14 13:11:49 +01:00
Hugo Sales a220d07b0f
[Directory] Move templates from core to plugin 2021-09-14 13:11:49 +01:00
Hugo Sales ed59cce0f9
[COMPOSER][Media] Add example composer.json in plugins/Media 2021-09-14 13:11:49 +01:00
Hugo Sales 299bc5b551
[TWIG] Add way to launch events from TWIG, capture service and add way to render from a string 2021-09-14 13:11:49 +01:00
Hugo Sales 1b7c48c732
[LEFT][EVENT] Add event allowing plugins to add links to the left panel 2021-09-14 13:11:49 +01:00
Hugo Sales 8e56dbb95c
[Favourite] Move table and left panel links to plugin 2021-09-14 13:11:49 +01:00