<?php
namespace App\Http\Controllers;
use Illuminate\Support\Facades\Session;
use App\Book;
use App\TestSeries;
use App\Level;
use App\Degree;
use App\Course;
use App\Subject;
use App\Educator;
use App\Coupon;
use App\Cart;
use App\Wishlist;
use App\UserCart;
use App\Cms;
use App\Blog;
use App\Video;
use App\User;
use App\News;
use App\Wallet;
use App\UserMeta;
use App\CourseUserInformation;
use Illuminate\Http\Request;
use Softon\Indipay\Facades\Indipay;  
use DB;
use Auth;
use Validator;
use Mail;
use Redirect;

class HomeController extends Controller
{
    /**
     * Create a new controller instance.
     *
     * @return void
     */
    // public function __construct()
    // {
    //     $this->middleware('auth');
    // }

    // *
    //  * Show the application dashboard.
    //  *
    //  * @return \Illuminate\Http\Response
     
    // public function index()
    // {
    //     return view('home');
    // }
    public function index()
    {
        $pageid = 2;//home
        $courses = Course::all()->where( 'status' , '1' );
        $degrees = Degree::all()->where( 'status' , '1' );
        $randomcources = Course::where('status', '1')->inRandomOrder()->limit(10)->get();
        $educators = Educator::all()->where( 'status' , '1' );
        $popularcourceslist = Course::all()->where( 'popular' , 'Yes' );
        $cms = Cms::find($pageid);

       
        return view('user.pages.index')->withdegrees($degrees)->withCourceslist($courses)->withPopular($popularcourceslist)->withRandomcources($randomcources)->withEducators($educators)->withCms($cms);
    }
    public function rozartest(Request $request)
    {
        
            echo "Hi dhbdhbc hvbcxhvbxcv";
            die;
            /*$data = array(
                "subject" =>'Call Back Form Submission',
                "name" =>'munni',
                "email" =>'mummun.kreative@gmail.com',
                "number" =>'ewrtfe6te',
                "comment" => 'dszgdry'
            );
            $to_name = 'Buy Online';
            $to_email = 'sujit.kreative@gmail.com';
            Mail::send('email.contact', $data, function($message) use ($to_name, $to_email) {
            $message->to($to_email, $to_name)
            ->subject('Contact Us');
            $message->from('support@buyonlineclasses.com','Buy Online Classes');
            });*/
            
    }

    
    public function setproductsession($pid)
    {
        Session::put('pid', $pid);
    }
    public function setwishlistproduct($pid)
    {
        Session::put('wpid', $pid);
    }
    public function facaltyregistration()
    {
        $pageid = 13;//home
        $courses = Course::all()->take(10)->where( 'status' , '1' );
        $degrees = Degree::all()->where( 'status' , '1' );
        $cms = Cms::find($pageid);
         return view('user.pages.facalty')->withdegrees($degrees)->withCourses($courses)->withCms($cms);
    }
    public function privacypolicy()
    {
        $pageid = 7;//home
        $courses = Course::all()->where( 'status' , '1' );
        $degrees = Degree::all()->where( 'status' , '1' );
         $cms = Cms::find($pageid);
        return view('user.pages.privacypolicy')->withdegrees($degrees)->withCourses($courses)->withCms($cms);
    }
    public function sellerspolicy()
    {
        $pageid = 8;//home
       // $hostels = Hostel::paginate(2);
         $courses = Course::all()->where( 'status' , '1' );
        $degrees = Degree::all()->where( 'status' , '1' );
         $cms = Cms::find($pageid);
        return view('user.pages.sellerspolicy')->withdegrees($degrees)->withCourses($courses)->withCms($cms);
    }
    public function sellerfaq()
    {
        $pageid = 12;//home
       // $hostels = Hostel::paginate(2);
         $courses = Course::all()->where( 'status' , '1' );
        $degrees = Degree::all()->where( 'status' , '1' );
         $cms = Cms::find($pageid);
        return view('user.pages.sellerfaq')->withdegrees($degrees)->withCourses($courses)->withCms($cms);
    }
    
    public function shippingpolicy()
    {
        $pageid = 9;//home
       // $hostels = Hostel::paginate(2);
         $courses = Course::all()->where( 'status' , '1' );
        $degrees = Degree::all()->where( 'status' , '1' );
        $cms = Cms::find($pageid);
        return view('user.pages.shippingpolicy')->withdegrees($degrees)->withCourses($courses)->withCms($cms);
    }
    public function termsoffer()
    {
        $pageid = 10;//home
       // $hostels = Hostel::paginate(2);
         $courses = Course::all()->where( 'status' , '1' );
        $degrees = Degree::all()->where( 'status' , '1' );
        $cms = Cms::find($pageid);
        return view('user.pages.termsoffer')->withdegrees($degrees)->withCourses($courses)->withCms($cms);
    }
    public function useragreement()
    {
        $pageid = 11;//home
       // $hostels = Hostel::paginate(2);
         $courses = Course::all()->where( 'status' , '1' );
        $degrees = Degree::all()->where( 'status' , '1' );
         $cms = Cms::find($pageid);
        return view('user.pages.useragreement')->withdegrees($degrees)->withCourses($courses)->withCms($cms);
    }
    public function about()
    {
        $pageid = 3;//home
       // $hostels = Hostel::paginate(2);
         $courses = Course::all()->where( 'status' , '1' );
        $degrees = Degree::all()->where( 'status' , '1' );
        $cms = Cms::find($pageid);
         $cms1 = Cms::find(4);
          $cms2 = Cms::find(5);
        return view('user.pages.about')->withdegrees($degrees)->withCourses($courses)->withCms($cms)->withCms1($cms1)->withCms2($cms2);
    }
    public function contact()
    {
        $pageid = 6;//home
       // $hostels = Hostel::paginate(2);
         $courses = Course::all()->where( 'status' , '1' );
        $degrees = Degree::all()->where( 'status' , '1' );
         $cms = Cms::find($pageid);
        return view('user.pages.contact')->withdegrees($degrees)->withCourses($courses)->withCms($cms);
    }

