| 123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657 |
- <?php
- namespace ModulesGarden\Servers\ProxmoxCloudVps\Core\UI\Widget\Graphs\Settings;
- use ModulesGarden\Servers\ProxmoxCloudVps\Core\UI\Widget\Forms\DataProviders\BaseModelDataProvider;
- use ModulesGarden\Servers\ProxmoxCloudVps\Core\Models\ModuleSettings\Model;
- /**
- * Description of SettingDataProvider
- *
- * @author inbs
- */
- class SettingDataProvider extends BaseModelDataProvider
- {
- public function __construct()
- {
- parent::__construct('\ModulesGarden\Servers\ProxmoxCloudVps\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)
- ]);
- }
- }
- }
|