<?php
/**
 * Created by PhpStorm.
 * User: ashis
 * Date: 2020-06-02
 * Time: 11:56 AM
 */

namespace App\Http\Controllers\Admin;


use App\Http\Controllers\Controller;
use App\User;
use App\WebSEO;
use Carbon\Carbon;
use function GuzzleHttp\Psr7\str;
use Illuminate\Http\Request;
use Illuminate\Routing\Router;
use Symfony\Component\Routing\Annotation\Route;


class MarketingController extends Controller
{
    public function viewSEO(){


        $data['web_pages'] = WebSEO::get();
        $data['users'] = User::get();
        $existing_pages = [];

        foreach($data['web_pages'] as $pages){
            array_push($existing_pages, $pages['url']);
        }
        $routeCollection = \Illuminate\Support\Facades\Route::getRoutes();
        $x = [];
        $y = [];

        foreach ($routeCollection as $route){
            $routeView = $route->getAction();
            if(isset($routeView['as']) && strpos($routeView['as'], 'web_') !== false) {
                if(!in_array($route->uri(),$existing_pages)) {
                    array_push($x, $route->uri());
                }else{
                    array_push($y, $route->uri());
                }
            }
        }
        $data['remaining_routes'] = $x;
        $data['existing_routes'] = $y;


        return view('admin.marketing.index', $data);

    }

    public function postSEOdata(Request $request)
    {
        $page_exists = WebSEO::where('url', $request->get('existing_page'))->first(['id']);
        if(empty($request->get('remaining_page')) ){
            $data = WebSEO::find($page_exists->id);
            $data->url = $request->get('existing_page');
            $message = 'Page updated successfully';

        }else{
            $data = new WebSEO();
            $data->url = $request->get('remaining_page');
            $message = 'Page updated successfully';
        }


        $data->title = $request->get('title') ? $request->get('title') : '';
        $data->meta = $request->get('descr') ? $request->get('descr') : '';
        $data->created_at = Carbon::now()->toDateTimeString();
        $data->created_by = $request->get('updated_by') ? $request->get('updated_by') : '';

        $data->save();
        if (isset($data->id)){
            \Session::flash('success', $message);
            return redirect()->back();
        }

        \Session::flash('error', 'Can\'t add page data');
        return redirect()->back();
    }
}