<?php namespace Common\Core\Install; use Common\Pages\CustomPage; class CreateDefaultCustomPages { public function execute(): void { if (CustomPage::count() > 0) { return; } CustomPage::firstOrCreate( [ 'slug' => 'privacy-policy', ], [ 'title' => 'Example Privacy Policy', 'slug' => 'privacy-policy', 'body' => $this->replacePlaceholders( file_get_contents( app('path.common') . '/resources/defaults/privacy-policy.html', ), ), 'type' => 'default', ], ); CustomPage::firstOrCreate( [ 'slug' => 'terms-of-service', ], [ 'title' => 'Example Terms of Service', 'slug' => 'terms-of-service', 'body' => $this->replacePlaceholders( file_get_contents( app('path.common') . '/resources/defaults/terms-of-service.html', ), ), 'type' => 'default', ], ); CustomPage::firstOrCreate( [ 'slug' => 'about-us', ], [ 'title' => 'Example About Us', 'slug' => 'about-us', 'body' => file_get_contents( app('path.common') . '/resources/defaults/lorem.html', ), 'type' => 'default', ], ); } protected function replacePlaceholders(string $text): string { return str_replace( [ '[Website Name]', '[Website URL]', '[Contact Email]', '[Your Country/State]', ], [ config('app.name'), url('/'), settings('mail.contact_page_address'), 'United States', ], $text, ); } }