瀏覽代碼

Update permissions.php
If the $_SESSION['permissions'] isset then use it to prevent round trips to the database.

FusionPBX 1 年之前
父節點
當前提交
6833671fa7
共有 1 個文件被更改,包括 13 次插入11 次删除
  1. 13 11
      resources/classes/permissions.php

+ 13 - 11
resources/classes/permissions.php

@@ -64,13 +64,18 @@ if (!class_exists('permissions')) {
 				$this->user_uuid = $_SESSION['user_uuid'];
 			}
 
-			//create the groups object
-			$group = new groups($this->database, $this->domain_uuid, $this->user_uuid);
-			$this->groups = $group->assigned();
-
-			//get the list of groups assigned to the user
-			$this->permissions = $this->assigned();
+			//get the permissions
+			if (isset($_SESSION['permissions'])) {
+				$this->permissions = $_SESSION['permissions'];
+			}
+			else {
+				//create the groups object
+				$group = new groups($this->database, $this->domain_uuid, $this->user_uuid);
+				$this->groups = $group->assigned();
 
+				//get the list of groups assigned to the user
+				$this->permissions = $this->assigned();
+			}
 		}
 
 		/**
@@ -121,15 +126,12 @@ if (!class_exists('permissions')) {
 				return true;
 			}
 
-			//set permisisons array
-			$permissions = $_SESSION["permissions"];
-
 			//set default to false
 			$result = false;
 
 			//search for the permission
-			if (!empty($permissions) && !empty($permission_name)) {
-				foreach($permissions as $key => $value) {
+			if (!empty($this->permissions) && !empty($permission_name)) {
+				foreach($this->permissions as $key => $value) {
 					if ($key == $permission_name) {
 						$result = true;
 						break;