      public function blog()
    {
       
         $pageid = 20;
         $cms = Cms::find($pageid);
         $blog = Blog::all()->where( 'status' , '1' );
         return view('user.pages.blog')->withblog($blog)->withCms($cms);
    }



     public function news()
    {
       
         $pageid = 22;
         $cms = Cms::find($pageid);
         $news = News::all()->where( 'status' , '1' );
         return view('user.pages.news')->withNews($news)->withCms($cms);
    }


         public function news_detail($slug)
    {
         $latest_news=DB::select( DB::raw("SELECT * FROM ( SELECT * FROM news ORDER BY id DESC LIMIT 4 ) sub WHERE `status`=1 ORDER BY id ASC") );

         $pageid = 22;
         $cms = Cms::find($pageid);
         $news = News::all()->where( 'status' , '1' );
         $newsdetail = News::where('slug', '=', $slug)->get()->first();

         return view('user.pages.news_detail')->withNews($news)->withCms($cms)->withLatest_news($latest_news)->withNewsdetail($newsdetail);
    }

    public function video()
    {
       
         $pageid = 21;
         $cms = Cms::find($pageid);
         $video = Video::all()->where( 'status' , '1' );
         return view('user.pages.video')->withCms($cms)->withVideo($video);
    }
    public function blog_detail($slug)
    {
         $latest_blog=DB::select( DB::raw("SELECT * FROM ( SELECT * FROM blogs ORDER BY id DESC LIMIT 4 ) sub WHERE `status`=1 ORDER BY id ASC") );

         $pageid = 20;
         $cms = Cms::find($pageid);
         $blog = Blog::all()->where( 'status' , '1' );
         $blogdetail = Blog::where('slug', '=', $slug)->get()->first();

         return view('user.pages.blog_detail')->withblog($blog)->withCms($cms)->withLatest_blog($latest_blog)->withBlogdetail($blogdetail);
    }
    public function fb_login(){
  

        $login_type=$_POST['login_type'];
        $email=$_POST['email'];
        $name=$_POST['name'];
        $fb_id=$_POST['id'];

        $result=DB::select("SELECT * FROM users WHERE `email`='".$email."' ");


        if($result){

        $update_user_query1 = DB::table('users')
        ->where('email', $email)
        ->update([
            'facebook_id' =>" "
            
        ]);



        $update_user_query = DB::table('users')
        ->where('email', $email)
        ->update([
            'name' => $name,
            'email' => $email,
            'facebook_id' => $fb_id
            
        ]);

        if($update_user_query){

             // echo "hh";die;
     
            $user =User::where('email', $email)->get()->first();

            Auth::login($user);
                        
            if(Session::get('pid'))
            {
                $cource =  Course::find(Session::get('pid'));
                $cart = new Cart();
                $cart->product_id = $cource->id;
                $cart->user_id =  Auth::user()->id;
                $cart->name = $cource->package_name;
                $pcartprice =0;
                $pcartprice = ($cource->discounted_price) ? $cource->discounted_price : $cource->price;
                $cart->quantity = 1;
                $cart->price =  $pcartprice;
                $cart->status = 1;
                $cart->save();
                Session::forget('pid');
                echo json_encode(array('url'=>'https://www.buyonlineclasses.com/cart'));
            }
            else if(Session::get('wpid'))
            {
                $cource =  Course::find(Session::get('wpid'));
                $cart = new Wishlist();
                $cart->product_id = $cource->id;
                $cart->user_id =  Auth::user()->id;
                $cart->name = $cource->package_name;
                $pcartprice =0;
                $pcartprice = ($cource->discounted_price) ? $cource->discounted_price : $cource->price;
                $cart->quantity = 1;
                $cart->price =  $pcartprice;
                $cart->status = 1;
                $cart->save();
                Session::forget('wpid');
                echo json_encode(array('url'=>'https://www.buyonlineclasses.com/wishlist'));
            }
            else{
                echo json_encode(array('url'=>Session::get('previouslink')));
            }



          }

       }else{
             /*
            *get wallet balance
            */
            $wallet_balence  = 0;
            $id=1;
            $wallet = Wallet::find($id);
            $wallet_balence = $wallet->wallet_balence;

            $password=md5($uniqueId= time().'-'.mt_rand());
            $user = new User();
            $user->name = $name;
            $user->password = $password;
            $user->email = $email;
            $user->facebook_id = $fb_id;
            $res = $user->save();
             
            if($res)
            {
               $user =User::where('email', $email)->get()->first();
               /*
                *update wallet balance for user
                *udate user meta
                */
                $user_id=$user->id;
                $usermeta = new UserMeta();
                $usermeta->user_id =  $user_id;
                $usermeta->current_wallet_balance = $wallet_balence;
                $usermeta->shipping_address = '';
                $usermeta->billing_address = '';
			    $usermeta->referral_code = '';
				$usermeta->gender = '';
				
                $usermeta->mobile ='';
                $usermeta->save();

                Auth::login($user);
                         
                if(Session::get('pid'))
                {
                    $cource =  Course::find(Session::get('pid'));
                    $cart = new Cart();
                    $cart->product_id = $cource->id;
                    $cart->user_id =  Auth::user()->id;
                    $cart->name = $cource->package_name;
                    $pcartprice =0;
                    $pcartprice = ($cource->discounted_price) ? $cource->discounted_price : $cource->price;
                    $cart->quantity = 1;
                    $cart->price =  $pcartprice;
                    $cart->status = 1;
                    $cart->save();
                    Session::forget('pid');
                    echo json_encode(array('url'=>'https://www.buyonlineclasses.com/cart'));
                }
                else if(Session::get('wpid'))
                {
                    $cource =  Course::find(Session::get('wpid'));
                    $cart = new Wishlist();
                    $cart->product_id = $cource->id;
                    $cart->user_id =  Auth::user()->id;
                    $cart->name = $cource->package_name;
                    $pcartprice =0;
                    $pcartprice = ($cource->discounted_price) ? $cource->discounted_price : $cource->price;
                    $cart->quantity = 1;
                    $cart->price =  $pcartprice;
                    $cart->status = 1;
                    $cart->save();
                    Session::forget('wpid');
                    echo json_encode(array('url'=>'https://www.buyonlineclasses.com/wishlist'));
                }
                else{
                    echo json_encode(array('url'=>Session::get('previouslink')));
                }
            }




       } 


    }


