Browse Source

fleat: statistics

igb 2 weeks ago
parent
commit
1ff19a03f8
4 changed files with 36 additions and 7 deletions
  1. 32 4
      conn.php
  2. 1 1
      panel.php
  3. 1 1
      statistics.php
  4. 2 1
      statistics_utils.php

+ 32 - 4
conn.php

@@ -28,16 +28,44 @@ function checkAdmin() {
     }
 }
 
-function checkPermission($permission_role_id) {
-    if ((empty($_SESSION['em_permission_role_id'])||($_SESSION['em_permission_role_id']!=$permission_role_id))&&($_SESSION['em_permission_role_id']!=1)) {
 
-        return false;
+function checkPermissionDie(...$permission_role_ids) {
+    // 检查会话中是否设置权限ID
+    if (empty($_SESSION['em_permission_role_id'])) {
+        die("No permission , Please contact the administrator");
     }
-    else
+
+    // 如果是超级管理员(ID=1),直接返回true
+    if ($_SESSION['em_permission_role_id'] == 1) {
+       // return true;
+    }
+
+    // 检查当前角色ID是否在允许的角色ID中
+    if(!in_array($_SESSION['em_permission_role_id'], $permission_role_ids))
     {
+        die("No permission , Please contact the administrator");
+    }
+
+
+}
+
+function checkPermission(...$permission_role_ids) {
+    // 检查会话中是否设置权限ID
+    if (empty($_SESSION['em_permission_role_id'])) {
+        return false;
+    }
+
+    // 如果是超级管理员(ID=1),直接返回true
+    if ($_SESSION['em_permission_role_id'] == 1) {
         return true;
     }
+
+    // 检查当前角色ID是否在允许的角色ID中
+    return in_array($_SESSION['em_permission_role_id'], $permission_role_ids);
 }
+
+
+
 // 检查管理员或组长或组员
 function checkAdminOrEmployee () {
     if ((empty($_SESSION['em_permission_role_id'])||($_SESSION['em_permission_role_id']!=1)&&($_SESSION['em_permission_role_id']!=2)&&($_SESSION['em_permission_role_id']!=3))) {

+ 1 - 1
panel.php

@@ -74,7 +74,7 @@ $stmt->close();
             <?php endif; ?>
             <?php
             //权限角色为的时候显示统计分析
-            if(checkPermission(1))
+            if(checkPermission(1,2))
             {
 
              ?>

+ 1 - 1
statistics.php

@@ -2,7 +2,7 @@
 require_once 'conn.php';
 checkLogin();
 //检查是否管理员
-checkAdmin();
+checkPermissionDie(1,2);
 
 // 计算日期范围
 $current_month_start = date('Y-m-01');

+ 2 - 1
statistics_utils.php

@@ -13,7 +13,8 @@ if (!isset($_SESSION['employee_id'])) {
 }
 
 //检查是否管理员
-checkAdmin();
+checkPermissionDie(1,2);
+
 
 /**
  * 获取和处理日期范围参数