2024-03-01 20:34:36 +01:00
|
|
|
<?php
|
|
|
|
|
|
|
|
namespace App\Services;
|
|
|
|
|
|
|
|
class SettingsService
|
|
|
|
{
|
2024-03-12 23:16:36 +01:00
|
|
|
protected $settings;
|
2024-03-01 20:34:36 +01:00
|
|
|
protected $folks;
|
|
|
|
protected $tags;
|
2024-03-12 23:16:36 +01:00
|
|
|
protected $docs;
|
2024-03-01 20:34:36 +01:00
|
|
|
|
2024-03-12 23:16:36 +01:00
|
|
|
public function __construct(DocService $docService)
|
2024-03-01 20:34:36 +01:00
|
|
|
{
|
2024-03-12 23:16:36 +01:00
|
|
|
$this->folks = json_decode(file_get_contents(env('FOLKS_PATH')), true);
|
2024-03-15 21:28:26 +01:00
|
|
|
$this->tags = json_decode(file_get_contents(env('TAGS_PATH')), true);
|
2024-03-12 23:16:36 +01:00
|
|
|
$this->docs = $docService;
|
|
|
|
}
|
|
|
|
|
|
|
|
protected function loadSettings()
|
|
|
|
{
|
|
|
|
return json_decode(file_get_contents(env('SETTINGS_PATH')), true);
|
|
|
|
}
|
|
|
|
|
|
|
|
public function getSettings()
|
|
|
|
{
|
|
|
|
return $this->loadSettings();
|
2024-03-01 20:34:36 +01:00
|
|
|
}
|
|
|
|
|
|
|
|
public function getGlobal()
|
|
|
|
{
|
2024-03-12 23:16:36 +01:00
|
|
|
$this->settings = $this->loadSettings();
|
|
|
|
return $this->settings['global'];
|
2024-03-01 20:34:36 +01:00
|
|
|
}
|
|
|
|
|
2024-03-19 20:19:27 +01:00
|
|
|
public function getEmail()
|
|
|
|
{
|
|
|
|
$this->settings = $this->loadSettings();
|
|
|
|
return $this->settings['email'];
|
|
|
|
}
|
|
|
|
|
2024-03-14 19:39:43 +01:00
|
|
|
public function getMenu()
|
|
|
|
{
|
|
|
|
$this->settings = $this->loadSettings();
|
|
|
|
return $this->settings['menu'];
|
|
|
|
}
|
|
|
|
|
2024-03-15 21:28:26 +01:00
|
|
|
public function getTags()
|
|
|
|
{
|
|
|
|
return $this->tags;
|
|
|
|
}
|
|
|
|
|
2024-03-01 20:34:36 +01:00
|
|
|
public function getFolks()
|
|
|
|
{
|
|
|
|
return $this->folks;
|
|
|
|
}
|
2024-03-12 23:16:36 +01:00
|
|
|
|
|
|
|
public function updatePageIndex()
|
|
|
|
{
|
|
|
|
$this->settings = $this->loadSettings();
|
|
|
|
$this->settings['library_stats']['current_index']++;
|
|
|
|
$this->docs->writeSettings($this->settings);
|
|
|
|
}
|
|
|
|
|
|
|
|
public function updateGlobalData($key, $value)
|
|
|
|
{
|
|
|
|
$this->settings = $this->loadSettings();
|
|
|
|
$this->settings['global'][$key] = $data;
|
|
|
|
$this->docs->writeSettings($this->settings);
|
|
|
|
}
|
2024-03-19 23:35:02 +01:00
|
|
|
|
|
|
|
public function sync($data)
|
|
|
|
{
|
|
|
|
//dd($data->global->renderOnSave);
|
|
|
|
$settings = $this->getSettings();
|
|
|
|
$settings['global']['base_url'] = $data->global->base_url;
|
|
|
|
$settings['global']['title'] = $data->global->title;
|
|
|
|
$settings['global']['descriptions'] = $data->global->descriptions;
|
|
|
|
$settings['global']['private'] = $data->global->private;
|
|
|
|
$settings['global']['renderOnSave'] = $data->global->renderOnSave;
|
|
|
|
$settings['global']['theme'] = $data->global->theme;
|
|
|
|
$settings['global']['externalAPI'] = $data->global->externalAPI;
|
|
|
|
$settings['global']['dynamicRender'] = $data->global->dynamicRender;
|
|
|
|
|
|
|
|
//TODO: This is for to be created MemberServices
|
|
|
|
//Member::updateData('handle', $data['member']['handle']);
|
|
|
|
//Member::updateData('email', $data['member']['email']);
|
|
|
|
|
|
|
|
$settings['email']['active'] = $data->email->active;
|
|
|
|
$settings['email']['smtp'] = $data->email->smtp;
|
|
|
|
$settings['email']['mailgun'] = $data->email->mailgun;
|
|
|
|
|
|
|
|
return $this->docs->writeSettings($settings);
|
|
|
|
}
|
2024-03-01 20:34:36 +01:00
|
|
|
}
|