From b8ffb891d1f8e18c2e856939a950b00c54a97bcd Mon Sep 17 00:00:00 2001 From: Awilum Date: Sun, 22 Nov 2020 22:57:05 +0300 Subject: [PATCH] feat(entries): improve create() method --- src/flextype/Foundation/Entries/Entries.php | 17 +++++++++-------- 1 file changed, 9 insertions(+), 8 deletions(-) diff --git a/src/flextype/Foundation/Entries/Entries.php b/src/flextype/Foundation/Entries/Entries.php index 17503bfd..39a7d1f7 100755 --- a/src/flextype/Foundation/Entries/Entries.php +++ b/src/flextype/Foundation/Entries/Entries.php @@ -263,16 +263,17 @@ class Entries // Run event: onEntryCreate flextype('emitter')->emit('onEntryCreate'); + // Create entry directory first if it is not exists $entry_dir = $this->getDirectoryLocation($this->storage['create']['id']); + if (! flextype('filesystem')->directory($entry_dir)->exists() && + ! flextype('filesystem')->directory($entry_dir)->create()) { + return false; + } - if (! flextype('filesystem')->directory($entry_dir)->exists()) { - if (flextype('filesystem')->directory($entry_dir)->create()) { - if (! flextype('filesystem')->file($entry_file = $entry_dir . '/entry' . '.' . flextype('registry')->get('flextype.settings.entries.extension'))->exists()) { - return (bool) flextype('filesystem')->file($entry_file)->put(flextype('frontmatter')->encode($this->storage['create']['data'])); - } - - return false; - } + // Create entry file + $entry_file = $entry_dir . '/entry' . '.' . flextype('registry')->get('flextype.settings.entries.extension'); + if (! flextype('filesystem')->file($entry_file)->exists()) { + return (bool) flextype('filesystem')->file($entry_file)->put(flextype('frontmatter')->encode($this->storage['create']['data'])); } return false;