    public function gplus_login(){
  

        $login_type=$_POST['login_type'];
        $email=$_POST['email'];
        $name=$_POST['name'];
        $gplus_id =$_POST['id'];

        $result=DB::select("SELECT * FROM users WHERE `email`='".$email."' ");
        $gplus_id_blank=" ";

        if($result){

        $update_user_query1 = DB::table('users')
        ->where('email', $email)
        ->update([
            'gplus_id'=>$gplus_id_blank
            
        ]);



        $update_user_query = DB::table('users')
        ->where('email', $email)
        ->update([
            'name' => $name,
            'email' => $email,
            'gplus_id' =>$gplus_id 
            
        ]);

        if($update_user_query){

             // echo "hh";die;
     
               $user =User::where('email', $email)->get()->first();

               Auth::login($user);
                         
               if(Session::get('pid'))
               {
                   $cource =  Course::find(Session::get('pid'));
                   $cart = new Cart();
                   $cart->product_id = $cource->id;
                   $cart->user_id =  Auth::user()->id;
                   $cart->name = $cource->package_name;
                   $pcartprice =0;
                   $pcartprice = ($cource->discounted_price) ? $cource->discounted_price : $cource->price;
                   $cart->quantity = 1;
                   $cart->price =  $pcartprice;
                   $cart->status = 1;
                   $cart->save();
                   Session::forget('pid');
                   echo json_encode(array('url'=>'https://www.buyonlineclasses.com/cart'));
               }
               else if(Session::get('wpid'))
               {
                   $cource =  Course::find(Session::get('wpid'));
                   $cart = new Wishlist();
                   $cart->product_id = $cource->id;
                   $cart->user_id =  Auth::user()->id;
                   $cart->name = $cource->package_name;
                   $pcartprice =0;
                   $pcartprice = ($cource->discounted_price) ? $cource->discounted_price : $cource->price;
                   $cart->quantity = 1;
                   $cart->price =  $pcartprice;
                   $cart->status = 1;
                   $cart->save();
                   Session::forget('wpid');
                   echo json_encode(array('url'=>'https://www.buyonlineclasses.com/wishlist'));
               }
               else{
                   echo json_encode(array('url'=>Session::get('previouslink')));
               }



          }

       }else{
            /*
            *get wallet balance
            */
            $wallet_balence  = 0;
            $id=1;
            $wallet = Wallet::find($id);
            $wallet_balence = $wallet->wallet_balence;

            $password=md5($uniqueId= time().'-'.mt_rand());
            $user = new User();
            $user->name = $name;
            $user->password = $password;
            $user->email = $email;
            $user->gplus_id  = $gplus_id ;
            $res = $user->save();
             
            if($res)
            {
                $user =User::where('email', $email)->get()->first();
                /*
                *update wallet balance for user
                *udate user meta
                */
                $user_id=$user->id;
                $usermeta = new UserMeta();
                $usermeta->user_id =  $user_id;
                $usermeta->current_wallet_balance = $wallet_balence;
                $usermeta->shipping_address = '';
                $usermeta->billing_address = '';
				$usermeta->referral_code = '';
				$usermeta->gender = '';
				
                $usermeta->mobile ='';
                $usermeta->save();

                Auth::login($user);
                if(Session::get('pid'))
                {
                    $cource =  Course::find(Session::get('pid'));
                    $cart = new Cart();
                    $cart->product_id = $cource->id;
                    $cart->user_id =  Auth::user()->id;
                    $cart->name = $cource->package_name;
                    $pcartprice =0;
                    $pcartprice = ($cource->discounted_price) ? $cource->discounted_price : $cource->price;
                    $cart->quantity = 1;
                    $cart->price =  $pcartprice;
                    $cart->status = 1;
                    $cart->save();
                    Session::forget('pid');
                    echo json_encode(array('url'=>'https://www.buyonlineclasses.com/cart'));
                }
                else if(Session::get('wpid'))
                {
                    $cource =  Course::find(Session::get('wpid'));
                    $cart = new Wishlist();
                    $cart->product_id = $cource->id;
                    $cart->user_id =  Auth::user()->id;
                    $cart->name = $cource->package_name;
                    $pcartprice =0;
                    $pcartprice = ($cource->discounted_price) ? $cource->discounted_price : $cource->price;
                    $cart->quantity = 1;
                    $cart->price =  $pcartprice;
                    $cart->status = 1;
                    $cart->save();
                    Session::forget('wpid');
                    echo json_encode(array('url'=>'https://www.buyonlineclasses.com/wishlist'));
                }
                else{
                    echo json_encode(array('url'=>Session::get('previouslink')));
                }
                         
            //    echo json_encode($_POST);
            }




       } 


    }
    
    
    
