소스 검색

a little refactor

Плотников Роман Вячеславович 3 년 전
부모
커밋
fefa177705
4개의 변경된 파일25개의 추가작업 그리고 11개의 파일을 삭제
  1. 1 1
      app/Controller/Site.php
  2. 22 0
      app/Middlewares/IsAdminMiddleware.php
  3. 0 10
      routes/web.php
  4. 2 0
      views/site/hello.php

+ 1 - 1
app/Controller/Site.php

@@ -85,7 +85,7 @@ class Site
             array_push($agesArray, $age);
         }
         $averageAge = $averageAge . (string)ceil(array_sum($agesArray) / count($agesArray));
-        return (new View)->render('site.hello', ['age' => $averageAge]);
+        return (new View)->render('site.hello', ['age' => $averageAge, 'isAdmin' => Auth::isAdmin()]);
     }
 
     public function getDivisionStaff(Request $request): string

+ 22 - 0
app/Middlewares/IsAdminMiddleware.php

@@ -0,0 +1,22 @@
+<?php
+
+namespace Middlewares;
+
+use Src\Auth\Auth;
+use Src\Request;
+
+class AuthMiddleware
+{
+    public function handle(Request $request)
+    {
+        $isAdmin = Auth::isAdmin();
+        $urlsForAdmin = [];
+        $url = $_SERVER['REQUEST_URI'];
+
+        if (in_array($url, $urlsForAdmin)) {
+            if (!$isAdmin) {
+                app()->route->redirect('/hello');
+            }
+        }
+    }
+}

+ 0 - 10
routes/web.php

@@ -17,16 +17,6 @@ Route::add(["GET", "POST"], '/getDivisionStaff', [Controller\Site::class, 'getDi
 Route::add(["GET", "POST"], '/getStateStaff', [Controller\Site::class, 'getStateStaff']);
 
 // Admin actions
-
-// Route::group(['namespace' => 'admin'], function() {
-//     Route::add(['GET', 'POST'], '/createNewUser', [Controller\Site::class, 'createNewUser']);
-//     Route::add(['GET', 'POST'], '/createNewState', [Site::class, 'createnewState']);
-//     Route::add(['GET', 'POST'], '/createNewDivision', [Site::class, 'createNewDivision']);
-//     Route::add(['GET', 'POST'], '/deleteUser', [Site::class, 'deleteUser']);
-//     Route::add(['GET', 'POST'], '/deleteState', [Site::class, 'deleteState']);
-//     Route::add(['GET', 'POST'], '/deleteDivision', [Site::class, 'deleteDivision']);
-// });
-
 Route::add(['GET', 'POST'], '/createNewUser', [Controller\Site::class, 'createNewUser']);
 Route::add(['GET', 'POST'], '/createNewState', [Site::class, 'createnewState']);
 Route::add(['GET', 'POST'], '/createNewDivision', [Site::class, 'createNewDivision']);

+ 2 - 0
views/site/hello.php

@@ -8,6 +8,8 @@
 <a class='get-staff' href="<?= app()->route->getUrl('/getStateStaff') ?>">Показать список сотрудников по штату</a>
 
 <?php
+$isAdmin = $isAdmin ?? false;
+
 if ($isAdmin) { ?>
     <hr>
     <h2>Действия администратора</h2>