Commit Graph

65 Commits

Author SHA1 Message Date
Hugo Sales
5eae3dc351
[CORE][DATABASE] Replace zero dates with CURRENT_TIMESTAMP and add defaults to all 'created' or 'modified'
This commit is a port from v2's 9a515b9234 ([SCHEMA] Improve timestamp storage) to v3.

As explained by Alexei Sorokin:

Avoid the use of deprecated MariaDATABASE "zero dates" globally. If they're present
as attribute defaults somewhere, they will be replaced with NULL implicitly.
The existing "zero dates" in MariaDATABASE storage will be left intact and this
should not present any issues.

The "timestamp" type in table definitions now corresponds to DATETIME in
MariaDATABASE with "DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP", which
should be close enough to the original behaviour for compatibility purposes.
It is now the recommended type for "modified" attributes, because of the
update trigger on MariaDATABASE. But there is no such trigger implemented on
PostgreSQL as of this moment.
2021-09-14 13:05:29 +01:00
Hugo Sales
25aeac80a3
[CORE][DATABASE] Restructure the database 2021-09-14 13:05:29 +01:00
Hugo Sales
44eaf43ba9
[ROUTE][ADMIN][CONFIG] Add route to update values in the config table 2021-09-14 13:05:29 +01:00
Hugo Sales
e286f39551
[DEFAULTS] Small fixes and add check of SOCIAL_NO_RELOAD_DEFAULTS from the environment, to override the reloading of default values 2021-09-14 13:05:29 +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
b7a8861f55
[CORE][Event] Move GSEvent to Event, no longer a name collision 2021-09-14 13:05:28 +01:00
Hugo Sales
b32e173749
[FORM] Added Symfony Form wrapper 2021-09-14 13:05:28 +01:00
Hugo Sales
bc6ead4ab1
[CORE][Symfony] Fixed deprecation resultant from Symfony 5.1 upgrade
User Deprecated: Since symfony/framework-bundle 5.1: Using type
"Symfony\Component\Routing\RouteCollectionBuilder" for argument 1 of
method "App\Kernel:configureRoutes()" is deprecated, use
"Symfony\Component\Routing\Loader\Configurator\RoutingConfigurator"
instead.
2021-09-14 13:05:28 +01:00
Hugo Sales
753f852941
[I18N] Fix implementation of I18nHelper::formatICU 2021-09-14 13:05:28 +01:00
Hugo Sales
491e82f94e
[ROUTES] Add easier support for using TemplateController and improved documentation 2021-09-14 13:05:28 +01:00
Hugo Sales
f28ff24f2a
[I18N] Small fixes. Still broken, though :') 2021-09-14 13:05:28 +01:00
Hugo Sales
8649b72192
[DEPENDENCY] Upgrade Symfony framework from 5.0 to 5.1 2021-09-14 13:05:28 +01:00
Hugo Sales
10ca51e72a
[I18N] Overhaul _m() implementation to support ICU message formats 2021-09-14 13:05:27 +01:00
Hugo Sales
711af58dcd
[I18N] Added ability to call _m_dynamic from any class, allowing it to define translations for dynamic-valued calls to _m 2021-09-14 13:05:27 +01:00
Hugo Sales
dc7387cc8d
[I18N] Custom translation extractor based on Symfony's PhpExtractor, since we use instead of 2021-09-14 13:05:27 +01:00
Hugo Sales
f283613443
[I18N] Refactor since rfc/use-static-function is not implemented
As the above mentioned RFC is not implemented, `_m` needs to be
outside of the I18n class, otherwise it would have to always be called
with `I18n::_m`.
2021-09-14 13:05:27 +01:00
Hugo Sales
186b9e7683
[ROUTES] Add static wrapper around Symfony's router 2021-09-14 13:05:27 +01:00
Hugo Sales
4ffb7c338f
[CORE] Refactoring core 2021-09-14 13:05:26 +01:00
Hugo Sales
87bc60a806
[UI][CONFIG] Added admin configuration form 2021-09-14 13:05:26 +01:00
Hugo Sales
436b44df89
[I18N] Fix i18n and add default domain 'Core' 2021-09-14 13:05:26 +01:00
Hugo Sales
13ae29cae2
[DEFAULTS] Fix default config loading logic 2021-09-14 13:05:26 +01:00
Hugo Sales
7c18f10bd2
[TOOLS] Fixed all licence blocks, to use the same, foldable, format 2021-09-14 13:05:26 +01:00
Hugo Sales
02db154495
[DOCUMENTATION][DEFAULTS] Documented all defaults and updated some. Restructured other documentation. 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
a794c28e75
[DATABASE] Change the way defaults are loaded, bulk insert, reload everything in debug mode, only on http requests (not command line) 2021-09-14 13:05:25 +01:00
Hugo Sales
988be9dbf1
[DATABASE] Fix 'relation config doesn't exist' 2021-09-14 13:05:25 +01:00
Hugo Sales
0ccc359880
[DATABASE] Postgres doesn't understand '0000-00-00 00:00:00' for datetime, use '-infinity' 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
243aefe683
[CORE] Rename GNU social constants 2021-09-14 13:05:04 +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
1f35af7169
[DATABASE][AUTOCODE] Update autocode to use \DateTimeInterface instead of DateTime 2021-09-14 13:04:38 +01:00
Hugo Sales
42321b936f
[SCHEMADEF] Bug fixes 2021-09-14 13:04:38 +01:00
Hugo Sales
eee803d2e9
[DATABASE] Add missing table names 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
6193062590
[DATABASE][AUTOCODE] Autogenerated fields, setters and getters for each entity 2021-09-14 13:04:38 +01:00
Hugo Sales
7e47846b80
[TOOLS] Change autocode tag to allow editor folding 2021-09-14 13:04:38 +01:00
Hugo Sales
f1e72255f1
[DATABASE] Removed calls to common_config 2021-09-14 13:04:37 +01:00
Hugo Sales
03a8c80c4f
[FORMATTING] Changed license block format to allow folding 2021-09-14 13:04:37 +01:00
Hugo Sales
8d41944f90
[DATABASE] Extracted schemaDef method from old files and refactored onto new files 2021-09-14 13:04:37 +01:00
Hugo Sales
c38b9a1503
[COMMON] Added toCamelCase and toSnakeCase functions 2021-09-14 13:04:37 +01:00
Hugo Sales
24c8fefe58
[CORE][DATABASE] Import old classes folder into src/Entity 2021-09-14 13:04:37 +01:00
Hugo Sales
8fd54efe8d
[DATABASE] Remove testing entity 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