    public function thankyou()
    {    
        //$pageid = 2;//home   
        return view('user.pages.thankyou');
    }
    public function cancel()
    {
        //$pageid = 2;//home
        return view('user.pages.cancel');
    }
    // public function foundation($slug)
    // {
        
    //     $educator = Educator::where('slug', '=', $slug)->get()->first();
    //     $levels = Level::all()->where( 'status' , '1' );
    //     $degrees = Degree::all()->where( 'status' , '1' );
    //     $subjects = Subject::all()->where( 'status' , '1' );
    //     $educators = Educator::all()->where( 'status' , '1' );
    //     //echo $educator->id;
    //     $randomcources = Course::where('faculty_name', $educator->id)->inRandomOrder()->limit(10)->get();
       
      
    //     $courses = Course::all()->where( 'status' , '1' );
    //     $degrees = Degree::all()->where( 'status' , '1' );
    //     return view('user.pages.foundation')->withEducator($educator)->withdegrees($degrees)->withSubjects($subjects)->withLevels($levels)->withDegrees($degrees)->withCourses($courses)->withEducators($educators)->withRandomcources($randomcources);
    // }

    

     public function foundation($slug)
    {
        $faculty_degree = array();
        $educator = Educator::where('slug', '=', $slug)->get()->first();
        $levels = Level::all()->where( 'status' , '1' );
        $degrees = Degree::all()->where( 'status' , '1' );
        $subjects = Subject::all()->where( 'status' , '1' );
        $educators = Educator::all()->where( 'status' , '1' );
        $randomcources = Course::where('faculty_name', $educator->id)->inRandomOrder()->get();

        foreach ($randomcources as $value) {
          $faculty_degree[$value->degree][] = $value->subject;

        }

        $courses = Course::all()->where( 'status' , '1' );
        $degrees = Degree::all()->where( 'status' , '1' );
        return view('user.pages.foundation')->withEducator($educator)->withdegrees($degrees)->withSubjects($subjects)->withLevels($levels)->withDegrees($degrees)->withCourses($courses)->withEducators($educators)->withRandomcources($randomcources)->withFaculty_degree($faculty_degree);
    }
    public function faculty_subject(){
      $dataHTML = '';
      $ke_dhorto = $_POST['ke_dhorto'];
      // echo '<pre>';
      // print_r($ke_dhorto);
      // die;
      //echo '<pre>';
      $randomcources =array();
      foreach ($ke_dhorto as $data_key) {
        $data_array = explode('-', $data_key);
        $subject_id=$data_array[0];
        $degree_id=$data_array[1];
        $faclty_id=$data_array[2];
        //echo "SELECT * FROM `courses` WHERE `degree` = ".$degree_id." AND `subject` = ".$subject_id." AND `faculty_name` = ".$faclty_id;
        $results1 = DB::select( DB::raw("SELECT * FROM `courses` WHERE `degree` = ".$degree_id." AND `subject` = ".$subject_id." AND `faculty_name` = ".$faclty_id) );

       
        foreach ($results1 as $key => $value) {
           $randomcources[] = $value;
        }


        $educator = Educator::where('id', '=', $faclty_id)->get()->first();

        $subjects = Subject::all()->where( 'degree' , $degree_id );
        $educators = Educator::all()->where( 'status' , '1' );
       

        $response= view('user.pages.foundation_ajax')->withEducator($educator)->withSubjects($subjects)->withRandomcources($randomcources)->withEducators($educators)->render();

        // $randomcources[] = Course::where('faculty_name', $faclty_id)
        // ->where('degree', $degree_id)
        // ->where('subject', $subject_id)->get();
        //   foreach ($randomcources as $key => $value) {
        //     $dataHTML.= $value[0]->id;
        //   }
        // }

        // $educator = Educator::where('id', '=', $faclty_id)->get()->first();

        // $subjects = Subject::all()->where( 'degree' , $degree_id );
        // $educators = Educator::all()->where( 'status' , '1' );
        
        //$dataHTML= $response;

      }
      // echo"<pre>";
      // print_r( array_unique($randomcources, SORT_REGULAR));
      // echo"</pre>";die;

      echo json_encode(array('server_side'=>$ke_dhorto, 'html'=> $response ));
      die();

    }


    public function shop()
    {
        $pageid = 18;//home
       // $hostels = Hostel::paginate(2);
         $courses = Course::all()->where( 'status' , '1' );
        $degrees = Degree::all()->where( 'status' , '1' );
        $cms = Cms::find($pageid);
        return view('user.pages.shop')->withdegrees($degrees)->withCourses($courses)->withCms($cms);
    }

