1
0
mirror of https://github.com/flextype/flextype.git synced 2025-08-07 21:56:33 +02:00

feat(tokens): add basic fields for tokens entries

This commit is contained in:
Awilum
2021-08-09 22:46:23 +03:00
parent 49acc23480
commit 4c22dcc277
6 changed files with 136 additions and 1 deletions

View File

@@ -0,0 +1,34 @@
<?php
declare(strict_types=1);
/**
* Flextype (https://flextype.org)
* Founded by Sergey Romanenko and maintained by Flextype Community.
*/
emitter()->addListener('onTokensFetchSingleHasResult', static function (): void {
if (! registry()->get('flextype.settings.entries.tokens.fields.created_at.enabled')) {
return;
}
if (tokens()->registry()->get('fetch.data.created_at') === null) {
tokens()->registry()->set('fetch.data.created_at', (int) filesystem()->file(tokens()->getFileLocation(tokens()->registry()->get('fetch.id')))->lastModified());
} else {
tokens()->registry()->set('fetch.data.created_at', (int) strtotime((string) tokens()->registry()->get('fetch.data.created_at')));
}
});
emitter()->addListener('onTokensCreate', static function (): void {
if (! registry()->get('flextype.settings.entries.tokens.fields.created_at.enabled')) {
return;
}
if (tokens()->registry()->get('create.data.created_at') !== null) {
return;
}
tokens()->registry()->set('create.data.created_at', date(registry()->get('flextype.settings.date_format'), time()));
});

View File

@@ -0,0 +1,21 @@
<?php
declare(strict_types=1);
/**
* Flextype (https://flextype.org)
* Founded by Sergey Romanenko and maintained by Flextype Community.
*/
emitter()->addListener('onTokensCreate', static function (): void {
if (! registry()->get('flextype.settings.entries.tokens.fields.created_by.enabled')) {
return;
}
if (tokens()->registry()->get('create.data.created_by') !== null) {
return;
}
tokens()->registry()->set('create.data.created_by', '');
});

View File

@@ -0,0 +1,21 @@
<?php
declare(strict_types=1);
/**
* Flextype (https://flextype.org)
* Founded by Sergey Romanenko and maintained by Flextype Community.
*/
emitter()->addListener('onTokensFetchSingleHasResult', static function (): void {
if (! registry()->get('flextype.settings.entries.tokens.fields.id.enabled')) {
return;
}
if (tokens()->registry()->get('fetch.data.id') !== null) {
return;
}
tokens()->registry()->set('fetch.data.id', strings(tokens()->registry()->get('fetch.id'))->trimSlashes()->toString());
});

View File

@@ -0,0 +1,21 @@
<?php
declare(strict_types=1);
/**
* Flextype (https://flextype.org)
* Founded by Sergey Romanenko and maintained by Flextype Community.
*/
emitter()->addListener('onTokensFetchSingleHasResult', static function (): void {
if (! registry()->get('flextype.settings.entries.tokens.fields.modified_at.enabled')) {
return;
}
if (tokens()->registry()->get('fetch.data.modified_at') !== null) {
return;
}
tokens()->registry()->set('fetch.data.modified_at', (int) filesystem()->file(tokens()->getFileLocation(tokens()->registry()->get('fetch.id')))->lastModified());
});

View File

@@ -0,0 +1,23 @@
<?php
declare(strict_types=1);
/**
* Flextype (https://flextype.org)
* Founded by Sergey Romanenko and maintained by Flextype Community.
*/
use Ramsey\Uuid\Uuid;
emitter()->addListener('onTokensCreate', static function (): void {
if (! registry()->get('flextype.settings.entries.tokens.fields.uuid.enabled')) {
return;
}
if (tokens()->registry()->get('create.data.uuid') !== null) {
return;
}
tokens()->registry()->set('create.data.uuid', Uuid::uuid4()->toString());
});

View File

@@ -60,7 +60,22 @@ entries:
filename: tokens
extension: yaml
serializer: yaml
fields: []
fields:
modified_at:
enabled: true
path: "/src/flextype/Tokens/Fields/ModifiedAtField.php"
created_at:
enabled: true
path: "/src/flextype/Tokens/Fields/CreatedAtField.php"
created_by:
enabled: true
path: "/src/flextype/Tokens/Fields/CreatedByField.php"
uuid:
enabled: true
path: "/src/flextype/Tokens/Fields/UuidField.php"
id:
enabled: true
path: "/src/flextype/Tokens/Fields/IdField.php"
media:
directory: media
filename: media