4e30e5aad9
[TOOLS] Fix all issues found by PHPStan level 2
2021-09-14 13:13:44 +01:00
add8f4a52f
[TOOLS] Fix all errors found by PHPStan level 1
2021-09-14 13:13:42 +01:00
277a080d7c
[EXCEPTION] Add NotImplementedException
2021-09-14 13:13:42 +01:00
eb833b62e2
[TOOLS] Fix all level 0 errors found by PHPStan and move constant definition to bootstrap file
2021-09-14 13:13:42 +01:00
cbbef90752
[UTIL][CONFIG] Ensure setConfig
uses a locals
key
2021-09-14 13:13:41 +01:00
cd89106fc0
[EXCEPTION][RedirectException] Add prevention for open redirects by default and ensure we can redirect to the same page
2021-09-14 13:13:40 +01:00
16cde6dfd7
[PLUGINS][Reply] Redirect back to previous URL on note reply. Move controller to own class
...
This should be safe against open redirects, as it doesn't allow redirecting to other domains
2021-09-14 13:13:40 +01:00
141f919ca7
[CONFIG][TESTS] Fix error found by AdminPanel test
2021-09-14 13:13:36 +01:00
c71a4b06ef
[CONFIG] Make it possible to write module configuration in a config.{php,yml,yaml,xml} file and set each value as properties in the module object
2021-09-14 13:13:36 +01:00
2b457655ea
[CORE] Fix path configuration
2021-09-14 13:13:35 +01:00
44a581f0f6
[UTIL][FORM] Password form now shows the proper HTML class, and it's respective label.
2021-09-14 13:13:30 +01:00
c3db2f60d2
[UTIL][EXCEPTIONS] Introduce NotStoredLocallyException
2021-09-14 13:13:28 +01:00
63cbf4052f
[UTIL] Common::config wasn't a proper port from v2, it has to accept one argument only as well
2021-09-14 13:13:25 +01:00
809bf00aa9
[TemporaryFile][TESTS] Throw on attempt to write to null resource and fix tests
2021-09-14 13:13:24 +01:00
2851b899b8
[TESTS] Add test annotations to core classes
2021-09-14 13:13:23 +01:00
1b623a85ae
[UTIL][FormFields] Move FormFields class to Util\Form namespace
2021-09-14 13:13:22 +01:00
9ad2cb5e66
[UTIL][FormFields] Allow specifying whether a password is required and provide placeholder text
2021-09-14 13:13:20 +01:00
19318b3163
[UTIL][EXCEPTION] Add AuthenticationException, representing an auth error, status code 401 unauthorized
2021-09-14 13:13:20 +01:00
855d427442
[UTIL][FORM] Create a utility class that defines common form fields, such as passwords
2021-09-14 13:13:18 +01:00
0c54a3297f
[UTIL] Add a class that defines commonly used form fields
2021-09-14 13:13:17 +01:00
d07cb79844
[EXCEPTION] Add Email related exceptions
2021-09-14 13:13:16 +01:00
e250edf7fd
[UTIL][Nickname] Refactor Nickname and extract a validate function, as we'll want to perform normalization in select cases in the future, likely as a plugin
2021-09-14 13:13:16 +01:00
7a2574eafb
[CORE][TemporaryFile] Add option to specify attempts and better handle when reaching the attemp limit without being able to create a file
2021-09-14 13:13:15 +01:00
c020958690
[DOCS] Write exceptions chapter
2021-09-14 13:13:09 +01:00
cb7fa0a081
[SECURITY] Remove aggressive normalization of nicknames. This will be moved to a plugin in the future and we'll open an RFC, as discussed
2021-09-14 13:13:04 +01:00
861732176e
[Media] Support any kind of thumbnails in the Core
...
Sanitize Attachments instead of Validate (part 1)
Ensure the intended filetypes and mimetypes during Vips conversions (part 1)
Various bug fixes
2021-09-14 13:13:03 +01:00
72dcff22f7
[MEDIA] We need permissions to run chmod in directories
...
It's better to have in the filename data that we couldnt't otherwise rapidly retrieve
2021-09-14 13:13:03 +01:00
c8cf8c3f13
[FILE][TemporaryFile] Fix various issues now that we also have Symfony's file abstractions
2021-09-14 13:13:03 +01:00
687b2e2bc7
[UTIL] Add utility to flatten the result of note queries
2021-09-14 13:13:02 +01:00
86400ce815
[UTIL] Provide static access to current request and utilities in Common
2021-09-14 13:13:02 +01:00
e1a1d01844
[TESTS] Add GNUsocialTestCase, which initializes our infrastructure when bootKernel is called
2021-09-14 13:13:01 +01:00
fbe0f36a53
[TESTS] Expand test coverage for App\Util\Forms\ArrayTransformer, App\Util\Notification and App\Twig\Runtime
2021-09-14 13:13:00 +01:00
fc9b934bbc
[UTIL] Fix App\Util\TemporaryFile, adding default options and preventing warning on not enough permission
2021-09-14 13:12:59 +01:00
ec1081ed43
[UTIL] Rename and rewrite isTaken to checkTaken
2021-09-14 13:12:59 +01:00
a49ee453ab
[TESTS] Raise App\Util\HTML test coverage to 100%
2021-09-14 13:12:58 +01:00
fbea08ca9b
[TESTS] Raise App\Util\Bitmap test coverage to 100%
2021-09-14 13:12:58 +01:00
abda73b8e3
[TESTS] Raise App\Util\Common test coverage to 100%
2021-09-14 13:12:58 +01:00
2b83a4b627
[UTILS][TemporaryFile] Change way TemporaryFile takes arguments and it's internal implementation
2021-09-14 13:12:58 +01:00
3b39046a38
[UTIL] Fix bugs found in App\Util\Formatting by tests
2021-09-14 13:12:58 +01:00
837f644458
[UTIL][Formatting] Add twigRenderFile
2021-09-14 13:12:55 +01:00
29457ef50d
[UTIL] Add option for setting a file suffix on TemporaryFile constructor and add missing TemporaryFileException
2021-09-14 13:12:54 +01:00
708a910870
[UTIL] Fix remove affix utilities, so they only try to remove an affix if the string starts/ends with it
2021-09-14 13:12:52 +01:00
60a9085e56
[FORMATTING] Add utilities to remove affixes from strings
2021-09-14 13:12:51 +01:00
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
94edad43d9
[UTIL] Add method to validate url
2021-09-14 13:12:23 +01:00
1b8f5b7bf0
[DB] Make DB::findOneBy throw a different exception if two values are found
2021-09-14 13:12:23 +01:00
ae0e410986
[TESTS] Fix Nickname test
2021-09-14 13:12:23 +01:00
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
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
e2e561e663
[DB][FKEY] Temporarily disable foreign key mapping, as there seems to be a bug in doctrine, which is under investigation
2021-09-14 13:10:23 +01:00
faa362e2e2
[DB] Remove unique constraint from GSActor.nickname and fix register and related functionality
2021-09-14 13:10:23 +01:00
68de1b09b1
[NICKNAME] Don't throw when normalizing reserved nicknames
2021-09-14 13:10:23 +01:00
78548365da
[WEB] Fix translations and small inconsistency when opening on web
2021-09-14 13:10:23 +01:00
8b5bd40421
[TESTS] Add tests to all relevant methods under App\Util and fix errors that popup
2021-09-14 13:10:23 +01:00
57dad5eca4
[NICKNAME] Add nickname min length config and check it in Nickname::normalize
2021-09-14 13:10:23 +01:00
5afd2c9843
Duplicate src/Util/Exception/NicknameTooLongException.php history in src/Util/Exception/NicknameTooShortException.php history.
2021-09-14 13:10:23 +01:00
dc2a453e94
[TESTS] Add tests of Common and fix small oddities that pop up
2021-09-14 13:10:22 +01:00
b387ea9aa0
[TESTS] Fix error when testing cold redis cache
2021-09-14 13:10:22 +01:00
88e4044d02
[TESTS] Add tests for the bitmap utility and fix implementation
2021-09-14 13:10:22 +01:00
7e648a296f
CACHE] Fix cache implementation with the help of tests and remove premature optimization for non-redis list caching
...
This complicated the code significantly and likely didn't help that much, if at all. The recommended setup is using Redis, anyway, which is plenty optimized
2021-09-14 13:10:22 +01:00
c539f17ba5
[TESTS] Add App\Core\Cache test
2021-09-14 13:10:22 +01:00
João Brandão
5516a77b33
[UI][TIMELINES] Refactored query for public stream
2021-09-14 13:10:19 +01:00
Diogo Machado
f18a2a4bb6
[STATIC ANALYSIS] Started removal process for the errors found by PHPStan
2021-09-14 13:10:16 +01:00
Daniel
c0d363e317
[Poll] Restructured templates, added misssing poll related css
2021-09-14 13:10:13 +01:00
Daniel
7a299162e1
[Poll] Polls now have an associated note, poll templates, start_show_styles event, started css
2021-09-14 13:10:13 +01:00
Daniel
ffb4b9df23
[Poll] Added modified param for Poll/Poll response, added PollTest
2021-09-14 13:10:12 +01:00
Daniel
c3aa2ae400
[FORM] Implement ActorArrayTransformer
2021-09-14 13:06:57 +01:00
460712e15e
[GIT] Change my email to the new one in all files and bump copyright year
2021-09-14 13:06:56 +01:00
Hugo Sales
e8feb2ae84
[DOCUMENTATION][REFACTOR] Add documentation to all flagged function and do some small cleanup
2021-09-14 13:06:55 +01:00
Hugo Sales
e949dd654a
[CONFIG] Various fixes to use new configuration format
2021-09-14 13:06:54 +01:00
Hugo Sales
dd40255c4a
[CONFIG][DB] Remove config from the database, put it in yaml, so it can be baked into the container
2021-09-14 13:06:53 +01:00
Hugo Sales
179d7f3335
[UTILS] Make bitmap not use a static class var and set object properties as lowercase
2021-09-14 13:06:53 +01:00
Hugo Sales
63d2d58e9e
[EXCEPTION] Make findOne return NotFoundException
2021-09-14 13:06:52 +01:00
Hugo Sales
c07a0cdcd5
[EXCEPTION] Add base class to invalid form exception and add URL arguments to redirect exception
2021-09-14 13:06:52 +01:00
Hugo Sales
ffcf909bda
[UTIL] Update bitmap base class, making using easier
2021-09-14 13:06:52 +01:00
Hugo Sales
4c15271d36
[UI] Display error when submitted form is invalid
2021-09-14 13:06:51 +01:00
Hugo Sales
b906dde059
[EXCEPTION][UI][UX] Add RedirectException, which can be thrown anywhere to redirect somewhere, and an exception handler
2021-09-14 13:06:51 +01:00
Hugo Sales
6165f7cd55
[Media] Display images and videos inline in notes
2021-09-14 13:06:49 +01:00
rainydaysavings
a9d5f8ac5b
[UI][TWIG] Fixing note actions placement and size, more descriptive rules
2021-09-14 13:06:49 +01:00
Hugo Sales
d95c22cb3e
[EXCEPTION] Fix exceptions not being translated
2021-09-14 13:06:48 +01:00
Hugo Sales
0b50905ac8
[NOTE][UI] Add note replying and UI displaying
2021-09-14 13:06:45 +01:00
Hugo Sales
8506a0248d
[UTIL][Common] Fix import
2021-09-14 13:05:54 +01:00
Hugo Sales
a2269f5745
[UTIL][Common] Implement 'isSystemPath'
2021-09-14 13:05:54 +01:00
Hugo Sales
8716d700a6
[CORE][DB] Fix uses of db tables after previous restructure
2021-09-14 13:05:53 +01:00
Hugo Sales
365168d03e
[EXCEPTION] Add ServerException and inherit previous throwable
...
imported from v2/5ea5d3007563f76a77efbfb66936315441922542
2021-09-14 13:05:51 +01:00
Hugo Sales
4128a5403d
[MEDIA][EXCEPTIONS] Fix errors and deprecations
2021-09-14 13:05:51 +01:00
Hugo Sales
699f25a397
[AUTOGENERATED] Update autogenerated code
2021-09-14 13:05:51 +01:00
Hugo Sales
bd8f4bd277
[AVATAR] Fixed avatar upload, added avatar inline download and updated template and base controller
2021-09-14 13:05:51 +01:00
Hugo Sales
58b6026607
[UTIL] Fix and rename arrayRemoveKeys
2021-09-14 13:05:47 +01:00
Hugo Sales
48252d6b8c
[UTIL][FORM] Add form transformer array <--> string
2021-09-14 13:05:46 +01:00
Hugo Sales
3e6eb114c4
[UTIL] Add Common::array_remove_keys
2021-09-14 13:05:46 +01:00
Hugo Sales
b3bce3efa1
[FORMATTING] Add option to split a string to array by both a comma and a space
2021-09-14 13:05:45 +01:00
Hugo Sales
921da28884
[FORM] Add DataTransformer to and from array
2021-09-14 13:05:45 +01:00
Hugo Sales
576d6eb11c
[UTIL][NICKNAME][FIX] Add self to constant
2021-09-14 13:05:44 +01:00
Hugo Sales
040c400bfe
[UTIL] Update Formatting::{toString,toArray} to allow spliting by either space or comma
2021-09-14 13:05:43 +01:00
Hugo Sales
b772702895
[LIB][Util] Update Common::setConfig to throw an exception if appropriate, add Formatting::{toString,toArray}
2021-09-14 13:05:42 +01:00
Hugo Sales
17dc298dfa
[UTIL][NICKNAME] Small refactor and remove the check between user nickname and group_alias, as these will have different semantics
2021-09-14 13:05:42 +01:00
Hugo Sales
c0da90bd3e
[COMMON][SECURITY][WRAPPER] Added security service static wrapper and Common::getUser
2021-09-14 13:05:41 +01:00
Hugo Sales
2796ac5228
[NOTIFICATION][DATABASE] Update user notification prefs table, implementation of Notification and define a base class for notification transport
2021-09-14 13:05:40 +01:00
Hugo Sales
0eba267a73
[LOGIN] Implement password checking and related systems
2021-09-14 13:05:40 +01:00
Hugo Sales
8ce0f05371
[UTIL] Update Common::config to ensure the values queried exist
2021-09-14 13:05:39 +01:00
Hugo Sales
fb53700be2
[LIB][Util] Remove Functional::arity as it got merged upstream as Functional\ary
2021-09-14 13:05:39 +01:00
Hugo Sales
d6cd52cede
[LIB][Util] Make Common::config return the unserialized value instead of the entity
2021-09-14 13:05:39 +01:00
Hugo Sales
339003f210
[LIB][Util] Change methods in the Common class to camelCase, add isSystemPath (previously in Nickname.php)
2021-09-14 13:05:38 +01:00
Hugo Sales
d0771f77bc
[UTIL][NICKNAME] Import nickname utilities and exceptions from v2
2021-09-14 13:05:38 +01:00
Hugo Sales
643a937152
[DATABASE][WRAPPER] Update DATABASE wrapper so entity names are provided without the namespace
2021-09-14 13:05:36 +01:00
Hugo Sales
c602cf8422
[LIB][Util] Refactor and implement array indexing methods on RingBuffer
2021-09-14 13:05:35 +01:00
Hugo Sales
7f5e574cbf
[LIB][Util] Add Ring Buffer data structure
2021-09-14 13:05:34 +01:00
Hugo Sales
84be8e1711
[DOCUMENTATION] Fixed type annotations and documentation of Common::size_str_to_int
2021-09-14 13:05:29 +01:00
Hugo Sales
4ffb7c338f
[CORE] Refactoring core
2021-09-14 13:05:26 +01:00
Hugo Sales
4deb446f39
[DEFAULTS] Remove deprecated defaults and convert them to snake_case
2021-09-14 13:05:26 +01:00
Hugo Sales
988be9dbf1
[DATABASE] Fix 'relation config doesn't exist'
2021-09-14 13:05:25 +01:00
Hugo Sales
b9bc88ddbf
[DATABASE][CONFIG] Loading defaults into database, doctrine static wrapper
2021-09-14 13:05:25 +01:00
Hugo Sales
cdb863ba17
[DATABASE][CONFIG] Bring default configs from V2 and implement DATABASE wrapper
2021-09-14 13:05:25 +01:00
Hugo Sales
dd559402cd
[CORE][UTIL] Moved classes from util to core
...
And splitted up Common
2021-09-14 13:05:25 +01:00
Hugo Sales
f628665589
[FORMATTING] Cherry-pick of Diogo's 763ac735c0758624ebd5957993dc0676b865927a
2021-09-14 13:05:24 +01:00
Diogo Cordeiro
cb7518a750
[DOCUMENTATION][TOOL] Small bug fixes and docblock elaboration
2021-09-14 13:05:24 +01:00
Hugo Sales
06b5fe2cdf
[TOOLS][DOCUMENTATION] Improvements to entity generation script
2021-09-14 13:04:39 +01:00
Hugo Sales
a7cc7f4e27
[UTIL] Wrote HTML library to convert arrays to html
2021-09-14 13:04:39 +01:00
Hugo Sales
fe73001c36
[DATABASE] Changed the type of the 'id' field of the ProfileList table from serial to int, as doctrine complains otherwise
2021-09-14 13:04:39 +01:00
Hugo Sales
42321b936f
[SCHEMADEF] Bug fixes
2021-09-14 13:04:38 +01:00
Hugo Sales
e022a5e65e
[MODULES] Fix small error in modules manager
2021-09-14 13:04:38 +01:00
Hugo Sales
c38b9a1503
[COMMON] Added toCamelCase and toSnakeCase functions
2021-09-14 13:04:37 +01:00
Hugo Sales
0c79dfc67b
[MODULES] Rename extensions to modules, add example plugin, change plugin location
2021-09-14 13:04:37 +01:00
Hugo Sales
596009c924
[DOCUMENTATION] Document All The Things!
2021-09-14 13:04:33 +01:00
Hugo Sales
5d1685b142
[CORE][ROUTES] Implemented custom router, with an interface similar to the old one, which allows routes to be seperated into files
2021-09-14 13:01:35 +01:00
Hugo Sales
b50909a335
[CORE][COMMAND] Register internal structures on command event
2021-09-14 13:01:34 +01:00
Hugo Sales
6df658a987
[CORE][EXTENSIONS] Added extension (modules, plugins) loading and test plugin, which is able to handle events
2021-09-14 13:01:34 +01:00
Hugo Sales
1b45936f19
[DOCTRINE][SCHEMADEF] Small refactoring
2021-09-14 13:01:34 +01:00
Hugo Sales
2c9a732256
[CORE][DOCTRINE] Implement SchemaDefDriver, which transforms the old syntax from to doctrine's metadata
2021-09-14 13:01:34 +01:00
Hugo Sales
cc72373e3d
[DOCTRINE][SCHEMADEF] Create a new metadata driver to allow us to continue using static schemaDef functions
...
This has the benefit of requiring fewer code changes, as well as providing a better isolation
between GNU social and symfony, useful in case the framework needs to be changed
2021-09-14 13:01:34 +01:00
Hugo Sales
2215b05894
[CORE][I18N] Fix the translation system
2021-09-14 13:01:33 +01:00
Hugo Sales
2b9a15c1e9
[CORE][I18N] Port the translation system to rely on symfony's
2021-09-14 13:01:33 +01:00
Hugo Sales
feaee1b238
[CORE][EVENTS] Bring existing Events and Boostrapper back
...
- Adapt the existing event system to rely on Symfony's event dispatcher
2021-09-14 13:01:33 +01:00