    public function course($slug)
    {
        $pageid = 18;
        $cms = Cms::find($pageid);
        $p_order = 'DESC';
        if(isset($_GET['order']))
        {
            if($_GET['order']=='asc')
            {
                $p_order = 'ASC';
            }
            else{
                $p_order = 'DESC';
            }
        }
        $pageid = 2;//home
        $degreecount = Degree::where('slug', '=', $slug)->count();
        $levelcount = Level::where('slug', '=', $slug)->count();
        $subjectcount = Subject::where('slug', '=', $slug)->count();
        $educators = Educator::all()->where( 'status' , '1' );       
        $selecteddegree = array();
        $selectedlevel = array();
        $selectedsubject = array();
        $selectdfacalty = array();
        $courcescount = 0;
        $testseriescount = 0;
        $bookscount = 0;
        if($degreecount>0)
        {
            $type = "degree";
            $selecteddegree = Degree::where('slug', '=', $slug)->get()->first();
            $courceslist =  Course::where('degree', '=',$selecteddegree->id)->orderBy('discounted_price',$p_order)->get();
            $testserieslist =  TestSeries::where('degree', '=',$selecteddegree->id)->get();
            $bookslist =  Book::where('degree', '=',$selecteddegree->id)->orderBy('discounted_price',$p_order)->get();
            $courceslistcount =  Course::where('degree', '=',$selecteddegree->id)->orderBy('discounted_price',$p_order)->get()->count();
            $testserieslistcount =  TestSeries::where('degree', '=',$selecteddegree->id)->get()->count();
            $bookslistcount =  Book::where('degree', '=',$selecteddegree->id)->orderBy('discounted_price',$p_order)->get()->count();
            if( $courceslistcount > 0 )
            {
                $courcescount++;
            }
            if( $testserieslistcount > 0 )
            {
                $testseriescount++;
            }
            if( $bookslistcount > 0 )
            {
                $bookscount++;
            }

            foreach($courceslist as $value)
            {

               $selectdfacalty[] = $value->faculty_name;
            }
            
            foreach($bookslist as $value)
            {
               $selectdfacalty[] = $value->author_name;
            }
            
            $submenus = Level::where('degree', '=',$selecteddegree->id)->get();
        }
        else if($levelcount>0)
        {
            $type = "level";
           
            $selectedlevel = Level::where('slug', '=', $slug)->get()->first();
            $selecteddegree = Degree::where('id', '=', $selectedlevel->degree)->get()->first();
            $submenus = Level::where('degree', '=',$selectedlevel->degree)->get();
            $courceslist =  Course::where('level', '=',$selectedlevel->id)->orderBy('discounted_price',$p_order)->get();
            $testserieslist =  TestSeries::where('level', '=',$selectedlevel->id)->inRandomOrder()->get();
            $bookslist =  Book::where('level', '=',$selectedlevel->id)->orderBy('discounted_price',$p_order)->get();

            $courceslistcount =  Course::where('level', '=',$selecteddegree->id)->orderBy('discounted_price',$p_order)->get()->count();
            $testserieslistcount =  TestSeries::where('level', '=',$selecteddegree->id)->get()->count();
            $bookslistcount =  Book::where('level', '=',$selecteddegree->id)->orderBy('discounted_price',$p_order)->get()->count();

            if( $courceslistcount > 0 )
            {
                $courcescount++;
            }
            if( $testserieslistcount > 0 )
            {
                $testseriescount++;
            }
            if( $bookslistcount > 0 )
            {
                $bookscount++;
            }

            foreach($courceslist as $value){
               $selectdfacalty[] = $value->faculty_name;
            
            }
            foreach($bookslist as $value){
               $selectdfacalty[] = $value->author_name;
            }
        }
        else if($subjectcount>0)
        {
            $type = "subject";
            $selectedsubject = Subject::where('slug', '=',  $slug)->get()->first();
            $submenus = Level::where('degree', '=',$selectedsubject->degree)->get();

            $selecteddegree = Degree::where('id', '=', $selectedsubject->degree)->get()->first();
            $selectedlevel = Level::where('id', '=', $selectedsubject->level)->get()->first();


            $courceslist =  Course::where('subject', '=',$selectedsubject->id)->orderBy('discounted_price',$p_order)->get();
            $testserieslist =  TestSeries::where('subject', '=',$selectedsubject->id)->orderBy('discounted_price',$p_order)->get();
            $bookslist =  Book::where('subject', '=',$selectedsubject->id)->orderBy('discounted_price',$p_order)->get();
            $courceslistcount =  Course::where('subject', '=',$selecteddegree->id)->orderBy('discounted_price',$p_order)->get()->count();
            $testserieslistcount =  TestSeries::where('subject', '=',$selecteddegree->id)->get()->count();
            $bookslistcount =  Book::where('subject', '=',$selecteddegree->id)->orderBy('discounted_price',$p_order)->get()->count();
            if( $courceslistcount > 0 )
            {
                $courcescount++;
            }
            if( $testserieslistcount > 0 )
            {
                $testseriescount++;
            }
            if( $bookslistcount > 0 )
            {
                $bookscount++;
            }
            foreach($courceslist as $value){
               $selectdfacalty[] = $value->faculty_name;
            }
            foreach($bookslist as $value){
               $selectdfacalty[] = $value->author_name;
            }
        }
        else
        {
            $type = "all";
            $submenus = Degree::all()->where( 'status' , '1' );
            $courceslist =  Course::where( 'status' , '1' )->orderBy('discounted_price',$p_order)->get();
            $testserieslist =  TestSeries::where( 'status' , '1' )->orderBy('discounted_price',$p_order)->get();
            $bookslist =  Book::where( 'status' , '1' )->orderBy('discounted_price',$p_order)->get();


            $courceslistcount =  Course::where( 'status' , '1' )->get()->count();
            $testserieslistcount =  TestSeries::where( 'status' , '1' )->get()->count();
            $bookslistcount =  Book::where( 'status' , '1' )->get()->count();
            if( $courceslistcount > 0 )
            {
                $courcescount++;
            }
            if( $testserieslistcount > 0 )
            {
                $testseriescount++;
            }
            if( $bookslistcount > 0 )
            {
                $bookscount++;
            }

            foreach($courceslist as $value){
               $selectdfacalty[] = $value->faculty_name;
            }
            foreach($bookslist as $value){
               $selectdfacalty[] = $value->author_name;
            }
        }      
       
     //  print_r($selecteditem);

        $courses = Course::all()->where( 'status' , '1' );
        $degrees = Degree::all()->where( 'status' , '1' );
        // echo 'type';
        // echo $type;
        // echo "==================================";
        //echo '<pre>';
        //echo  "courceslist".$courceslist->count();
        $courcescount = $courceslist->count();
        // echo '<br>';
        // echo "bookslist". $bookslist->count();
        $bookscount = $bookslist->count();
        // echo '<br>';
        // echo "testserieslist".$testserieslist->count();
        $testseriescount = $testserieslist->count();
        // echo '<br>';

        //   echo 'sub';
        //   print_r($selectedsubject);
        // return view('user.pages.shop')->withdegrees($degrees)->withCourses($courses)->withSelecteditem($selecteditem)->withsubmenus($submenus);
        
        return view('user.pages.shop')->withdegrees($degrees)->withEducators($educators)->withCourses($courses)->withSubmenus($submenus)->withType($type)->withCourceslist($courceslist)->withTestserieslist($testserieslist)->withBookslist($bookslist)->withSelecteddegree($selecteddegree)->withSelectedlevel($selectedlevel)->withSelectedsubject($selectedsubject)->withSelectdfacalty($selectdfacalty)->withCms($cms)->withCourcescount($courcescount)->withTestseriescount($testseriescount)->withBookscount($bookscount);

    }
    // public function search()
    // {
    //     $pageid = 2;//home
    //     $results = array();
    //     $s=$_GET['s'];
    //     if($s=="'") {
    //         $s = "No Results Found";
    //     }
    //     $selectdfacalty = array();
    //     $type='';

