| Current Path : /var/www/html/reddsis/app/Services/ |
| Current File : /var/www/html/reddsis/app/Services/ThemeService.php |
<?php
namespace App\Services;
use App\Models\Backend\ThemeRule;
use App\Models\Backend\ThemeSetting;
use Illuminate\Support\Facades\Storage;
class ThemeService
{
public static function generateCss(): void
{
$rules = ThemeRule::where('rule_status', true)->get();
$settings = ThemeSetting::settingArray();
$css = '';
foreach ($rules as $rule) {
$content = $rule->rule_content;
$theme = $settings[$rule->rule_id] ?? [];
foreach ($theme as $key => $value) {
if (is_array($value) && ($value['type'] ?? null) === 'unit') {
$value = $value['value'] . $value['unit'];
}
$content = str_replace("{{{$key}}}", $value, $content);
}
$css .= PHP_EOL . $content . PHP_EOL;
}
$disk = 'public';
$path = 'css/theme-module.css';
if (!Storage::disk($disk)->exists('css')) {
Storage::disk($disk)->makeDirectory('css');
}
Storage::disk($disk)->put($path, $css);
}
}