39 lines
983 B
PHP
39 lines
983 B
PHP
<?php
|
|
|
|
namespace App\Models;
|
|
|
|
use Illuminate\Database\Eloquent\Model;
|
|
use Illuminate\Support\Facades\Storage;
|
|
|
|
class Setting extends Model
|
|
{
|
|
protected $fillable = ['key', 'value'];
|
|
|
|
// Helper untuk mengambil value berdasarkan key
|
|
public static function get($key, $default = null)
|
|
{
|
|
$setting = self::where('key', $key)->first();
|
|
|
|
$defaults = [
|
|
'site_name' => 'Si Klinik',
|
|
'site_description' => 'Sistem Informasi Klinik.',
|
|
'accent_color' => 'indigo',
|
|
'base_color' => 'zinc',
|
|
];
|
|
|
|
if (!$setting) return $defaults[$key] ?? $default;
|
|
|
|
if (in_array($key, ['site_logo', 'site_favicon']) && $setting->value) {
|
|
return Storage::url($setting->value);
|
|
}
|
|
|
|
return $setting->value;
|
|
}
|
|
|
|
// Helper untuk update atau create
|
|
public static function set($key, $value)
|
|
{
|
|
return self::updateOrCreate(['key' => $key], ['value' => $value]);
|
|
}
|
|
}
|