    //     //cources
    //     $results1 = DB::select( DB::raw("SELECT * FROM courses WHERE package_name LIKE '%$s%'") );
    //     $results2 = DB::select( DB::raw("SELECT * FROM courses WHERE degree IN( SELECT ID FROM degrees WHERE name LIKE '%$s%')") );
    //     $results3 = DB::select( DB::raw("SELECT * FROM courses WHERE level IN( SELECT ID FROM levels WHERE name LIKE '%$s%')") );
    //     $results4 = DB::select( DB::raw("SELECT * FROM courses WHERE subject IN( SELECT ID FROM subjects WHERE name LIKE '%$s%')") );
    //     $results5 = DB::select( DB::raw("SELECT * FROM courses WHERE faculty_name IN( SELECT ID FROM educators WHERE coaching_classes LIKE '%$s%')") );
     
    //     $results = array_merge($results1,$results2);
    //     $results = array_merge($results,$results3);
    //     $results = array_merge($results,$results4);
    //     $results = array_merge($results,$results5);

    //     $temp = array_unique(array_column($results, 'id'));
    //     $unique_arr = array_intersect_key($results, $temp);

    //     foreach($unique_arr as $value){
    //            $selectdfacalty[] = $value->faculty_name;
    //     }
           

    //     //books

    //     $results11 = DB::select( DB::raw("SELECT * FROM books WHERE package_name LIKE '%$s%'") );
    //     $results21 = DB::select( DB::raw("SELECT * FROM books WHERE degree IN( SELECT ID FROM degrees WHERE name LIKE '%$s%')") );
    //     $results31 = DB::select( DB::raw("SELECT * FROM books WHERE level IN( SELECT ID FROM levels WHERE name LIKE '%$s%')") );
    //     $results41 = DB::select( DB::raw("SELECT * FROM books WHERE subject IN( SELECT ID FROM subjects WHERE name LIKE '%$s%')") );
    //     $results51 = DB::select( DB::raw("SELECT * FROM books WHERE author_name IN( SELECT ID FROM educators WHERE coaching_classes LIKE '%$s%')") );
     
    //     $results1 = array_merge($results11,$results21);
    //     $results1 = array_merge($results1,$results31);
    //     $results1 = array_merge($results1,$results41);
    //     $results1 = array_merge($results1,$results51);

    //     $temp1 = array_unique(array_column($results1, 'id'));
    //     $unique_arr1 = array_intersect_key($results1, $temp1);
    //     foreach($unique_arr1 as $value){
    //            $selectdfacalty[] = $value->author_name;
    //     }

    //     //books

    //     $results12 = DB::select( DB::raw("SELECT * FROM test_series WHERE package_name LIKE '%$s%'") );
    //     $results22 = DB::select( DB::raw("SELECT * FROM test_series WHERE degree IN( SELECT ID FROM degrees WHERE name LIKE '%$s%')") );
    //     $results32 = DB::select( DB::raw("SELECT * FROM test_series WHERE level IN( SELECT ID FROM levels WHERE name LIKE '%$s%')") );
    //     $results42 = DB::select( DB::raw("SELECT * FROM test_series WHERE subject IN( SELECT ID FROM subjects WHERE name LIKE '%$s%')") );
      
     
    //     $results2 = array_merge($results12,$results22);
    //     $results2 = array_merge($results2,$results32);
    //     $results2 = array_merge($results2,$results42);

    //     $temp2 = array_unique(array_column($results2, 'id'));
    //     $unique_arr2 = array_intersect_key($results2, $temp2);



    //     $courcescount = count($unique_arr);
      
    //    //echo "courcescount". $courcescount;
    //     $bookscount = count($unique_arr1);
    //     //  echo '<br>';
    //     // echo "book".$bookscount ;
    //     $testseriescount = count($unique_arr2);
    //     // echo "testserieslist".$testseriescount ;
    //     // echo '<br>';
    //     // die();

