Skip to content

Commit

Permalink
feat(fields): use new flextype helpers #199
Browse files Browse the repository at this point in the history
  • Loading branch information
Awilum committed Jul 30, 2021
1 parent d71729e commit 1541b4e
Show file tree
Hide file tree
Showing 14 changed files with 115 additions and 113 deletions.
18 changes: 10 additions & 8 deletions src/flextype/Foundation/Entries/Fields/CreatedAtField.php
Expand Up @@ -8,20 +8,22 @@
*/


if (flextype('registry')->get('flextype.settings.entries.fields.created_at.enabled')) {
flextype('emitter')->addListener('onEntriesFetchSingleHasResult', static function (): void {
if (flextype('entries')->registry()->get('fetch.data.created_at') === null) {
flextype('entries')->registry()->set('fetch.data.created_at', (int) filesystem()->file(flextype('entries')->getFileLocation(flextype('entries')->registry()->get('fetch.id')))->lastModified());
if (registry()->get('flextype.settings.entries.fields.created_at.enabled')) {
emitter()->addListener('onEntriesFetchSingleHasResult', static function (): void {
if (entries()->registry()->get('fetch.data.created_at') === null) {
entries()->registry()->set('fetch.data.created_at', (int) filesystem()->file(entries()->getFileLocation(entries()->registry()->get('fetch.id')))->lastModified());
} else {
flextype('entries')->registry()->set('fetch.data.created_at', (int) strtotime((string) flextype('entries')->registry()->get('fetch.data.created_at')));
entries()->registry()->set('fetch.data.created_at', (int) strtotime((string) entries()->registry()->get('fetch.data.created_at')));
}
});

flextype('emitter')->addListener('onEntriesCreate', static function (): void {
if (flextype('entries')->registry()->get('create.data.created_at') !== null) {
emitter()->addListener('onEntriesCreate', static function (): void {
if (entries()->registry()->get('create.data.created_at') !== null) {
return;
}

flextype('entries')->registry()->set('create.data.created_at', date(flextype('registry')->get('flextype.settings.date_format'), time()));
entries()->registry()->set('create.data.created_at', date(registry()->get('flextype.settings.date_format'), time()));
});
}


8 changes: 4 additions & 4 deletions src/flextype/Foundation/Entries/Fields/CreatedByField.php
Expand Up @@ -7,12 +7,12 @@
* Founded by Sergey Romanenko and maintained by Flextype Community.
*/

if (flextype('registry')->get('flextype.settings.entries.fields.created_by.enabled')) {
flextype('emitter')->addListener('onEntriesCreate', static function (): void {
if (flextype('entries')->registry()->get('create.data.created_by') !== null) {
if (registry()->get('flextype.settings.entries.fields.created_by.enabled')) {
emitter()->addListener('onEntriesCreate', static function (): void {
if (entries()->registry()->get('create.data.created_by') !== null) {
return;
}

flextype('entries')->registry()->set('create.data.created_by', '');
entries()->registry()->set('create.data.created_by', '');
});
}
22 changes: 11 additions & 11 deletions src/flextype/Foundation/Entries/Fields/EntriesField.php
Expand Up @@ -9,14 +9,14 @@

use Atomastic\Arrays\Arrays;

if (flextype('registry')->get('flextype.settings.entries.fields.entries.fetch.enabled')) {
flextype('emitter')->addListener('onEntriesFetchSingleHasResult', static function (): void {
if (flextype('entries')->registry()->has('fetch.data.entries.fetch')) {
if (registry()->get('flextype.settings.entries.fields.entries.fetch.enabled')) {
emitter()->addListener('onEntriesFetchSingleHasResult', static function (): void {
if (entries()->registry()->has('fetch.data.entries.fetch')) {
// Get fetch.
$original = flextype('entries')->registry()->get('fetch');
$original = entries()->registry()->get('fetch');
$data = [];

switch (flextype('registry')->get('flextype.settings.entries.fields.entries.fetch.result')) {
switch (registry()->get('flextype.settings.entries.fields.entries.fetch.result')) {
case 'toArray':
$resultTo = 'toArray';
break;
Expand All @@ -28,19 +28,19 @@
}

// Modify fetch.
foreach (flextype('entries')->registry()->get('fetch.data.entries.fetch') as $field => $body) {
foreach (entries()->registry()->get('fetch.data.entries.fetch') as $field => $body) {

if (isset($body['options']['method']) &&
strpos($body['options']['method'], 'fetch') !== false &&
is_callable([flextype('entries'), $body['options']['method']])) {
is_callable([entries(), $body['options']['method']])) {
$fetchFromCallbackMethod = $body['options']['method'];
} else {
$fetchFromCallbackMethod = 'fetch';
}

$result = isset($body['result']) && in_array($body['result'], ['toArray', 'toObject']) ? $body['result'] : $resultTo;

$data[$field] = flextype('entries')->{$fetchFromCallbackMethod}($body['id'],
$data[$field] = entries()->{$fetchFromCallbackMethod}($body['id'],
isset($body['options']) ?
$body['options'] :
[]);
Expand All @@ -49,9 +49,9 @@
}

// Save fetch.
flextype('entries')->registry()->set('fetch.id', $original['id']);
flextype('entries')->registry()->set('fetch.options', $original['options']);
flextype('entries')->registry()->set('fetch.data', arrays($original['data'])->merge($data)->toArray());
entries()->registry()->set('fetch.id', $original['id']);
entries()->registry()->set('fetch.options', $original['options']);
entries()->registry()->set('fetch.data', arrays($original['data'])->merge($data)->toArray());
}
});
}
8 changes: 4 additions & 4 deletions src/flextype/Foundation/Entries/Fields/IdField.php
Expand Up @@ -8,14 +8,14 @@
*/


if (flextype('registry')->get('flextype.settings.entries.fields.id.enabled')) {
if (registry()->get('flextype.settings.entries.fields.id.enabled')) {

flextype('emitter')->addListener('onEntriesFetchSingleHasResult', static function (): void {
emitter()->addListener('onEntriesFetchSingleHasResult', static function (): void {

if (flextype('entries')->registry()->get('fetch.data.id') !== null) {
if (entries()->registry()->get('fetch.data.id') !== null) {
return;
}

flextype('entries')->registry()->set('fetch.data.id', (string) strings(flextype('entries')->registry()->get('fetch.id'))->trimSlashes());
entries()->registry()->set('fetch.data.id', (string) strings(entries()->registry()->get('fetch.id'))->trimSlashes());
});
}
36 changes: 18 additions & 18 deletions src/flextype/Foundation/Entries/Fields/MediaField.php
Expand Up @@ -9,14 +9,14 @@

use Atomastic\Arrays\Arrays;

if (flextype('registry')->get('flextype.settings.entries.fields.media.files.fetch.enabled')) {
flextype('emitter')->addListener('onEntriesFetchSingleHasResult', static function (): void {
if (flextype('entries')->registry()->has('fetch.data.media.files.fetch')) {
if (registry()->get('flextype.settings.entries.fields.media.files.fetch.enabled')) {
emitter()->addListener('onEntriesFetchSingleHasResult', static function (): void {
if (entries()->registry()->has('fetch.data.media.files.fetch')) {
// Get fetch.
$original = flextype('entries')->registry()->get('fetch');
$original = entries()->registry()->get('fetch');
$data = [];

switch (flextype('registry')->get('flextype.settings.entries.fields.media.files.fetch.result')) {
switch (registry()->get('flextype.settings.entries.fields.media.files.fetch.result')) {
case 'toArray':
$resultTo = 'toArray';
break;
Expand All @@ -28,7 +28,7 @@
}

// Modify fetch.
foreach (flextype('entries')->registry()->get('fetch.data.media.files.fetch') as $field => $body) {
foreach (entries()->registry()->get('fetch.data.media.files.fetch') as $field => $body) {

if (isset($body['options']['method']) &&
strpos($body['options']['method'], 'fetch') !== false &&
Expand All @@ -50,23 +50,23 @@
}

// Save fetch.
flextype('entries')->registry()->set('fetch.id', $original['id']);
flextype('entries')->registry()->set('fetch.options', $original['options']);
flextype('entries')->registry()->set('fetch.data', arrays($original['data'])->merge($data)->toArray());
entries()->registry()->set('fetch.id', $original['id']);
entries()->registry()->set('fetch.options', $original['options']);
entries()->registry()->set('fetch.data', arrays($original['data'])->merge($data)->toArray());
}
});
}


if (flextype('registry')->get('flextype.settings.entries.fields.media.folders.fetch.enabled')) {
flextype('emitter')->addListener('onEntriesFetchSingleHasResult', static function (): void {
if (flextype('entries')->registry()->has('fetch.data.media.folders.fetch')) {
if (registry()->get('flextype.settings.entries.fields.media.folders.fetch.enabled')) {
emitter()->addListener('onEntriesFetchSingleHasResult', static function (): void {
if (entries()->registry()->has('fetch.data.media.folders.fetch')) {

// Get fetch.
$original = flextype('entries')->registry()->get('fetch');
$original = entries()->registry()->get('fetch');
$data = [];

switch (flextype('registry')->get('flextype.settings.entries.fields.media.folders.fetch.result')) {
switch (registry()->get('flextype.settings.entries.fields.media.folders.fetch.result')) {
case 'toArray':
$resultTo = 'toArray';
break;
Expand All @@ -78,7 +78,7 @@
}

// Modify fetch.
foreach (flextype('entries')->registry()->get('fetch.data.media.folders.fetch') as $field => $body) {
foreach (entries()->registry()->get('fetch.data.media.folders.fetch') as $field => $body) {

if (isset($body['options']['method']) &&
strpos($body['options']['method'], 'fetch') !== false &&
Expand All @@ -100,9 +100,9 @@
}

// Save fetch.
flextype('entries')->registry()->set('fetch.id', $original['id']);
flextype('entries')->registry()->set('fetch.options', $original['options']);
flextype('entries')->registry()->set('fetch.data', arrays($original['data'])->merge($data)->toArray());
entries()->registry()->set('fetch.id', $original['id']);
entries()->registry()->set('fetch.options', $original['options']);
entries()->registry()->set('fetch.data', arrays($original['data'])->merge($data)->toArray());
}
});
}
8 changes: 4 additions & 4 deletions src/flextype/Foundation/Entries/Fields/ModifiedAtField.php
Expand Up @@ -7,12 +7,12 @@
* Founded by Sergey Romanenko and maintained by Flextype Community.
*/

if (flextype('registry')->get('flextype.settings.entries.fields.modified_at.enabled')) {
flextype('emitter')->addListener('onEntriesFetchSingleHasResult', static function (): void {
if (flextype('entries')->registry()->get('fetch.data.modified_at') !== null) {
if (registry()->get('flextype.settings.entries.fields.modified_at.enabled')) {
emitter()->addListener('onEntriesFetchSingleHasResult', static function (): void {
if (entries()->registry()->get('fetch.data.modified_at') !== null) {
return;
}

flextype('entries')->registry()->set('fetch.data.modified_at', (int) filesystem()->file(flextype('entries')->getFileLocation(flextype('entries')->registry()->get('fetch.id')))->lastModified());
entries()->registry()->set('fetch.data.modified_at', (int) filesystem()->file(entries()->getFileLocation(entries()->registry()->get('fetch.id')))->lastModified());
});
}
34 changes: 17 additions & 17 deletions src/flextype/Foundation/Entries/Fields/ParsersField.php
Expand Up @@ -7,38 +7,38 @@
* Founded by Sergey Romanenko and maintained by Flextype Community.
*/

if (flextype('registry')->get('flextype.settings.entries.fields.parsers.enabled')) {
flextype('emitter')->addListener('onEntriesFetchSingleHasResult', static function (): void {
if (registry()->get('flextype.settings.entries.fields.parsers.enabled')) {
emitter()->addListener('onEntriesFetchSingleHasResult', static function (): void {
processParsersField();
});
}

function processParsersField(): void
{
if (flextype('entries')->registry()->get('fetch.data.cache.enabled') == null) {
if (entries()->registry()->get('fetch.data.cache.enabled') == null) {
$cache = false;
} else {
$cache = (bool) flextype('entries')->registry()->get('fetch.data.cache.enabled');
$cache = (bool) entries()->registry()->get('fetch.data.cache.enabled');
}

if (flextype('entries')->registry()->get('fetch.data.parsers') != null) {
foreach (flextype('entries')->registry()->get('fetch.data.parsers') as $parserName => $parserData) {
if (entries()->registry()->get('fetch.data.parsers') != null) {
foreach (entries()->registry()->get('fetch.data.parsers') as $parserName => $parserData) {
if (in_array($parserName, ['markdown', 'shortcode'])) {
if (flextype('entries')->registry()->get('fetch.data.parsers.'.$parserName.'.enabled') === true) {
if (flextype('entries')->registry()->get('fetch.data.parsers.'.$parserName.'.fields') != null) {
if (is_array(flextype('entries')->registry()->get('fetch.data.parsers.'.$parserName.'.fields'))) {
foreach (flextype('entries')->registry()->get('fetch.data.parsers.'.$parserName.'.fields') as $field) {
if (! in_array($field, flextype('registry')->get('flextype.settings.entries.content.fields'))) {
if (entries()->registry()->get('fetch.data.parsers.'.$parserName.'.enabled') === true) {
if (entries()->registry()->get('fetch.data.parsers.'.$parserName.'.fields') != null) {
if (is_array(entries()->registry()->get('fetch.data.parsers.'.$parserName.'.fields'))) {
foreach (entries()->registry()->get('fetch.data.parsers.'.$parserName.'.fields') as $field) {
if (! in_array($field, registry()->get('flextype.settings.entries.content.fields'))) {
if ($parserName == 'markdown') {
if (arrays(flextype('entries')->registry()->get('fetch.data'))->has($field)) {
flextype('entries')->registry()->set('fetch.data.'.$field,
flextype('parsers')->markdown()->parse(flextype('entries')->registry()->get('fetch.data.'.$field), $cache));
if (arrays(entries()->registry()->get('fetch.data'))->has($field)) {
entries()->registry()->set('fetch.data.'.$field,
parsers()->markdown()->parse(entries()->registry()->get('fetch.data.'.$field), $cache));
}
}
if ($parserName == 'shortcode') {
if (arrays(flextype('entries')->registry()->get('fetch.data'))->has($field)) {
flextype('entries')->registry()->set('fetch.data.'.$field,
flextype('parsers')->shortcode()->process(flextype('entries')->registry()->get('fetch.data.'.$field), $cache));
if (arrays(entries()->registry()->get('fetch.data'))->has($field)) {
entries()->registry()->set('fetch.data.'.$field,
parsers()->shortcode()->process(entries()->registry()->get('fetch.data.'.$field), $cache));
}
}
}
Expand Down
18 changes: 9 additions & 9 deletions src/flextype/Foundation/Entries/Fields/PublishedAtField.php
Expand Up @@ -7,20 +7,20 @@
* Founded by Sergey Romanenko and maintained by Flextype Community.
*/

if (flextype('registry')->get('flextype.settings.entries.fields.published_at.enabled')) {
flextype('emitter')->addListener('onEntriesFetchSingleHasResult', static function (): void {
if (flextype('entries')->registry()->get('fetch.data.published_at') === null) {
flextype('entries')->registry()->set('fetch.data.published_at', (int) filesystem()->file(flextype('entries')->getFileLocation(flextype('entries')->registry()->get('fetch.id')))->lastModified());
if (registry()->get('flextype.settings.entries.fields.published_at.enabled')) {
emitter()->addListener('onEntriesFetchSingleHasResult', static function (): void {
if (entries()->registry()->get('fetch.data.published_at') === null) {
entries()->registry()->set('fetch.data.published_at', (int) filesystem()->file(entries()->getFileLocation(entries()->registry()->get('fetch.id')))->lastModified());
} else {
flextype('entries')->registry()->set('fetch.data.published_at', (int) strtotime((string) flextype('entries')->registry()->get('fetch.data.published_at')));
entries()->registry()->set('fetch.data.published_at', (int) strtotime((string) entries()->registry()->get('fetch.data.published_at')));
}
});

flextype('emitter')->addListener('onEntriesCreate', static function (): void {
if (flextype('entries')->registry()->get('create.data.published_at') !== null) {
emitter()->addListener('onEntriesCreate', static function (): void {
if (entries()->registry()->get('create.data.published_at') !== null) {
return;
}

flextype('entries')->registry()->set('create.data.published_at', date(flextype('registry')->get('flextype.settings.date_format'), time()));
entries()->registry()->set('create.data.published_at', date(registry()->get('flextype.settings.date_format'), time()));
});
}
}
8 changes: 4 additions & 4 deletions src/flextype/Foundation/Entries/Fields/PublishedByField.php
Expand Up @@ -7,12 +7,12 @@
* Founded by Sergey Romanenko and maintained by Flextype Community.
*/

if (flextype('registry')->get('flextype.settings.entries.fields.published_by.enabled')) {
flextype('emitter')->addListener('onEntriesCreate', static function (): void {
if (flextype('entries')->registry()->get('create.data.published_by') !== null) {
if (registry()->get('flextype.settings.entries.fields.published_by.enabled')) {
emitter()->addListener('onEntriesCreate', static function (): void {
if (entries()->registry()->get('create.data.published_by') !== null) {
return;
}

flextype('entries')->registry()->set('create.data.published_by', '');
entries()->registry()->set('create.data.published_by', '');
});
}

0 comments on commit 1541b4e

Please sign in to comment.