/** * Return the admin dashboard view. * * @return \Illuminate\View\View */ public function showDashboard(CacheManager $cache) { $stats = ['Item stats' => ['Listed' => function ($range) use($cache) { return mustard_number($cache->remember('total_items', config('mustard.dashboard_cache'), function () use($range) { return Item::totalListed($range); })); }, 'Watched' => function ($range) use($cache) { return mustard_number($cache->remember('total_items', config('mustard.dashboard_cache'), function () use($range) { return Item::totalWatched($range); })); }], 'User stats' => ['Registered' => function ($range) use($cache) { return mustard_number($cache->remember('total_users', config('mustard.dashboard_cache'), function () use($range) { return User::totalRegistered($range); })); }, 'Sellers' => function ($range) use($cache) { return mustard_number($cache->remember('total_sellers', config('mustard.dashboard_cache'), function () use($range) { return User::totalSellers($range); })); }]]; if (mustard_loaded('auctions')) { $stats['User stats']['Bidders'] = function ($range) use($cache) { return mustard_number($cache->remember('total_bidders', config('mustard.dashboard_cache'), function () use($range) { return User::totalBidders($range); })); }; $stats['Item stats']['Bids placed'] = function ($range) use($cache) { return mustard_number($cache->remember('total_bids_placed', config('mustard.dashboard_cache'), function () use($range) { return \Hamjoint\Mustard\Auctions\Bid::totalPlaced($range); })); }; $stats['Item stats']['Average bid amount'] = function ($range) use($cache) { return mustard_price($cache->remember('average_bids', config('mustard.dashboard_cache'), function () use($range) { return \Hamjoint\Mustard\Auctions\Bid::averageAmount($range); })); }; } if (mustard_loaded('commerce')) { $stats['User stats']['Buyers'] = function ($range) use($cache) { return mustard_number($cache->remember('total_buyers', config('mustard.dashboard_cache'), function () use($range) { return User::totalBuyers($range); })); }; $stats['Transaction stats']['Purchases'] = function ($range) use($cache) { return mustard_number($cache->remember('total_purchases', config('mustard.dashboard_cache'), function () use($range) { return \Hamjoint\Mustard\Commerce\Purchase::totalCreated($range); })); }; $stats['Transaction stats']['Average amount'] = function ($range) use($cache) { return mustard_price($cache->remember('average_purchases', config('mustard.dashboard_cache'), function () use($range) { return \Hamjoint\Mustard\Commerce\Purchase::averageAmount($range); })); }; } $ranges = ['Today' => strtotime('midnight'), 'This week' => strtotime('monday this week'), 'This month' => strtotime('midnight first day of this month'), 'This year' => strtotime(date('Y') . '/01/01'), 'Overall' => 0]; return view('mustard::admin.dashboard', ['ranges' => $ranges, 'stats' => $stats]); }