Blame view

app/Providers/MyServiceProvider.php 4.29 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
  
          $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();
4415365f2   Андрей Ларионов   Провайдеры
96
  				$id_employer = $employer[0]->id;
e3c7b0ffb   Андрей Ларионов   Коммит на понедел...
97
98
99
100
101
102
103
104
105
106
                  $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();
4415365f2   Андрей Ларионов   Провайдеры
107
108
109
110
111
                           if (isset($Worker[0]->id)) {
  							$id_worker = $Worker[0]->id;
  						 } else {
  							$id_worker = 0;
  					     }						
e3c7b0ffb   Андрей Ларионов   Коммит на понедел...
112
113
114
                           $view_worker->with(['id_worker' => $id_worker, 'Worker' => $Worker, 'User' => $user]);
                       }
          );
142d287bd   Андрей Ларионов   Шаблоны кабинета ...
115
116
117
118
  
          $view_job_title = ['modals.register'];
          View::composer($view_job_title,
              function($view_job_title) {
f364ad5b7   Андрей Ларионов   Коммит по вакансиям
119
120
                  //$Job_titles = Job_title::query()->where('is_remove', '=', '0')->
                  //                                    where('is_bd', '=' , '1')->get();
60d8a1262   Андрей Ларионов   Провайдер связи
121
                  $Job_titles = Job_title::query()->where('is_remove', '=', '0')->
f364ad5b7   Андрей Ларионов   Коммит по вакансиям
122
123
                  where('is_bd', '=' , '1')->
                  OrderByDesc('sort')->OrderBy('name')->get();
142d287bd   Андрей Ларионов   Шаблоны кабинета ...
124
125
126
                  $view_job_title->with(['Job_titles' => $Job_titles]);
              }
          );
5f2a2635a   Андрей Ларионов   Справочник Должно...
127
128
      }
  }