Skip to content
Snippets Groups Projects

3458285: fix issue with checking if iO builder is enabled

Merged mauro_ requested to merge issue/io_builder-3458285:1.0.x into 1.0.x
2 files
+ 23
3
Compare changes
  • Side-by-side
  • Inline
Files
2
@@ -2,6 +2,7 @@
namespace Drupal\io_builder\PrivateTempStore;
use Drupal\Core\Session\AccountProxy;
use Drupal\Core\TempStore\PrivateTempStoreFactory;
/**
@@ -12,9 +13,17 @@ use Drupal\Core\TempStore\PrivateTempStoreFactory;
class IoBuilderSettingsStorage extends IoBuilderStorage {
/**
* {@inheritdoc}
* IoBuilderSettingsStorage constructor.
*
* @param \Drupal\Core\TempStore\PrivateTempStoreFactory $privateTempStorageFactory
* The private temp store factory service.
* @param \Drupal\Core\Session\AccountProxy $currentUser
* The current user.
*/
public function __construct(PrivateTempStoreFactory $privateTempStorageFactory) {
public function __construct(
PrivateTempStoreFactory $privateTempStorageFactory,
protected AccountProxy $currentUser
) {
parent::__construct($privateTempStorageFactory);
$this->initialiseTempStore('io_builder_settings');
}
@@ -34,7 +43,17 @@ class IoBuilderSettingsStorage extends IoBuilderStorage {
* Tells us whether or not the IO builder has been enabled.
*/
public function ioBuilderEnabled(): bool {
$ioBuilderEnabled = $this->tempStore->get('enabled') ?? FALSE;
if ($this->currentUser->isAnonymous()) {
return FALSE;
}
try {
$ioBuilderEnabled = $this->tempStore->get('enabled') ?? FALSE;
}
catch (\Exception $e) {
return FALSE;
}
return (bool) $ioBuilderEnabled;
}
Loading