    //     $submenus = Degree::all()->where( 'status' , '1' );
    //     $educators = Educator::all()->where( 'status' , '1' );
    //     $degrees = Degree::all()->where( 'status' , '1' );
    //     $educators = Educator::all()->where( 'status' , '1' );
    //     return view('user.pages.search')->withCourceslist($unique_arr)->withdegrees($degrees)->withEducators($educators)->withSubmenus($submenus)->withBookslist($unique_arr1)->withTestserieslist($unique_arr2)->withEducators($educators)->withS($s)->withSelectdfacalty($selectdfacalty)->withCourcescount($courcescount)->withTestseriescount($testseriescount)->withBookscount($bookscount)->withType($type);
    // }
        public function search()
    {
        $pageid = 2;//home
        $results = array();

        $p_order = 'DESC';
        if(isset($_GET['order']))
        {
            if($_GET['order']=='asc')
            {
                $p_order = 'ASC';
            }
            else{
                $p_order = 'DESC';
            }
        }
     
        

        $s=$_GET['s'];
        if($s=="'") {
            $s = "No Results Found";
        }
        $selectdfacalty = array();
        $type='';
         //  echo "SELECT * FROM courses WHERE degree IN( SELECT ID FROM degrees WHERE name LIKE '%$s%'  order by discounted_price $p_order)";die;
        //cources
        $results1 = DB::select( DB::raw("SELECT * FROM courses WHERE package_name LIKE '%$s%' order by discounted_price $p_order") );
        $results2 = DB::select( DB::raw("SELECT * FROM courses WHERE degree IN( SELECT ID FROM degrees WHERE name LIKE '%$s%')") );
        $results3 = DB::select( DB::raw("SELECT * FROM courses WHERE level IN( SELECT ID FROM levels WHERE name LIKE '%$s%')") );
        $results4 = DB::select( DB::raw("SELECT * FROM courses WHERE subject IN( SELECT ID FROM subjects WHERE name LIKE '%$s%')") );
        $results5 = DB::select( DB::raw("SELECT * FROM courses WHERE faculty_name IN( SELECT ID FROM educators WHERE coaching_classes LIKE '%$s%')") );
     
        $results = array_merge($results1,$results2);
        $results = array_merge($results,$results3);
        $results = array_merge($results,$results4);
        $results = array_merge($results,$results5);

        $temp = array_unique(array_column($results, 'id'));
        $unique_arr = array_intersect_key($results, $temp);

        foreach($unique_arr as $value){
               $selectdfacalty[] = $value->faculty_name;
        }
           

        //books

        $results11 = DB::select( DB::raw("SELECT * FROM books WHERE package_name LIKE '%$s%'  order by discounted_price $p_order") );
        $results21 = DB::select( DB::raw("SELECT * FROM books WHERE degree IN( SELECT ID FROM degrees WHERE name LIKE '%$s%')") );
        $results31 = DB::select( DB::raw("SELECT * FROM books WHERE level IN( SELECT ID FROM levels WHERE name LIKE '%$s%')") );
        $results41 = DB::select( DB::raw("SELECT * FROM books WHERE subject IN( SELECT ID FROM subjects WHERE name LIKE '%$s%')") );
        $results51 = DB::select( DB::raw("SELECT * FROM books WHERE author_name IN( SELECT ID FROM educators WHERE coaching_classes LIKE '%$s%')") );
     
        $results1 = array_merge($results11,$results21);
        $results1 = array_merge($results1,$results31);
        $results1 = array_merge($results1,$results41);
        $results1 = array_merge($results1,$results51);

        $temp1 = array_unique(array_column($results1, 'id'));
        $unique_arr1 = array_intersect_key($results1, $temp1);
        foreach($unique_arr1 as $value){
               $selectdfacalty[] = $value->author_name;
        }

        //books

        $results12 = DB::select( DB::raw("SELECT * FROM test_series WHERE package_name LIKE '%$s%'  order by discounted_price $p_order") );
        $results22 = DB::select( DB::raw("SELECT * FROM test_series WHERE degree IN( SELECT ID FROM degrees WHERE name LIKE '%$s%' )") );
        $results32 = DB::select( DB::raw("SELECT * FROM test_series WHERE level IN( SELECT ID FROM levels WHERE name LIKE '%$s%'  )") );
        $results42 = DB::select( DB::raw("SELECT * FROM test_series WHERE subject IN( SELECT ID FROM subjects WHERE name LIKE '%$s%')") );
      
     
        $results2 = array_merge($results12,$results22);
        $results2 = array_merge($results2,$results32);
        $results2 = array_merge($results2,$results42);

        $temp2 = array_unique(array_column($results2, 'id'));
        $unique_arr2 = array_intersect_key($results2, $temp2);

        // echo"<pre>";
        // print_r( $unique_arr);
        //         echo"</pre>";die;




        $courcescount = count($unique_arr);
      
       //echo "courcescount". $courcescount;
        $bookscount = count($unique_arr1);
        //  echo '<br>';
        // echo "book".$bookscount ;
        $testseriescount = count($unique_arr2);
        // echo "testserieslist".$testseriescount ;
        // echo '<br>';
        // die();

        $submenus = Degree::all()->where( 'status' , '1' );
        $educators = Educator::all()->where( 'status' , '1' );
        $degrees = Degree::all()->where( 'status' , '1' );
        $educators = Educator::all()->where( 'status' , '1' );
        return view('user.pages.search')->withCourceslist($unique_arr)->withdegrees($degrees)->withEducators($educators)->withSubmenus($submenus)->withBookslist($unique_arr1)->withTestserieslist($unique_arr2)->withEducators($educators)->withS($s)->withSelectdfacalty($selectdfacalty)->withCourcescount($courcescount)->withTestseriescount($testseriescount)->withBookscount($bookscount)->withType($type);
    }
    public function product($slug)
    {
        $coursecount = Course::where('slug', '=', $slug)->count();
        $bookscount = Book::where('slug', '=', $slug)->count();
        $testseriescount = TestSeries::where('slug', '=', $slug)->count();
        if($coursecount>0)
        {
             $type = "course";
             $course = Course::where('slug', '=', $slug)->get()->first();
        }
        else if($bookscount>0)
        {
             $type = "book";
             $course = Book::where('slug', '=', $slug)->get()->first();
        }
        else if($testseriescount>0)
        {
             $type = "testseries";
             $course = TestSeries::where('slug', '=', $slug)->get()->first();
        }
        

      
        $levels = Level::all()->where( 'status' , '1' );
        $degrees = Degree::all()->where( 'status' , '1' );
        $subjects = Subject::all()->where( 'status' , '1' );
        $educators = Educator::all()->where( 'status' , '1' );

        $relatedcources = Course::where('degree', $course->degree)->where('level', $course->level)->inRandomOrder()->limit(6)->get();

        $selectedsubject = Subject::find($course->subject);
        $selecteddegree = Degree::find($course->degree);
        $selectedlevel = Level::find($course->level);

        // return view('user.pages.shop')->withdegrees($degrees)->withCourses($courses)->withSelecteditem($selecteditem)->withsubmenus($submenus);
         return view('user.pages.product')->withEducators($educators)->withCourse($course)->withSubjects($subjects)->withLevels($levels)->withDegrees($degrees)->withRelatedcources($relatedcources)->withType($type)->withSelecteddegree($selecteddegree)->withSelectedlevel($selectedlevel)->withSelectedsubject($selectedsubject);

    }
    public function coupon_deduct(Request $request)
    {
       
       $coupon_discount_amount = 0;

       $coupon = Coupon::where( 'coupon_name',$request->coupon_code)->get()->first();
       //$request->coupon_code;
       // /$request->subtotalprice;
       if(($coupon->count())>0)
       {
           if($coupon->coupon_type == 'Percentage')
           {
             $coupon_discount_amount = $request->subtotalprice*($coupon->coupon_amount/100);
           }
           else{
               $coupon_discount_amount = $coupon->coupon_amount;
           }
           
            $ucart_data = UserCart::where( 'user_id' ,$request->user_id )->get()->first();
            $ucart_data->coupon_code = $request->coupon_code;
            $ucart_data->coupon_discount = $coupon_discount_amount;
            // $ucart_data->shipping_charge = $request->shipping_charge;
            // $ucart_data->sub_total = $request->subtotalprice;
            // $ucart_data->grand_total = ($request->subtotalprice - $coupon_discount_amount+$request->shipping_charge) ;

            $ucart_data->save(); 
            session()->flash('success', 'Coupon successfully added');
            return redirect()->route('checkout.index');
       }
       else{
          session()->flash('success', 'Please Enter Valid Coupon');
            return redirect()->route('checkout.index');
       }
    }
    public function coupon_remove()
    {
        $ucart_data = UserCart::where( 'user_id' , Auth::user()->id )->get()->first();
        $ucart_data->coupon_code = '';
        $ucart_data->coupon_discount = 0;
        $ucart_data->save(); 
        session()->flash('success', 'Coupon successfully removed');
        return redirect()->route('checkout.index');
    }
     public function contactstore(Request $request)
    {
       
        $first_name_billing = ($request->first_name_billing) ? $request->first_name_billing : '';
        
         $customMessage = '';
        $validator = Validator::make($request->all(), [
            'name' => 'required',
            'email' => 'email|required',
            'number' => 'required'
        ]);
        if ($validator->fails()) {
            $customMessage = '';
            $validator_ArrayCount = $validator->errors()->toArray();          
            foreach ($validator_ArrayCount as $key => $value) {
                foreach ($value as $v) {
                    $customMessage .=  $v.'</br>';
                }
            }
            session()->flash('error', $customMessage);
            return redirect()->to('/')->with('error', $customMessage);
        }
        else{
            
            $name = $request->name;
            $email = $request->email;
            $number = $request->number;
            $comment = $request->comment;
            
            $data = array(
                "subject" =>'Call Back Form Submission',
                "name" =>$name,
                "email" =>$email,
                "number" =>$number,
                "comment" => $comment
            );
            $to_name = 'Buy Online';
            $to_email = 'vivekgoel@buyonlineclasses.com';
            Mail::send('email.contact', $data, function($message) use ($to_name, $to_email) {
            $message->to($to_email, $to_name)
            ->subject('Contact Us');
            $message->from('support@buyonlineclasses.com','Buy Online Classes');
            });
            }
            session()->flash('success', 'New Contact Form Submittedr.');
                return Redirect::to(url('/contact'));

    }
      public function get_product_video()
      {
        
        $course_id=$_POST['id'];
       

        $course = Course::all()->where( 'id' , $course_id )->first();

        $video=$course->lectures_link;

        $data='<iframe src="https://www.youtube.com/embed/'.$video.'" width="100%" height="250px"></iframe>';
         
        echo $data;

       
     }


