File: /var/www/exnova-telegram-bot-v2/app/Models/Settings.php
<?php
namespace App\Models;
use A17\Twill\TwillBlocks;
use A17\Twill\Models\Block;
class Settings {
public static function get($key, $settingKey)
{
$settings = Block::query()
->where('type', 'appSettings.' . $key)
->first();
if (!$settings) {
return null;
}
$settings = $settings->content;
if (!empty($settings[$settingKey])) {
return $settings[$settingKey];
}
return null;
}
public static function getTranslated($key, $settingKey, $lang = 'en')
{
$settings = self::get($key, $settingKey);
if (!empty($settings[$lang])) {
return $settings[$lang];
}
// Return default translation
if (!empty($settings['en'])) {
return $settings['en'];
}
return null;
}
public static function save($key, $settingKey, $value)
{
$settings = Block::query()
->where('type', 'appSettings.' . $key)
->first();
if (empty($settings)) {
$block = new Block();
$block->type = 'appSettings.' . $key;
$block->content = [$settingKey => $value];
$block->blockable_type = 'A17\Twill\Models\AppSetting';
$block->blockable_id = 1;
$block->position = 0;
$block->save();
} else {
$content = $settings->content;
$content = array_merge($content, [$settingKey => $value]);
$settings->content = $content;
$settings->save();
}
}
}