/** * Handle permission */ public static function handle_permissions() { $model = new object_acl_datasources(); self::$permissions = []; $data = $model->get(); foreach ($data as $k => $v) { foreach ($v as $k2 => $v2) { // if we have administrative account we allow everything if ($k2 === 999999999 && !empty($v2['*'])) { self::$flag_admin = true; } // build permission array foreach ($v2 as $k3 => $v3) { foreach ($v3 as $k4 => $v4) { if (!isset(self::$permissions[$k3][$k4])) { self::$permissions[$k3][$k4] = $v4; } else { if (self::$permissions[$k3][$k4] == true) { self::$permissions[$k3][$k4] = $v4; } } } } } } }