<?php

namespace Database\Seeders;

use App\Seo;
use App\Setting;
use Illuminate\Database\Seeder;

class AddMoreSettingItem extends Seeder
{
    /**
     * Run the database seeds.
     *
     * @return void
     */
    public function run()
    {
        $newItems = [
            ['group' => 'general', 'tab' => 'all', 'slug' => 'company_name', 'name' => 'Company', 'content' => '株式会社ケア21', 'rule' => '', 'type' => 'text_field'],
            ['group' => 'general', 'tab' => 'all', 'slug' => 'company_address', 'name' => 'Address', 'content' => '〒530-0003 大阪市北区堂島2-2-2近鉄堂島ビル10F', 'rule' => '', 'type' => 'text_field'],
            ['group' => 'general', 'tab' => 'all', 'slug' => 'company_fax', 'name' => 'FAX', 'content' => '06-6456-5642', 'rule' => '', 'type' => 'text_field'],
            ['group' => 'general', 'tab' => 'all', 'slug' => 'company_hot_line', 'name' => 'Hot Line', 'content' => '0120-580-660', 'rule' => '', 'type' => 'text_field'],
            ['group' => 'general', 'tab' => 'all', 'slug' => 'company_time', 'name' => 'Works Time', 'content' => '平日 9：00～18：00', 'rule' => '', 'type' => 'text_field'],
            ['group' => 'general', 'tab' => 'all', 'slug' => 'copy_right', 'name' => 'Copyright', 'content' => 'Copyright (C) CARE TWENTYONE CORPORATION. All Rights Reserved.', 'rule' => '', 'type' => 'text_field'],
        ];

        //Delete duplicate
        $slugList = [];
        foreach ($newItems as $nIt) {
            $slugList[] = $nIt['slug'];
        }
        Setting::whereIn('slug', $slugList)->delete();

        $ignoreList = ['theme_color', 'default_keywords', 'default_description'];
        $list = [];
        $allSettings = Setting::all();
        foreach ($allSettings as $item) {
            if (in_array($item->slug, $ignoreList)) continue;
            $list[] = [
                'group'        => $item->group,
                'tab'          => $item->tab,
                'slug'         => $item->slug,
                'name'         => $item->name,
                'content'      => $item->content,
                'rule'         => $item->rule,
                'type'         => $item->type,
            ];
            if ($item->slug == 'phone_number') {
                foreach ($newItems as $nIt) {
                    $list[] = $nIt;
                }
            }
        }

        Setting::truncate();
        foreach ($list as $item) {
            $item['is_publish'] = 1;
            $item['is_activated'] = 1;
            $item['is_deleted'] = 0;
            $item['created_at'] = date('Y-m-d H:i:s');
            $item['updated_at'] = date('Y-m-d H:i:s');

            Setting::create($item);
            print "Created Setting: " . $item['name'] . "\r\n";
        }

        //Delete All Seo
        Seo::truncate();
    }
}
