Viewing file: DashboardController.php (2.44 KB) -rw-r--r-- Select action/file-type: (+) | (+) | (+) | Code (+) | Session (+) | (+) | SDB (+) | (+) | (+) | (+) | (+) | (+) |
<?php
namespace App\Http\Controllers\Admin;
use App\Http\Controllers\Controller; use App\Models\Customer; use App\Models\CustomerPlan; use App\Models\Message; use App\Models\MessageLog; use App\Models\SmsQueue; use App\Models\Plan; use Carbon\Carbon; use Illuminate\Http\Request; use Illuminate\Support\Facades\DB;
class DashboardController extends Controller { public function index(){
$user =auth()->user(); $customers=$user->customers; $customer_ids=[]; foreach ($customers as $key=>$customer){ $customer_ids[]=$customer->id; } $inboxes=MessageLog::whereIn('customer_id',$customer_ids)->where('type','inbox')->get(); $sent=MessageLog::whereIn('customer_id',$customer_ids)->where('type','sent')->get();
$data['newMessageCount'] = $inboxes->where('created_at', '>=', Carbon::now())->count(); $data['newSentCount'] = $sent->where('created_at', '>=', Carbon::now())->count();
$data['totalInbox'] = $inboxes->count(); $data['totalSent'] = $sent->count();
$cuatomers = Customer::select(DB::Raw('count(*) as count'),DB::Raw('MONTH(created_at) month')) ->groupBy('month')->get() ->pluck('count','month');
$months = ["Jan","Feb","Mar","Apr","May","Jun","Jul","Aug","Sep","Oct","Nov","Dec"]; $data['months']=$months;
$chatCuatomers=[]; for ($i = 1; $i <= 12; $i++) { $chatCuatomers[]=isset($cuatomers[trim($i, '"')])?$cuatomers[trim($i, '"')]:0; } $data['chart_customers']=$chatCuatomers;
$amount = CustomerPlan::select(DB::Raw("SUM(price) as total_debit"),DB::raw('MONTH(created_at) month')) ->groupBy('month')->get() ->pluck('total_debit','month'); $chat_amount=[]; for ($i = 1; $i <= 12; $i++) { $chat_amount[]=isset($amount[trim($i, '"')])?$amount[trim($i, '"')]:0; } $data['latest_customers']=Customer::latest()->take(5)->get(); $data['transactions'] = CustomerPlan::with('customer','plan')->latest()->take(5)->get(); $data['chat_amount']=$chat_amount; return view('admin.dashboard',$data); }
public function setLocale($type) { $availableLang = get_available_languages();
if (!in_array($type, $availableLang)) abort(400);
session()->put('locale', $type);
return redirect()->back()->with('success', 'Language successfully changes'); } }
|