| 1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859 |
- <?php
- namespace ModulesGarden\ProxmoxAddon\Core\UI\Widget\Graphs\Settings;
- use ModulesGarden\ProxmoxAddon\Core\UI\Widget\Forms\DataProviders\BaseModelDataProvider;
- use ModulesGarden\ProxmoxAddon\Core\Models\ModuleSettings\Model;
- /**
- * Description of SettingDataProvider
- *
- * @author inbs
- */
- class SettingDataProvider extends BaseModelDataProvider
- {
- public function __construct()
- {
- parent::__construct('\ModulesGarden\ProxmoxAddon\Core\Models\ModuleSettings\Model');
- }
- public function read()
- {
- $data = Model::where('setting', $this->getRequestValue('index', ''))->first();
- if ($data)
- {
- $this->data = json_decode($data->value, true);
- }
- else
- {
- $customParams = json_decode(html_entity_decode($this->getRequestValue('customParams', "{}")));
- $defaultFilter = json_decode(html_entity_decode($this->getRequestValue('defaultFilter', "{}")));
- $this->data['setting'] = $this->getRequestValue('index', '');
- if ($customParams->labels && $defaultFilter->displayEditColor)
- {
- foreach ($customParams->labels as $label)
- {
- $this->data[$label] = '47FF44';
- }
- }
- }
- }
- public function update()
- {
- $query = Model::where('setting', $this->formData['setting']);
- if ($query->count() > 0)
- {
- $query->update(['value' => json_encode($this->formData)]);
- }
- else
- {
- Model::create([
- 'setting' => $this->formData['setting'],
- 'value' => json_encode($this->formData)
- ]);
- }
- }
- }
|