<?php

namespace App\Http\Controllers\Web;
use Illuminate\Http\Request;

use App\Http\Controllers\Web\BaseController as BaseController;
use App\Http\Helpers\PageUtility;

class z_PageController extends BaseController
{
    public $className;
    public $class_id;
    public $defDataArr;

    public function __construct()
    {
        $classNameArr = explode('\\', __CLASS__);
        $this->className = end($classNameArr);
        $this->class_id = self::getClassIdByname($this->className);

        $this->defDataArr = self::getDefData();
    }

    /**
     * Used for common pages 
     */
    public function index(Request $request, $slug)
    {
        $dataArr = PageUtility::data( ['class_id' => $this->class_id, 'slug' => $slug] );
        if (!empty($dataArr)) {
            $dataArr['full_url'] = $request->fullUrl();
            $file_name = $dataArr['template']['file_name'];
            $meta_title = $dataArr['meta_title'];
            $dataArr['meta_title'] = $meta_title != '' ? strip_tags($meta_title) : strip_tags($dataArr['title']);

            $defDataArr = $this->defDataArr;

            return view('themes.frontend.pages.page', compact('defDataArr', 'dataArr'));
        }
        return abort(404);
    }

    /**
     * Used for about page 
     */
    public function aboutus(Request $request)
    {
        $dataArr = PageUtility::data( ['class_id' => $this->class_id, 'page_id' => 3] );
        if (!empty($dataArr)) {
            $dataArr['full_url'] = $request->fullUrl();
            $meta_title = $dataArr['meta_title'];
            $dataArr['meta_title'] = $meta_title != '' ? strip_tags($meta_title) : strip_tags($dataArr['title']);

            $defDataArr = $this->defDataArr;

            return view('themes.frontend.pages.about', compact('defDataArr', 'dataArr'));
        }
        return abort(404);
    }

    /**
     * Used for service page 
     */
    public function services(Request $request)
    {
        $class_id = $this->class_id;
        $dataArr = PageUtility::data( ['class_id' => $this->class_id, 'page_id' => 6] );
        if (!empty($dataArr)) {
            $dataArr['full_url'] = $request->fullUrl();
            $meta_title = $dataArr['meta_title'];
            $dataArr['meta_title'] = $meta_title != '' ? strip_tags($meta_title) : strip_tags($dataArr['title']);

            $defDataArr = $this->defDataArr;

            $service = PageUtility::data( ['class_id' => $class_id, 'page_id' => 6] );   

            return view('themes.frontend.pages.services.index', compact('defDataArr', 'dataArr','class_id','service'));
        }
        return abort(404);
    }   

    /**
     * Used for service Detail page
     */
    public function serviceDetail(Request $request, $slug)
    {
        $dataArr = PageUtility::data( ['class_id' => $this->class_id, 'slug' => $slug] );
        if (!empty($dataArr)) {
            $dataArr['full_url'] = $request->fullUrl();
            $file_name = $dataArr['template']['file_name'];
            $meta_title = $dataArr['meta_title'];
            $dataArr['meta_title'] = $meta_title != '' ? strip_tags($meta_title) : strip_tags($dataArr['title']);

            $defDataArr = $this->defDataArr;

            return view('themes.frontend.pages.services.detail', compact('defDataArr', 'dataArr'));
        }
        return abort(404);
    }

    /**
     * Used for quotation page 
     */
    public function quotation(Request $request)
    {
        $class_id = $this->class_id;
        $dataArr = PageUtility::data( ['class_id' => $this->class_id, 'page_id' => 12] );
        if (!empty($dataArr)) {
            $dataArr['full_url'] = $request->fullUrl();
            $meta_title = $dataArr['meta_title'];
            $dataArr['meta_title'] = $meta_title != '' ? strip_tags($meta_title) : strip_tags($dataArr['title']);

            // $defDataArr = $this->defDataArr;
            $defDataArr = array_merge($this->defDataArr, array("web_lang" => __('web')));

            return view('themes.frontend.pages.quotation', compact('defDataArr', 'dataArr','class_id'));
        }
        return abort(404);
    }

    /**
     * Used for career Employment page 
     */
    // public function careerEmployment(Request $request)
    // {
    //     $class_id = $this->class_id;
    //     $dataArr = PageUtility::data( ['class_id' => $this->class_id, 'page_id' => 13] );
    //     if (!empty($dataArr)) {
    //         $dataArr['full_url'] = $request->fullUrl();
    //         $meta_title = $dataArr['meta_title'];
    //         $dataArr['meta_title'] = $meta_title != '' ? strip_tags($meta_title) : strip_tags($dataArr['title']);

    //         // $defDataArr = $this->defDataArr;
    //         $defDataArr = array_merge($this->defDataArr, array("web_lang" => __('web')));

    //         return view('themes.frontend.pages.career-employment', compact('defDataArr', 'dataArr','class_id'));
    //     }
    //     return abort(404);
    // }

    /**
     * Used for driver applications page 
     */
    public function driverApplications(Request $request)
    {
        $class_id = $this->class_id;
        $dataArr = PageUtility::data( ['class_id' => $this->class_id, 'page_id' => 14] );
        if (!empty($dataArr)) {
            $dataArr['full_url'] = $request->fullUrl();
            $meta_title = $dataArr['meta_title'];
            $dataArr['meta_title'] = $meta_title != '' ? strip_tags($meta_title) : strip_tags($dataArr['title']);

            // $defDataArr = $this->defDataArr;
            $defDataArr = array_merge($this->defDataArr, array("web_lang" => __('web')));

            return view('themes.frontend.pages.driver-application.index', compact('defDataArr', 'dataArr','class_id'));
        }
        return abort(404);
    }

    public function thankYouData(Request $request, $slug=false)
    {
        $dataId = 0;
        if ($slug == false || $slug == '') {
            $dataId = 4;
        }

        $dataArr = PageUtility::data( ['class_id' => $this->class_id, 'page_id' => $dataId, 'slug' => $slug] );
        if (!empty($dataArr)) {
            $dataArr['full_url'] = $request->fullUrl();

            $meta_title = $dataArr['meta_title'];
            $dataArr['meta_title'] = $meta_title != '' ? strip_tags($meta_title) : strip_tags($dataArr['title']);

            $defDataArr = $this->defDataArr;

            return view('themes.frontend.pages.thank-you', compact('defDataArr', 'dataArr'));
        }
        return abort(404);
    }

}