      public function save_user_product_contact_information()
      {


        $user_fullname = $_POST['user_fullname'];;
        $user_email =$_POST['user_email'];
        $user_phone = $_POST['user_phone'];
        if(isset($_POST['user_message'])){
        $user_message =$_POST['user_message'];
        }else{

         $user_message ="";

        }
        $product_id=$_POST['product_id'];
      
        $Course_user_information = new CourseUserInformation();
        $Course_user_information->user_fullname = $user_fullname;
        $Course_user_information->user_email = $user_email;
        $Course_user_information->user_phone = $user_phone;
        $Course_user_information->user_message = $user_message;
        $Course_user_information->course_id = $product_id;
        $res = $Course_user_information->save();

       
              
        $data = array(
            "subject" =>'Call Back Form',
            "name" =>$user_fullname,
            "email" =>$user_email,
            "number" =>$user_phone,
            "comment" => $user_message
        );
        $to_name = 'Buy Online Classes';
        $to_email = 'vivekgoel@buyonlineclasses.com';
        //$to_email = 'sujit.kreative@gmail.com';
        Mail::send('email.contact', $data, function($message) use ($to_name, $to_email) {
        $message->to($to_email, $to_name)
        ->subject('Call Back Form');
        $message->from('support@buyonlineclasses.com','Buy Online Classes');
        });

        echo json_encode(array('suc' => true ));
        die();
     
  
     }
     


}
