2021-07-19 15:00:09 +02:00
|
|
|
<?php
|
|
|
|
namespace App\Model\Table;
|
|
|
|
|
|
|
|
use App\Model\Table\AppTable;
|
|
|
|
use Cake\ORM\Table;
|
|
|
|
use Cake\Validation\Validator;
|
|
|
|
use Cake\Core\Configure;
|
|
|
|
use Cake\ORM\TableRegistry;
|
|
|
|
|
|
|
|
class SettingsTable extends AppTable
|
|
|
|
{
|
|
|
|
public function initialize(array $config): void
|
|
|
|
{
|
|
|
|
parent::initialize($config);
|
|
|
|
$this->setTable(false);
|
|
|
|
$this->SettingsProvider = TableRegistry::getTableLocator()->get('SettingsProvider');
|
|
|
|
}
|
|
|
|
|
2021-07-20 11:54:55 +02:00
|
|
|
public function getSettings($full=false): array
|
2021-07-19 15:00:09 +02:00
|
|
|
{
|
|
|
|
$settings = Configure::read()['Cerebrate'];
|
2021-07-20 11:54:55 +02:00
|
|
|
if (empty($full)) {
|
|
|
|
return $settings;
|
|
|
|
} else {
|
|
|
|
$settingsProvider = $this->SettingsProvider->getSettingsConfiguration($settings);
|
2021-07-21 11:18:06 +02:00
|
|
|
$settingsFlattened = $this->SettingsProvider->flattenSettingsConfiguration($settingsProvider);
|
2021-07-20 11:54:55 +02:00
|
|
|
$notices = $this->SettingsProvider->getNoticesFromSettingsConfiguration($settingsProvider, $settings);
|
|
|
|
return [
|
|
|
|
'settings' => $settings,
|
|
|
|
'settingsProvider' => $settingsProvider,
|
2021-07-21 11:18:06 +02:00
|
|
|
'settingsFlattened' => $settingsFlattened,
|
2021-07-20 11:54:55 +02:00
|
|
|
'notices' => $notices,
|
|
|
|
];
|
|
|
|
}
|
2021-07-19 15:00:09 +02:00
|
|
|
}
|
|
|
|
}
|