Forráskód Böngészése

Fix JellyStat test connection permissions for iframe mode

- Modified jellystatHomepagePermissions to dynamically check display mode
- Iframe mode now only requires jellyStatURL (not API key)
- Native mode still requires both jellyStatURL and jellyStatApikey
- Resolves 500 Internal Server Error on JellyStat test connection
- Fixes overly restrictive permission requirements blocking iframe mode testing
mgomon 1 éve
szülő
commit
86ca7ad1b9
1 módosított fájl, 10 hozzáadás és 8 törlés
  1. 10 8
      api/homepage/jellystat.php

+ 10 - 8
api/homepage/jellystat.php

@@ -137,6 +137,14 @@ trait JellyStatHomepageItem
     
     public function jellystatHomepagePermissions($key = null)
     {
+        $displayMode = $this->config['homepageJellyStatDisplayMode'] ?? 'native';
+        
+        // For iframe mode, only URL is required; for native mode, both URL and API key are required
+        $requiredFields = ['jellyStatURL'];
+        if ($displayMode === 'native') {
+            $requiredFields[] = 'jellyStatApikey';
+        }
+        
         $permissions = [
             'test' => [
                 'enabled' => [
@@ -145,10 +153,7 @@ trait JellyStatHomepageItem
                 'auth' => [
                     'homepageJellyStatAuth',
                 ],
-                'not_empty' => [
-                    'jellyStatURL',
-                    'jellyStatApikey'
-                ]
+                'not_empty' => $requiredFields
             ],
             'main' => [
                 'enabled' => [
@@ -157,10 +162,7 @@ trait JellyStatHomepageItem
                 'auth' => [
                     'homepageJellyStatAuth'
                 ],
-                'not_empty' => [
-                    'jellyStatURL',
-                    'jellyStatApikey'
-                ]
+                'not_empty' => $requiredFields
             ]
         ];
         return $this->homepageCheckKeyPermissions($key, $permissions);