File: D:/HostingSpaces/SBogers10/conmeq.komma.pro/database/seeds/MultiSitePageSeeder.php
<?php
//
//use App\Komma\Globalization\Languages\Models\Language;
//use App\Komma\Pages\Models\Page;
//use App\Komma\Pages\Models\PageTranslation;
//use App\Komma\Routes\RouteService;
//use App\Komma\Sites\Models\Site;
//use App\Komma\Sites\SiteServiceInterface;
//use Illuminate\Database\Seeder;
//
//class MultiSitePageSeeder extends Seeder
//{
// /**
// *
// */
// public function run()
// {
// $routeService = new RouteService();
// $siteService = App::make(SiteServiceInterface::class); //Returns a singleton that is used throughout the whole app
//
// $mainSite = Site::where('name', '=', 'Main company')->first();
// $subsidiarySite = Site::where('name', '=', 'Subsidiary company')->first();
//
// $mainSiteRoot = new Page(['active' => '0', 'site_id' => $mainSite->id]);
// $mainSiteRoot->makeRoot();
// $mainSiteRoot->save();
//
// $subsidiarySiteRoot = new Page(['active' => '0', 'site_id' => $subsidiarySite->id]);
// $subsidiarySiteRoot->makeRoot();
// $subsidiarySiteRoot->save();
//
// $mainSitePages = [
// [
// 'code_name' => 'home',
// 'nl' => "Home",
// 'de' => "Home",
// 'en' => "Home",
// ],
// [
// 'code_name' => 'about',
// 'nl' => "Over ons",
// 'de' => "Über uns",
// 'en' => "About us",
// 'children' => [
// [
// 'code_name' => 'the_team',
// 'nl' => 'Het team',
// 'de' => 'Das team',
// 'en' => 'The Team'
// ],
// [
// 'code_name' => 'location',
// 'nl' => 'Locatie',
// 'de' => 'Standort',
// 'en' => 'Location',
// 'children' => [
// [
// 'code_name' => 'location_a',
// 'nl' => 'Locatie A',
// 'de' => 'Standort A',
// 'en' => 'Location A',
// 'children' => []
// ],
// [
// 'code_name' => 'location_b',
// 'nl' => 'Locatie B',
// 'de' => 'Standort B',
// 'en' => 'Location B',
// 'children' => []
// ]
// ]
// ],
// [
// 'code_name' => 'what_we_do',
// 'nl' => 'Wat we doen',
// 'de' => 'Was wir machen',
// 'en' => 'What we do'
// ],
// ]
// ],
// [
// 'code_name' => 'contact',
// 'nl' => "Contact",
// 'de' => "Kontakt",
// 'en' => "Contact",
// ],
// [
// 'code_name' => 'privacy',
// 'nl' => "Privacy",
// 'de' => "Privacy",
// 'en' => "Privacy",
// ],
// [
// 'code_name' => 'legal',
// 'nl' => "Disclaimer",
// 'de' => "Haftungsausschluss",
// 'en' => "Disclaimer",
// ],
// ];
//
// $subSidiarySitePages = [
// [
// 'code_name' => 'home',
// 'nl' => "Thuis",
// 'de' => "House",
// 'en' => "Home",
// ],
// [
// 'code_name' => 'about',
// 'nl' => "Over ons",
// 'de' => "Über uns",
// 'en' => "About us",
// ],
// ];
//
//
// $siteService->setCurrentSiteBySlug($mainSite->slug);
// foreach ($mainSitePages as $pageData) {
// $page = $this->createPage($pageData, $mainSiteRoot, $mainSite, $routeService);
// }
//
// $siteService->setCurrentSiteBySlug($subsidiarySite->slug);
// foreach ($subSidiarySitePages as $pageData) {
// $page = $this->createPage($pageData, $subsidiarySiteRoot, $subsidiarySite, $routeService);
// }
// }
//
// /**
// * Create a category from the array data you pass it.
// *
// * @param $pageData
// * @param Page $parent
// * @param SiteSeeder $site
// * @param RouteService $routeService
// * @return Page
// */
// private function createPage(array $pageData, Page $parent, Site $site, RouteService $routeService): Page
// {
// $page = new Page();
//
// $page->code_name = $pageData['code_name'];
// $page->active = 1;
// $page->site_id = $site->id;
// $page->makeLastChildOf($parent); //Also saves
//
// foreach ($pageData as $key => $value) {
// switch ($key) {
// case 'code_name':
// break;
// case 'children':
// foreach ($value as $childCategoryData) {
// $this->createPage($childCategoryData, $page, $site, $routeService);
// }
// break;
// default:
// $language = Language::where('iso_2', '=', $key)->first();
// if (!$language) {
// break;
// }
// $translation = new PageTranslation();
// $translation->language()->associate($language);
// $translation->translatable()->associate($page);
// $translation->slug = str_slug($value);
// $translation->name = $value;
// $translation->meta_title = $value;
// $translation->description = '[]';
// $translation->save();
// $routeService->createOrUpdateRoutesForModelsTranslationsIfChanged($page);
// }
// }
//
// return $page;
// }
//}
//
//
//
//
//
//
//
//
//