| Current Path : /var/www/html/reddsis/database/seeders/ |
| Current File : /var/www/html/reddsis/database/seeders/ThemeRuleSeeder.php |
<?php
namespace Database\Seeders;
use App\Models\Backend\ThemeRule;
use App\Models\Backend\ThemeSetting;
use Illuminate\Database\Seeder;
use Illuminate\Support\Facades\DB;
class ThemeRuleSeeder extends Seeder
{
public function run(): void
{
$adminId = 1;
DB::statement('SET FOREIGN_KEY_CHECKS=0');
ThemeSetting::truncate();
ThemeRule::truncate();
DB::statement('SET FOREIGN_KEY_CHECKS=1');
$rules = [
// ─── LOGIN ───────────────────────────────────────────
[
'rule_name' => 'Login Background',
'rule_description' => 'Background for Login page',
'rule_sorting' => 1,
'rule_content' => ':root { --login-bg-gradient: {{background-gradient}}; } .login-page { background: var(--login-bg-gradient); }',
'params' => [
['param_name' => 'background-gradient', 'param_type' => 'text', 'param_default' => 'linear-gradient(-45deg, rgba(5, 5, 152,0.5),rgba(9,209,154,0.5))'],
],
],
[
'rule_name' => 'Login Welcome Page',
'rule_description' => 'Description for login page',
'rule_sorting' => 2,
'rule_content' => ':root { --login-welcome-title: "{{title}}"; --login-welcome-desc: "{{description}}"; --login-copyright: "{{copyright}}"; } .login-welcome-title::before { content: var(--login-welcome-title); } .login-welcome-desc::before { content: var(--login-welcome-desc); } .login-copyright::before { content: var(--login-copyright); }',
'params' => [
['param_name' => 'title', 'param_type' => 'text', 'param_default' => 'WELCOME TO DYNAWEB4 CONTENT MANAGEMENT SYSTEM (CMS)'],
['param_name' => 'description', 'param_type' => 'text', 'param_default' => 'DYNAWEB4 is a modular content and application management system and platform that makes it easy to develop and deploy portals and web applications in a structured, secured and modular way.'],
['param_name' => 'copyright', 'param_type' => 'text', 'param_default' => 'Copyright 2026, Dynaweb4 & BLUNET, All Rights Reserved'],
],
],
];
foreach ($rules as $data) {
$params = $data['params'];
unset($data['params']);
$data['rule_params'] = json_encode($params);
$data['rule_status'] = true;
$data['created_by'] = $adminId;
$data['updated_by'] = $adminId;
$rule = ThemeRule::create($data);
foreach ($params as $param) {
$value = $param['param_type'] === 'unit'
? json_encode(['value' => $param['param_default'], 'unit' => 'px'])
: $param['param_default'];
$default = $param['param_type'] === 'unit'
? json_encode(['value' => $param['param_default'], 'unit' => 'px'])
: $param['param_default'];
ThemeSetting::create([
'setting_rule_id' => $rule->rule_id,
'setting_param_name' => $param['param_name'],
'setting_param_type' => $param['param_type'],
'setting_param_value' => $default,
'setting_param_default' => $default,
]);
}
}
}
}