Du kannst nicht mehr als 25 Themen auswählen Themen müssen entweder mit einem Buchstaben oder einer Ziffer beginnen. Sie können Bindestriche („-“) enthalten und bis zu 35 Zeichen lang sein.

47 Zeilen
1.5KB

  1. <?php
  2. declare(strict_types=1);
  3. namespace App\Controllers;
  4. use App\Repositories\CampaignRepository;
  5. use App\Repositories\CampaignTypeRepository;
  6. use App\Repositories\CustomerRepository;
  7. use App\Repositories\CustomerTypeRepository;
  8. use App\Repositories\JobRepository;
  9. use App\Repositories\JobTypeRepository;
  10. use App\ViewModels\HomeIndexViewModel;
  11. use Core\Controller;
  12. class HomeController extends Controller
  13. {
  14. public function index()
  15. {
  16. $db = database();
  17. $model = new HomeIndexViewModel();
  18. $model->totalCampaignTypes = (new CampaignTypeRepository($db))->count();
  19. $model->totalCampaigns = (new CampaignRepository($db))->count();
  20. $model->totalJobTypes = (new JobTypeRepository($db))->count();
  21. $model->totalJobs = (new JobRepository($db))->count();
  22. $model->totalCustomerTypes = (new CustomerTypeRepository($db))->count();
  23. $model->totalCustomers = (new CustomerRepository($db))->count();
  24. $model->recentCampaigns = (new CampaignRepository($db))->recentWithType(5);
  25. $model->campaignsByType = (new CampaignRepository($db))->countByType();
  26. $model->recentCustomers = (new CustomerRepository($db))->recentWithType(5);
  27. $model->customersByType = (new CustomerRepository($db))->countByType();
  28. return $this->view('home.index', [
  29. 'model' => $model,
  30. 'pageTitle' => 'Dashboard',
  31. ]);
  32. }
  33. public function user(string $id)
  34. {
  35. return $this->json([
  36. 'userId' => $id,
  37. ]);
  38. }
  39. }

Powered by TurnKey Linux.