
PK 
<?php
namespace App\Http\Controllers;
use App\Abandonment;
use App\UserDetail;
use App\Wishlist;
use Illuminate\Http\Request;
use Carbon\Carbon;
use Validator;
use Response;
use Redirect;
use Session;
use Auth;
use DB;
class AbandonmentController extends Controller
{
/**
* Create a new controller instance.
*
* @return void
*/
public function __construct()
{
$this->middleware('auth:admin');
}
/**
* Display a listing of the resource.
*
* @return \Illuminate\Http\Response
*/
public function index()
{
if (view()->exists('backend.admin.abandonments.index'))
{
$abandonments =[];
$abandonmentss =Abandonment::all();
foreach ($abandonmentss as $key => $abandonment) {
$abandonmentCount = count(json_decode($abandonment->cart_contant,true));
if($abandonmentCount>0){
//p($abandonmentCart);
$userdetail = UserDetail::Where('user_id',$abandonment->user_id)->select('user_fname','user_lname','user_email','user_contactno')->first();
$abandonments[$key]['id']=$abandonment->id;
$abandonments[$key]['user_id']=$abandonment->user_id;
$abandonments[$key]['cart']=$abandonmentCount;
$abandonments[$key]['created_at']=$abandonment->updated_at;
$abandonments[$key]['first_name']=$userdetail->user_fname;
$abandonments[$key]['email']=$userdetail->user_email;
$abandonments[$key]['contactno']=$userdetail->user_contactno;
}
}
//p(arrayToObject($abandonments)); exit;
return view('backend.admin.abandonments.index',compact('abandonments'));
}
return back()->with('message', 'Opps view not found');
}
/**
* Display a listing of the resource.
*
* @return \Illuminate\Http\Response
*/
public function indexWishlist(Request $request)
{
if (view()->exists('backend.admin.abandonments.wishlist'))
{
if ($request->id > 0) {
$userdetails = UserDetail::Where('user_id',$request->id)->select('user_fname','user_lname','user_email','user_contactno')->first();
$wishlists = DB::table('wishlists')
->join('products', 'wishlists.wish_pid', '=', 'products.id')->where('wishlists.wish_uid', '=', $request->id)
->select('wishlists.id as wish_id','products.id','product_name','product_slug','isdiscount','product_price','product_sale_price','product_stock_qty','product_sold_qty','product_image','products.created_at','wish_status')->get();
return view('backend.admin.abandonments.wishlistDetail',compact('wishlists','userdetails'));
} else {
// $wishlists = DB::table('wishlists')
// ->join('user_details', 'wishlists.wish_uid', '=', 'user_details.user_id')
// ->select(DB::raw('count(wishlists.wish_uid) as inWishList'),'wishlists.wish_uid','user_details.user_id','user_fname','user_contactno','user_email')
// ->groupBy('wish_uid')->having('wish_uid', '>=', 1)->get();
// $wishlists = DB::table('wishlists as wish')
// ->join('user_details as ud', 'wish.wish_uid', '=', 'ud.user_id')->get();
$wishlists=[];
$wishlist = DB::table('wishlists')
->select(DB::raw('count(*) as inWishList, wish_uid'))->groupBy('wish_uid')->get();
foreach ($wishlist as $key => $value) {
$user= UserDetail::where('user_id',$value->wish_uid)->select('user_id','user_fname','user_contactno','user_email')->first();
$wishlists[$key]['user_id']=$value->wish_uid;
$wishlists[$key]['inWishList']=$value->inWishList;
$wishlists[$key]['user_fname']=@$user->user_fname;
$wishlists[$key]['user_contactno']=@$user->user_contactno;
$wishlists[$key]['user_email']=@$user->user_email;
}
$wishlists = arrayToObject($wishlists);
return view('backend.admin.abandonments.wishlist',compact('wishlists'));
}
}
return back()->with('message', 'Opps view not found');
}
/**
* Display a listing of the resource.
*
* @return \Illuminate\Http\Response
*/
public function indexUser(Request $request)
{
if (view()->exists('backend.admin.abandonments.user'))
{
if ($request->id > 0) {
$userdetails = UserDetail::Where('user_id',$request->id)->select('user_fname','user_lname','user_email','user_contactno')->first();
$addresses= \App\UserAddress::Where('user_id',$request->id)->get();
return view('backend.admin.abandonments.userAddress',compact('addresses','userdetails'));
} else {
$users = DB::table('users as u')
->join('user_details as ud', 'u.id', '=', 'ud.user_id')
->select('u.usertype','u.created_at','ud.*','ud.user_id','ud.user_fname','ud.user_contactno','ud.user_email')
->orderBy('id','desc')->get();
if ($request->has('action') && $request->query('action')==='search') {
/* $product_name = trim($request->input('product_name'));
$product_sku = trim($request->input('product_sku'));
$products = product::query();
//$products=$products->orderBy('product_sortby','desc')->where('product_sku', 'like', '%' . $product_sku . '%')->orWhere('product_name', 'like', '%' . $product_name . '%')->paginate(50);
$products=$products->orderBy('product_sortby','desc');
if (!empty($product_sku)) {
$products=$products->where('product_sku', 'like', '%' . $product_sku . '%');
}
if (!empty($product_name)) {
$products=$products->where('product_name', 'like', '%' . $product_name . '%');
}
$products =$products->paginate(50); */
/* p($products);
exit; */
}
return view('backend.admin.abandonments.user',compact('users'));
}
}
return back()->with('message', 'Opps view not found');
}
/**
* Show the form for creating a new resource.
*
* @return \Illuminate\Http\Response
*/
public function create()
{
//
}
/**
* Store a newly created resource in storage.
*
* @param \Illuminate\Http\Request $request
* @return \Illuminate\Http\Response
*/
public function store(Request $request)
{
//
}
/**
* Display the specified resource.
*
* @param \App\Abandonment $abandonment
* @return \Illuminate\Http\Response
*/
public function show(Abandonment $abandonment)
{
if (view()->exists('backend.admin.abandonments.detail'))
{
//p($abandonment->cart_contant); exit;
$abandonments =[];
//$abandonmentss =Abandonment::all();
$abandonments = json_decode($abandonment->cart_contant,true);
$userdetails = UserDetail::Where('user_id',$abandonment->user_id)->select('user_fname','user_lname','user_email','user_contactno')->first();
$abandonments = arrayToObject($abandonments);
return view('backend.admin.abandonments.detail',compact('abandonments','userdetails'));
}
return back()->with('message', 'Opps view not found');
}
/**
* Show the form for editing the specified resource.
*
* @param \App\Abandonment $abandonment
* @return \Illuminate\Http\Response
*/
public function edit(Abandonment $abandonment)
{
//
}
/**
* Update the specified resource in storage.
*
* @param \Illuminate\Http\Request $request
* @param \App\Abandonment $abandonment
* @return \Illuminate\Http\Response
*/
public function update(Request $request, Abandonment $abandonment)
{
//
}
/**
* Remove the specified resource from storage.
*
* @param \App\Abandonment $abandonment
* @return \Illuminate\Http\Response
*/
public function destroy(Abandonment $abandonment)
{
//
}
}


PK 99