diff --git a/src/flextype/Foundation/Entries/Entries.php b/src/flextype/Foundation/Entries/Entries.php index e0aab7ca..f09eaded 100755 --- a/src/flextype/Foundation/Entries/Entries.php +++ b/src/flextype/Foundation/Entries/Entries.php @@ -23,52 +23,15 @@ use function str_replace; class Entries { /** - * Current entry id + * Entries Storage * - * @var string - * @access private - */ - private $entry_id = null; - - /** - * Current entry data array + * Used for storing current requested entry(entries) data + * and maybe changed on fly. * * @var array - * @access private + * @access public */ - private $entry = []; - - /** - * Current entry create data array - * - * @var array - * @access private - */ - private $entry_create_data = []; - - /** - * Current entry update data array - * - * @var array - * @access private - */ - private $entry_update_data = []; - - /** - * Current entries data - * - * @var array|bool|int - * @access private - */ - private $entries; - - /** - * Current entries id - * - * @var string - * @access private - */ - private $entries_id = null; + public $storage = []; /** * Fetch entry(entries) @@ -102,27 +65,27 @@ class Entries public function fetchSingle(string $id) : array { // Store current requested entry id - $this->entry_id = $id; + $this->storage['fetch_single']['id'] = $id; // Get Cache ID for current requested entry - $entry_cache_id = $this->getCacheID($this->entry_id); + $entry_cache_id = $this->getCacheID($this->storage['fetch_single']['id']); // Try to get current requested entry from cache if (flextype('cache')->has($entry_cache_id)) { // Fetch entry from cache - $this->entry = flextype('cache')->get($entry_cache_id); + $this->storage['fetch_single']['data'] = flextype('cache')->get($entry_cache_id); // Run event: onEntryAfterCacheInitialized flextype('emitter')->emit('onEntryAfterCacheInitialized'); // Return entry from cache - return $this->entry; + return $this->storage['fetch_single']['data']; } // Try to get current requested entry from filesystem - if ($this->has($this->entry_id)) { + if ($this->has($this->storage['fetch_single']['id'])) { // Get entry file location - $entry_file = $this->getFileLocation($this->entry_id); + $entry_file = $this->getFileLocation($this->storage['fetch_single']['id']); // Try to get requested entry from the filesystem $entry_file_content = Filesystem::read($entry_file); @@ -131,22 +94,22 @@ class Entries } // Decode entry file content - $this->entry = flextype('frontmatter')->decode($entry_file_content); + $this->storage['fetch_single']['data'] = flextype('frontmatter')->decode($entry_file_content); // Run event: onEntryAfterInitialized flextype('emitter')->emit('onEntryAfterInitialized'); // Set cache state - $cache = flextype('entries')->entry['cache']['enabled'] ?? + $cache = flextype('entries')->storage['fetch_single']['data']['cache']['enabled'] ?? flextype('registry')->get('flextype.settings.cache.enabled'); // Save entry data to cache if ($cache) { - flextype('cache')->set($entry_cache_id, $this->entry); + flextype('cache')->set($entry_cache_id, $this->storage['fetch_single']['data']); } // Return entry data - return $this->entry; + return $this->storage['fetch_single']['data']; } // Return empty array if entry is not founded @@ -166,13 +129,13 @@ class Entries public function fetchCollection(string $id, array $filter = []) { // Init Entries object - $this->entries = []; + $this->storage['fetch_collection']['data'] = []; // Store current requested entries id - $this->entries_id = $this->getDirLocation($id); + $this->storage['entries']['id'] = $this->getDirLocation($id); // Find entries - $entries_list = find_filter($this->entries_id, $filter); + $entries_list = find_filter($this->storage['entries']['id'], $filter); // If entries founded in the entries folder // We are checking... Whether the requested entry is an a true entry. @@ -185,18 +148,18 @@ class Entries } $_id = ltrim(rtrim(str_replace(PATH['project'] . '/entries/', '', str_replace('\\', '/', $current_entry->getPath())), '/'), '/'); - $this->entries[$_id] = $this->fetchSingle($_id); + $this->storage['fetch_collection']['data'][$_id] = $this->fetchSingle($_id); } // Apply collection filter - $this->entries = collect_filter($this->entries, $filter); + $this->storage['fetch_collection']['data'] = collect_filter($this->storage['fetch_collection']['data'], $filter); // Run event: onEntriesAfterInitialized flextype('emitter')->emit('onEntriesAfterInitialized'); } // Return entries array - return $this->entries; + return $this->storage['fetch_collection']['data']; } /** @@ -211,11 +174,14 @@ class Entries */ public function rename(string $id, string $new_id) : bool { - if (! Filesystem::has($this->getDirLocation($new_id))) { - // Run event: onEntryRename - flextype('emitter')->emit('onEntryRename'); + $this->storage['rename']['id'] = $id; + $this->storage['rename']['new_id'] = $new_id; - return rename($this->getDirLocation($id), $this->getDirLocation($new_id)); + // Run event: onEntryRename + flextype('emitter')->emit('onEntryRename'); + + if (! $this->has($this->storage['rename']['new_id'])) { + return rename($this->getDirLocation($this->storage['rename']['id']), $this->getDirLocation($this->storage['rename']['new_id'])); } return false; @@ -233,19 +199,20 @@ class Entries */ public function update(string $id, array $data) : bool { - $entry_file = $this->getFileLocation($id); + // Store data + $this->storage['update']['id'] = $id; + $this->storage['update']['data'] = $data; + + // Run event: onEntryUpdate + flextype('emitter')->emit('onEntryUpdate'); + + $entry_file = $this->getFileLocation($this->storage['update']['id']); if (Filesystem::has($entry_file)) { $body = Filesystem::read($entry_file); $entry = flextype('frontmatter')->decode($body); - // Store data in the entry_update_data - $this->entry_update_data = $data; - - // Run event: onEntryUpdate - flextype('emitter')->emit('onEntryUpdate'); - - return Filesystem::write($entry_file, flextype('frontmatter')->encode(array_merge($entry, $this->entry_update_data))); + return Filesystem::write($entry_file, flextype('frontmatter')->encode(array_merge($entry, $this->storage['update']['data']))); } return false; @@ -263,21 +230,23 @@ class Entries */ public function create(string $id, array $data) : bool { - $entry_dir = $this->getDirLocation($id); + // Store data + $this->storage['create']['id'] = $id; + $this->storage['create']['data'] = $data; + + // Run event: onEntryCreate + flextype('emitter')->emit('onEntryCreate'); + + $entry_dir = $this->getDirLocation($this->storage['create']['id']); if (! Filesystem::has($entry_dir)) { // Try to create directory for new entry if (Filesystem::createDir($entry_dir)) { // Check if new entry file exists if (! Filesystem::has($entry_file = $entry_dir . '/entry' . '.' . flextype('registry')->get('flextype.settings.entries.extension'))) { - // Store data in the entry_create_data - $this->entry_create_data = $data; - - // Run event: onEntryCreate - flextype('emitter')->emit('onEntryCreate'); // Create a new entry! - return Filesystem::write($entry_file, flextype('frontmatter')->encode($this->entry_create_data)); + return Filesystem::write($entry_file, flextype('frontmatter')->encode($this->storage['create']['data'])); } return false; @@ -298,10 +267,13 @@ class Entries */ public function delete(string $id) : bool { + // Store data + $this->storage['delete']['id'] = $id; + // Run event: onEntryDelete flextype('emitter')->emit('onEntryDelete'); - return Filesystem::deleteDir($this->getDirLocation($id)); + return Filesystem::deleteDir($this->getDirLocation($this->storage['delete']['id'])); } /** @@ -317,10 +289,15 @@ class Entries */ public function copy(string $id, string $new_id, bool $deep = false) : ?bool { + // Store data + $this->storage['copy']['id'] = $id; + $this->storage['copy']['new_id'] = $new_id; + $this->storage['copy']['deep'] = $deep; + // Run event: onEntryRename flextype('emitter')->emit('onEntryCopy'); - return Filesystem::copy($this->getDirLocation($id), $this->getDirLocation($new_id), $deep); + return Filesystem::copy($this->getDirLocation($this->storage['copy']['id']), $this->getDirLocation($this->storage['copy']['new_id']), $this->storage['copy']['deep']); } /** @@ -334,7 +311,13 @@ class Entries */ public function has(string $id) : bool { - return Filesystem::has($this->getFileLocation($id)); + // Store data + $this->storage['has']['id'] = $id; + + // Run event: onEntryHas + flextype('emitter')->emit('onEntryHas'); + + return Filesystem::has($this->getFileLocation($this->storage['has']['id'])); } /** @@ -388,27 +371,4 @@ class Entries return md5('entry' . $entry_file); } - - /** - * Dynamically access entries properties. - * - * @param string $key Key - * @return mixed - */ - public function &__get(string $key) - { - return $this->$key; - } - - /** - * Dynamically set entries properties. - * - * @param string $key Key - * @param mixed $value Value - * @return void - */ - public function __set(string $key, $value): void - { - $this->$key = $value; - } } diff --git a/src/flextype/Foundation/Entries/Fields/CreatedAtField.php b/src/flextype/Foundation/Entries/Fields/CreatedAtField.php index 0087fea4..e21e582f 100644 --- a/src/flextype/Foundation/Entries/Fields/CreatedAtField.php +++ b/src/flextype/Foundation/Entries/Fields/CreatedAtField.php @@ -11,16 +11,16 @@ use Flextype\Component\Filesystem\Filesystem; if (flextype('registry')->get('flextype.settings.entries.fields.created_at.enabled')) { flextype('emitter')->addListener('onEntryAfterInitialized', static function () : void { - flextype('entries')->entry['created_at'] = isset(flextype('entries')->entry['created_at']) ? - (int) strtotime(flextype('entries')->entry['created_at']) : - (int) Filesystem::getTimestamp(flextype('entries')->getFileLocation(flextype('entries')->entry_id)); + flextype('entries')->storage['fetch_single']['data']['created_at'] = isset(flextype('entries')->storage['fetch_single']['data']['created_at']) ? + (int) strtotime(flextype('entries')->storage['fetch_single']['data']['created_at']) : + (int) Filesystem::getTimestamp(flextype('entries')->getFileLocation(flextype('entries')->storage['fetch_single']['id'])); }); flextype('emitter')->addListener('onEntryCreate', static function () : void { - if (isset(flextype('entries')->entry_create_data['created_at'])) { - flextype('entries')->entry_create_data['created_at'] = flextype('entries')->entry_create_data['created_at']; + if (isset(flextype('entries')->storage['create']['data']['created_at'])) { + flextype('entries')->storage['create']['data']['created_at'] = flextype('entries')->storage['create']['data']['created_at']; } else { - flextype('entries')->entry_create_data['created_at'] = date(flextype('registry')->get('flextype.settings.date_format'), time()); + flextype('entries')->storage['create']['data']['created_at'] = date(flextype('registry')->get('flextype.settings.date_format'), time()); } }); } diff --git a/src/flextype/Foundation/Entries/Fields/CreatedByField.php b/src/flextype/Foundation/Entries/Fields/CreatedByField.php index 5939a992..59c81b84 100644 --- a/src/flextype/Foundation/Entries/Fields/CreatedByField.php +++ b/src/flextype/Foundation/Entries/Fields/CreatedByField.php @@ -9,10 +9,10 @@ declare(strict_types=1); if (flextype('registry')->get('flextype.settings.entries.fields.created_by.enabled')) { flextype('emitter')->addListener('onEntryCreate', static function () : void { - if (isset(flextype('entries')->entry_create_data['created_by'])) { - flextype('entries')->entry_create_data['created_by'] = flextype('entries')->entry_create_data['created_by']; + if (isset(flextype('entries')->storage['create']['data']['created_by'])) { + flextype('entries')->storage['create']['data']['created_by'] = flextype('entries')->storage['create']['data']['created_by']; } else { - flextype('entries')->entry_create_data['created_by'] = ''; + flextype('entries')->storage['create']['data']['created_by'] = ''; } }); } diff --git a/src/flextype/Foundation/Entries/Fields/IdField.php b/src/flextype/Foundation/Entries/Fields/IdField.php index 6f034419..a3203448 100644 --- a/src/flextype/Foundation/Entries/Fields/IdField.php +++ b/src/flextype/Foundation/Entries/Fields/IdField.php @@ -9,6 +9,6 @@ declare(strict_types=1); if (flextype('registry')->get('flextype.settings.entries.fields.id.enabled')) { flextype('emitter')->addListener('onEntryAfterInitialized', static function () : void { - flextype('entries')->entry['id'] = isset(flextype('entries')->entry['id']) ? (string) flextype('entries')->entry['id'] : (string) ltrim(rtrim(flextype('entries')->entry_id, '/'), '/'); + flextype('entries')->storage['fetch_single']['data']['id'] = isset(flextype('entries')->storage['fetch_single']['data']['id']) ? (string) flextype('entries')->storage['fetch_single']['data']['id'] : (string) ltrim(rtrim(flextype('entries')->storage['fetch_single']['id'], '/'), '/'); }); } diff --git a/src/flextype/Foundation/Entries/Fields/ModifiedAtField.php b/src/flextype/Foundation/Entries/Fields/ModifiedAtField.php index 13b1b9f2..c10ea5a5 100644 --- a/src/flextype/Foundation/Entries/Fields/ModifiedAtField.php +++ b/src/flextype/Foundation/Entries/Fields/ModifiedAtField.php @@ -11,6 +11,6 @@ use Flextype\Component\Filesystem\Filesystem; if (flextype('registry')->get('flextype.settings.entries.fields.modified_at.enabled')) { flextype('emitter')->addListener('onEntryAfterInitialized', static function () : void { - flextype('entries')->entry['modified_at'] = (int) Filesystem::getTimestamp(flextype('entries')->getFileLocation(flextype('entries')->entry_id)); + flextype('entries')->storage['fetch_single']['data']['modified_at'] = (int) Filesystem::getTimestamp(flextype('entries')->getFileLocation(flextype('entries')->storage['fetch_single']['id'])); }); } diff --git a/src/flextype/Foundation/Entries/Fields/ParsersField.php b/src/flextype/Foundation/Entries/Fields/ParsersField.php index 87a04922..adae36c2 100644 --- a/src/flextype/Foundation/Entries/Fields/ParsersField.php +++ b/src/flextype/Foundation/Entries/Fields/ParsersField.php @@ -17,38 +17,38 @@ if (flextype('registry')->get('flextype.settings.entries.fields.parsers.enabled' function processParsersField() : void { - $cache = flextype('entries')->entry['cache']['enabled'] ?? + $cache = flextype('entries')->storage['fetch_single']['data']['cache']['enabled'] ?? flextype('registry')->get('flextype.settings.cache.enabled'); - if (! isset(flextype('entries')->entry['parsers'])) { + if (! isset(flextype('entries')->storage['fetch_single']['data']['parsers'])) { return; } - foreach (flextype('entries')->entry['parsers'] as $parser_name => $parser_data) { + foreach (flextype('entries')->storage['fetch_single']['data']['parsers'] as $parser_name => $parser_data) { if (! in_array($parser_name, ['markdown', 'shortcode'])) { continue; } - if (! isset(flextype('entries')->entry['parsers'][$parser_name]['enabled']) || flextype('entries')->entry['parsers'][$parser_name]['enabled'] !== true) { + if (! isset(flextype('entries')->storage['fetch_single']['data']['parsers'][$parser_name]['enabled']) || flextype('entries')->storage['fetch_single']['data']['parsers'][$parser_name]['enabled'] !== true) { continue; } - if (! isset(flextype('entries')->entry['parsers'][$parser_name]['fields'])) { + if (! isset(flextype('entries')->storage['fetch_single']['data']['parsers'][$parser_name]['fields'])) { continue; } - if (! is_array(flextype('entries')->entry['parsers'][$parser_name]['fields'])) { + if (! is_array(flextype('entries')->storage['fetch_single']['data']['parsers'][$parser_name]['fields'])) { continue; } - foreach (flextype('entries')->entry['parsers'][$parser_name]['fields'] as $field) { + foreach (flextype('entries')->storage['fetch_single']['data']['parsers'][$parser_name]['fields'] as $field) { if (in_array($field, flextype('registry')->get('flextype.settings.entries.fields'))) { continue; } if ($parser_name === 'markdown') { - if (Arrays::has(flextype('entries')->entry, $field)) { - Arrays::set(flextype('entries')->entry, $field, flextype('markdown')->parse(Arrays::get(flextype('entries')->entry, $field), $cache)); + if (Arrays::has(flextype('entries')->storage['fetch_single']['data'], $field)) { + Arrays::set(flextype('entries')->storage['fetch_single']['data'], $field, flextype('markdown')->parse(Arrays::get(flextype('entries')->storage['fetch_single']['data'], $field), $cache)); } } @@ -56,11 +56,11 @@ function processParsersField() : void continue; } - if (! Arrays::has(flextype('entries')->entry, $field)) { + if (! Arrays::has(flextype('entries')->storage['fetch_single']['data'], $field)) { continue; } - Arrays::set(flextype('entries')->entry, $field, flextype('shortcode')->parse(Arrays::get(flextype('entries')->entry, $field), $cache)); + Arrays::set(flextype('entries')->storage['fetch_single']['data'], $field, flextype('shortcode')->parse(Arrays::get(flextype('entries')->storage['fetch_single']['data'], $field), $cache)); } } } diff --git a/src/flextype/Foundation/Entries/Fields/PublishedAtField.php b/src/flextype/Foundation/Entries/Fields/PublishedAtField.php index ac465c2c..6f2f506f 100644 --- a/src/flextype/Foundation/Entries/Fields/PublishedAtField.php +++ b/src/flextype/Foundation/Entries/Fields/PublishedAtField.php @@ -11,16 +11,16 @@ use Flextype\Component\Filesystem\Filesystem; if (flextype('registry')->get('flextype.settings.entries.fields.published_at.enabled')) { flextype('emitter')->addListener('onEntryAfterInitialized', static function () : void { - flextype('entries')->entry['published_at'] = isset(flextype('entries')->entry['published_at']) ? - (int) strtotime(flextype('entries')->entry['published_at']) : - (int) Filesystem::getTimestamp(flextype('entries')->getFileLocation(flextype('entries')->entry_id)); + flextype('entries')->storage['fetch_single']['data']['published_at'] = isset(flextype('entries')->storage['fetch_single']['data']['published_at']) ? + (int) strtotime(flextype('entries')->storage['fetch_single']['data']['published_at']) : + (int) Filesystem::getTimestamp(flextype('entries')->getFileLocation(flextype('entries')->storage['fetch_single']['id'])); }); flextype('emitter')->addListener('onEntryCreate', static function () : void { - if (isset(flextype('entries')->entry_create_data['published_at'])) { - flextype('entries')->entry_create_data['published_at'] = flextype('entries')->entry_create_data['published_at']; + if (isset(flextype('entries')->storage['create']['data']['published_at'])) { + flextype('entries')->storage['create']['data']['published_at'] = flextype('entries')->storage['create']['data']['published_at']; } else { - flextype('entries')->entry_create_data['published_at'] = date(flextype('registry')->get('flextype.settings.date_format'), time()); + flextype('entries')->storage['create']['data']['published_at'] = date(flextype('registry')->get('flextype.settings.date_format'), time()); } }); } diff --git a/src/flextype/Foundation/Entries/Fields/PublishedByField.php b/src/flextype/Foundation/Entries/Fields/PublishedByField.php index 526d95ad..86ca4425 100644 --- a/src/flextype/Foundation/Entries/Fields/PublishedByField.php +++ b/src/flextype/Foundation/Entries/Fields/PublishedByField.php @@ -9,10 +9,10 @@ declare(strict_types=1); if (flextype('registry')->get('flextype.settings.entries.fields.published_by.enabled')) { flextype('emitter')->addListener('onEntryCreate', static function () : void { - if (isset(flextype('entries')->entry_create_data['published_by'])) { - flextype('entries')->entry_create_data['published_by'] = flextype('entries')->entry_create_data['published_by']; + if (isset(flextype('entries')->storage['create']['data']['published_by'])) { + flextype('entries')->storage['create']['data']['published_by'] = flextype('entries')->storage['create']['data']['published_by']; } else { - flextype('entries')->entry_create_data['published_by'] = ''; + flextype('entries')->storage['create']['data']['published_by'] = ''; } }); } diff --git a/src/flextype/Foundation/Entries/Fields/RoutableField.php b/src/flextype/Foundation/Entries/Fields/RoutableField.php index f85f3125..f21afc84 100644 --- a/src/flextype/Foundation/Entries/Fields/RoutableField.php +++ b/src/flextype/Foundation/Entries/Fields/RoutableField.php @@ -10,16 +10,16 @@ declare(strict_types=1); if (flextype('registry')->get('flextype.settings.entries.fields.routable.enabled')) { flextype('emitter')->addListener('onEntryAfterInitialized', static function () : void { - flextype('entries')->entry['routable'] = isset(flextype('entries')->entry['routable']) ? - (bool) flextype('entries')->entry['routable'] : + flextype('entries')->storage['fetch_single']['data']['routable'] = isset(flextype('entries')->storage['fetch_single']['data']['routable']) ? + (bool) flextype('entries')->storage['fetch_single']['data']['routable'] : true; }); flextype('emitter')->addListener('onEntryCreate', static function () : void { - if (isset(flextype('entries')->entry_create_data['routable']) && is_bool(flextype('entries')->entry_create_data['routable'])) { - flextype('entries')->entry_create_data['routable'] = flextype('entries')->entry_create_data['routable']; + if (isset(flextype('entries')->storage['create']['data']['routable']) && is_bool(flextype('entries')->storage['create']['data']['routable'])) { + flextype('entries')->storage['create']['data']['routable'] = flextype('entries')->storage['create']['data']['routable']; } else { - flextype('entries')->entry_create_data['routable'] = true; + flextype('entries')->storage['create']['data']['routable'] = true; } }); } diff --git a/src/flextype/Foundation/Entries/Fields/SlugField.php b/src/flextype/Foundation/Entries/Fields/SlugField.php index 19fd80ee..7ddffefd 100644 --- a/src/flextype/Foundation/Entries/Fields/SlugField.php +++ b/src/flextype/Foundation/Entries/Fields/SlugField.php @@ -10,7 +10,7 @@ declare(strict_types=1); if (flextype('registry')->get('flextype.settings.entries.fields.slug.enabled')) { flextype('emitter')->addListener('onEntryAfterInitialized', static function () : void { - $parts = explode('/', ltrim(rtrim(flextype('entries')->entry_id, '/'), '/')); - flextype('entries')->entry['slug'] = isset(flextype('entries')->entry['slug']) ? (string) flextype('entries')->entry['slug'] : (string) end($parts); + $parts = explode('/', ltrim(rtrim(flextype('entries')->storage['fetch_single']['id'], '/'), '/')); + flextype('entries')->storage['fetch_single']['data']['slug'] = 'ads';//isset(flextype('entries')->storage['fetch_single']['data']['slug']) ? (string) flextype('entries')->storage['fetch_single']['data']['slug']: (string) end($parts); }); } diff --git a/src/flextype/Foundation/Entries/Fields/UuidField.php b/src/flextype/Foundation/Entries/Fields/UuidField.php index c0522a4e..c5aca6a1 100644 --- a/src/flextype/Foundation/Entries/Fields/UuidField.php +++ b/src/flextype/Foundation/Entries/Fields/UuidField.php @@ -11,10 +11,10 @@ use Ramsey\Uuid\Uuid; if (flextype('registry')->get('flextype.settings.entries.fields.uuid.enabled')) { flextype('emitter')->addListener('onEntryCreate', static function () : void { - if (isset(flextype('entries')->entry_create_data['uuid'])) { - flextype('entries')->entry_create_data['uuid'] = flextype('entries')->entry_create_data['uuid']; + if (isset(flextype('entries')->storage['create']['data']['uuid'])) { + flextype('entries')->storage['create']['data']['uuid'] = flextype('entries')->storage['create']['data']['uuid']; } else { - flextype('entries')->entry_create_data['uuid'] = Uuid::uuid4()->toString(); + flextype('entries')->storage['create']['data']['uuid'] = Uuid::uuid4()->toString(); } }); } diff --git a/src/flextype/Foundation/Entries/Fields/VisibilityField.php b/src/flextype/Foundation/Entries/Fields/VisibilityField.php index 30d53714..a0c612ac 100644 --- a/src/flextype/Foundation/Entries/Fields/VisibilityField.php +++ b/src/flextype/Foundation/Entries/Fields/VisibilityField.php @@ -15,18 +15,18 @@ if (flextype('registry')->get('flextype.settings.entries.fields.visibility.enabl ]; flextype('emitter')->addListener('onEntryAfterInitialized', static function () use ($visibility) : void { - if (isset(flextype('entries')->entry['visibility']) && in_array(flextype('entries')->entry['visibility'], $visibility)) { - flextype('entries')->entry['visibility'] = (string) $visibility[flextype('entries')->entry['visibility']]; + if (isset(flextype('entries')->storage['fetch_single']['data']['visibility']) && in_array(flextype('entries')->storage['fetch_single']['data']['visibility'], $visibility)) { + flextype('entries')->storage['fetch_single']['data']['visibility'] = (string) $visibility[flextype('entries')->storage['fetch_single']['data']['visibility']]; } else { - flextype('entries')->entry['visibility'] = (string) $visibility['visible']; + flextype('entries')->storage['fetch_single']['data']['visibility'] = (string) $visibility['visible']; } }); flextype('emitter')->addListener('onEntryCreate', static function () use ($visibility) : void { - if (isset(flextype('entries')->entry_create_data['visibility']) && in_array(flextype('entries')->entry_create_data['visibility'], $visibility)) { - flextype('entries')->entry_create_data['visibility'] = flextype('entries')->entry_create_data['visibility']; + if (isset(flextype('entries')->storage['create']['data']['visibility']) && in_array(flextype('entries')->storage['create']['data']['visibility'], $visibility)) { + flextype('entries')->storage['create']['data']['visibility'] = flextype('entries')->storage['create']['data']['visibility']; } else { - flextype('entries')->entry_create_data['visibility'] = 'visible'; + flextype('entries')->storage['create']['data']['visibility'] = 'visible'; } }); }