/
references.php
96 lines (60 loc) · 1.81 KB
/
references.php
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
<?php
// Add notifications to header
View::composer(
['partials.admin.header', 'partials.customer.header'], 'App\Http\ViewComposers\Header'
);
?>
<?php
namespace App\Http\ViewComposers;
use Auth;
use App\Utilities\Updater;
use Illuminate\View\View;
class Header
{
/**
* Bind data to the view.
*
* @param View $view
* @return void
*/
public function compose(View $view)
{
$user = Auth::user();
$bills = [];
$invoices = [];
$notifications = 0;
$company = null;
// Get customer company
if ($user->customer()) {
$company = (object)[
'company_name' => setting('general.company_name'),
'company_email' => setting('general.company_email'),
'company_address' => setting('general.company_address'),
'company_logo' => setting('general.company_logo'),
];
}
$undereads = $user->unreadNotifications;
foreach ($undereads as $underead) {
$data = $underead->getAttribute('data');
switch ($underead->getAttribute('type')) {
case 'App\Notifications\Expense\Bill':
$bills[$data['bill_id']] = $data['amount'];
$notifications++;
break;
case 'App\Notifications\Income\Invoice':
$invoices[$data['invoice_id']] = $data['amount'];
$notifications++;
break;
}
}
$updates = count(Updater::all());
$view->with([
'user' => $user,
'notifications' => $notifications,
'bills' => $bills,
'invoices' => $invoices,
'company' => $company,
'updates' => $updates,
]);
}
}