Blame view

app/Providers/MyServiceProvider.php 4.21 KB
5f2a2635a   Андрей Ларионов   Справочник Должно...
1
2
3
  <?php
  
  namespace App\Providers;
5b68533bb   Андрей Ларионов   Работа над проект...
4
  use App\Models\Company;
077a30c8a   Андрей Ларионов   Таблица контента ...
5
  use App\Models\ContentRoles;
e3c7b0ffb   Андрей Ларионов   Коммит на понедел...
6
  use App\Models\Employer;
5f2a2635a   Андрей Ларионов   Справочник Должно...
7
  use App\Models\Job_title;
e3c7b0ffb   Андрей Ларионов   Коммит на понедел...
8
  use App\Models\Worker;
f060aa75b   Андрей Ларионов   Счетчик сообщений...
9
10
  use Illuminate\Support\Facades\Auth;
  use Illuminate\Support\Facades\DB;
5f2a2635a   Андрей Ларионов   Справочник Должно...
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
  use Illuminate\Support\Facades\View;
  use Illuminate\Support\ServiceProvider;
  
  class MyServiceProvider extends ServiceProvider
  {
      /**
       * Register services.
       *
       * @return void
       */
      public function register()
      {
          //
      }
  
      /**
       * Bootstrap services.
       *
       * @return void
       */
      public function boot()
      {
          $views = ['admin.job_titles.parent_id'];
          View::composer($views,
              function($view)
              {
                  static $items = null;
  
                  if (is_null($items)) {
                      $items = Job_title::query()->
                                          orderByDesc('sort')->
                                          orderBy('name')->
                                          active()->
                                          get();
                      $parent = 0;
                      $view->with(['items' => $items, 'parent' => $parent]);
                  } else {
                      $view->with(['items' => $items]);
                  }
  
              }
          );
f060aa75b   Андрей Ларионов   Счетчик сообщений...
53

00652ea57   Андрей Ларионов   Оптимизация запро...
54
          $views2 = ['layout.admin', 'admin.index'];
f060aa75b   Андрей Ларионов   Счетчик сообщений...
55
56
57
58
  
          View::composer($views2,
             function($view){
                 $id = Auth::user()->id;
077a30c8a   Андрей Ларионов   Таблица контента ...
59
60
61
62
                 $is_manager = Auth::user()->is_manager;
                 $admin = Auth::user()->admin;
  
                 $contents = ContentRoles::query()->get();
f060aa75b   Андрей Ларионов   Счетчик сообщений...
63
64
65
66
67
                 $query = DB::select(DB::raw('SELECT count(*) as MsgCount
                                      FROM messages m1
                                      Where ((m1.flag_new = 1) and (m1.to_user_id = :uid))
                                      '), ['uid' => $id]
                 );
077a30c8a   Андрей Ларионов   Таблица контента ...
68
69
70
71
72
                 $view->with(['MsgCount' => $query[0]->MsgCount,
                              'UserId' => $id,
                              'is_manager' => $is_manager,
                              'admin' => $admin,
                              'contents' => $contents]);
f060aa75b   Андрей Ларионов   Счетчик сообщений...
73
74
             }
          );
5b68533bb   Андрей Ларионов   Работа над проект...
75

a9dfa8c95   Андрей Ларионов   Обновление на 7 м...
76
          $views3 = ['layout.frontend', 'index'];
5b68533bb   Андрей Ларионов   Работа над проект...
77
78
79
80
81
  
          View::composer($views3,
              function($view){
                  $id = Auth::user();
                  $companies = Company::query()->limit(1)->get();
f364ad5b7   Андрей Ларионов   Коммит по вакансиям
82
83
84
85
                  //$jobs = Job_title::query()->where('is_remove', '=', '0')->get();
                  $jobs = Job_title::query()->where('is_remove', '=', '0')->
                  where('is_bd', '=' , '0')->
                  OrderByDesc('sort')->OrderBy('name')->get();
a9dfa8c95   Андрей Ларионов   Обновление на 7 м...
86
                  $view->with(['UserId' => $id, 'companies' => $companies, 'jobs' => $jobs]);
5b68533bb   Андрей Ларионов   Работа над проект...
87
88
              }
          );
e3c7b0ffb   Андрей Ларионов   Коммит на понедел...
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
  
          $view1 = ['employers.menu', 'employers.emblema', 'employers.send_all'];
          View::composer($view1,
              function($view){
                  $user = Auth::user();
                  $id = $user->id;
                  $employer = Employer::query()->where('user_id', $id)->get();
                  $id_employer = $employer[0]->id;
                  $view->with(['id_employer' => $id_employer, 'Employer' => $employer]);
              }
          );
  
          $view_worker = ['workers.emblema'];
          View::composer($view_worker,
                       function($view_worker) {
                           $user = Auth::user();
                           $id = $user->id;
                           $Worker = Worker::query()->where('user_id', $id)->get();
                           $id_worker = $Worker[0]->id;
                           $view_worker->with(['id_worker' => $id_worker, 'Worker' => $Worker, 'User' => $user]);
                       }
          );
142d287bd   Андрей Ларионов   Шаблоны кабинета ...
111
112
113
114
  
          $view_job_title = ['modals.register'];
          View::composer($view_job_title,
              function($view_job_title) {
f364ad5b7   Андрей Ларионов   Коммит по вакансиям
115
116
                  //$Job_titles = Job_title::query()->where('is_remove', '=', '0')->
                  //                                    where('is_bd', '=' , '1')->get();
73b12960f   Андрей Ларионов   Коммит по обновле...
117
                  $Job_titles = Job_title::query()->where('is_remove', '=', '0')->
f364ad5b7   Андрей Ларионов   Коммит по вакансиям
118
119
                  where('is_bd', '=' , '1')->
                  OrderByDesc('sort')->OrderBy('name')->get();
142d287bd   Андрей Ларионов   Шаблоны кабинета ...
120
121
122
                  $view_job_title->with(['Job_titles' => $Job_titles]);
              }
          );
5f2a2635a   Андрей Ларионов   Справочник Должно...
123
124
      }
  }