Browse Source

Update autospam config, use config_cache

Daniel Supernault 1 năm trước cách đây
mục cha
commit
a76cb5f4f8

+ 1 - 1
app/Jobs/StatusPipeline/StatusEntityLexer.php

@@ -183,7 +183,7 @@ class StatusEntityLexer implements ShouldQueue
             'photo:video:album',
         ];
 
-        if (config_cache('pixelfed.bouncer.enabled')) {
+        if ((bool) config_cache('pixelfed.bouncer.enabled')) {
             Bouncer::get($status);
         }
 

+ 73 - 68
app/Services/AutospamService.php

@@ -2,77 +2,82 @@
 
 namespace App\Services;
 
+use App\Util\Lexer\Classifier;
 use Illuminate\Support\Facades\Cache;
 use Illuminate\Support\Facades\Storage;
-use App\Util\Lexer\Classifier;
 
 class AutospamService
 {
-	const CHCKD_CACHE_KEY = 'pf:services:autospam:nlp:checked';
-	const MODEL_CACHE_KEY = 'pf:services:autospam:nlp:model-cache';
-	const MODEL_FILE_PATH = 'nlp/active-training-data.json';
-	const MODEL_SPAM_PATH = 'nlp/spam.json';
-	const MODEL_HAM_PATH  = 'nlp/ham.json';
-
-	public static function check($text)
-	{
-		if(!$text || strlen($text) == 0) {
-			false;
-		}
-		if(!self::active()) {
-			return null;
-		}
-		$model = self::getCachedModel();
-		$classifier = new Classifier;
-		$classifier->import($model['documents'], $model['words']);
-		return $classifier->most($text) === 'spam';
-	}
-
-	public static function eligible()
-	{
-		return Cache::remember(self::CHCKD_CACHE_KEY, 86400, function() {
-			if(!config_cache('pixelfed.bouncer.enabled') || !config('autospam.enabled')) {
-				return false;
-			}
-
-			if(!Storage::exists(self::MODEL_SPAM_PATH)) {
-				return false;
-			}
-
-			if(!Storage::exists(self::MODEL_HAM_PATH)) {
-				return false;
-			}
-
-			if(!Storage::exists(self::MODEL_FILE_PATH)) {
-				return false;
-			} else {
-				if(Storage::size(self::MODEL_FILE_PATH) < 1000) {
-					return false;
-				}
-			}
-
-			return true;
-		});
-	}
-
-	public static function active()
-	{
-		return config_cache('autospam.nlp.enabled') && self::eligible();
-	}
-
-	public static function getCachedModel()
-	{
-		if(!self::active()) {
-			return null;
-		}
-
-		return Cache::remember(self::MODEL_CACHE_KEY, 86400, function() {
-			$res = Storage::get(self::MODEL_FILE_PATH);
-			if(!$res || empty($res)) {
-				return null;
-			}
-
-			return json_decode($res, true);
-		});
-	}
+    const CHCKD_CACHE_KEY = 'pf:services:autospam:nlp:checked';
+
+    const MODEL_CACHE_KEY = 'pf:services:autospam:nlp:model-cache';
+
+    const MODEL_FILE_PATH = 'nlp/active-training-data.json';
+
+    const MODEL_SPAM_PATH = 'nlp/spam.json';
+
+    const MODEL_HAM_PATH = 'nlp/ham.json';
+
+    public static function check($text)
+    {
+        if (! $text || strlen($text) == 0) {
+
+        }
+        if (! self::active()) {
+            return null;
+        }
+        $model = self::getCachedModel();
+        $classifier = new Classifier;
+        $classifier->import($model['documents'], $model['words']);
+
+        return $classifier->most($text) === 'spam';
+    }
+
+    public static function eligible()
+    {
+        return Cache::remember(self::CHCKD_CACHE_KEY, 86400, function () {
+            if (! (bool) config_cache('pixelfed.bouncer.enabled') || ! (bool) config_cache('autospam.enabled')) {
+                return false;
+            }
+
+            if (! Storage::exists(self::MODEL_SPAM_PATH)) {
+                return false;
+            }
+
+            if (! Storage::exists(self::MODEL_HAM_PATH)) {
+                return false;
+            }
+
+            if (! Storage::exists(self::MODEL_FILE_PATH)) {
+                return false;
+            } else {
+                if (Storage::size(self::MODEL_FILE_PATH) < 1000) {
+                    return false;
+                }
+            }
+
+            return true;
+        });
+    }
+
+    public static function active()
+    {
+        return config_cache('autospam.nlp.enabled') && self::eligible();
+    }
+
+    public static function getCachedModel()
+    {
+        if (! self::active()) {
+            return null;
+        }
+
+        return Cache::remember(self::MODEL_CACHE_KEY, 86400, function () {
+            $res = Storage::get(self::MODEL_FILE_PATH);
+            if (! $res || empty($res)) {
+                return null;
+            }
+
+            return json_decode($res, true);
+        });
+    }
 }

+ 1 - 1
resources/views/admin/diagnostics/home.blade.php

@@ -815,7 +815,7 @@
 	<tr>
 		<td><span class="badge badge-primary">PIXELFED</span></td>
 		<td><strong>PF_BOUNCER_ENABLED</strong></td>
-		<td><span>{{config_cache('pixelfed.bouncer.enabled') ? '✅ true' : '❌ false' }}</span></td>
+		<td><span>{{(bool) config_cache('pixelfed.bouncer.enabled') ? '✅ true' : '❌ false' }}</span></td>
 	</tr>
 	<tr>
 		<td><span class="badge badge-primary">PIXELFED</span></td>