kopia lustrzana https://github.com/pixelfed/pixelfed
				
				
				
			Update AutospamUpdateCachedDataPipeline
							rodzic
							
								
									053b30bca0
								
							
						
					
					
						commit
						5abc2445a7
					
				| 
						 | 
				
			
			@ -24,56 +24,80 @@ class AutospamUpdateCachedDataPipeline implements ShouldQueue
 | 
			
		|||
	{
 | 
			
		||||
	}
 | 
			
		||||
 | 
			
		||||
    /**
 | 
			
		||||
     * Execute the job.
 | 
			
		||||
     */
 | 
			
		||||
    public function handle(): void
 | 
			
		||||
    {
 | 
			
		||||
        $spam = json_decode(Storage::get(AutospamService::MODEL_SPAM_PATH), true);
 | 
			
		||||
    	$newSpam = AutospamCustomTokens::whereCategory('spam')->get();
 | 
			
		||||
    	foreach($newSpam as $ns) {
 | 
			
		||||
    		$key = strtolower($ns->token);
 | 
			
		||||
    		if(isset($spam['words']['spam'][$key])) {
 | 
			
		||||
    			$spam['words']['spam'][$key] = $spam['words']['spam'][$key] + $ns->weight;
 | 
			
		||||
    		} else {
 | 
			
		||||
    			$spam['words']['spam'][$key] = $ns->weight;
 | 
			
		||||
    		}
 | 
			
		||||
    	}
 | 
			
		||||
    	$newSpamCount = count($spam['words']['spam']);
 | 
			
		||||
    	$spam['documents']['spam'] = $newSpamCount;
 | 
			
		||||
    	arsort($spam['words']['spam']);
 | 
			
		||||
    	Storage::put(AutospamService::MODEL_SPAM_PATH, json_encode($spam, JSON_UNESCAPED_SLASHES|JSON_PRETTY_PRINT));
 | 
			
		||||
	/**
 | 
			
		||||
	 * Execute the job.
 | 
			
		||||
	 */
 | 
			
		||||
	public function handle(): void
 | 
			
		||||
	{
 | 
			
		||||
		$spamExists = Storage::exists(AutospamService::MODEL_SPAM_PATH);
 | 
			
		||||
		if($spamExists) {
 | 
			
		||||
			$spam = json_decode(Storage::get(AutospamService::MODEL_SPAM_PATH), true);
 | 
			
		||||
		} else {
 | 
			
		||||
			$spam = [
 | 
			
		||||
				'documents' => [
 | 
			
		||||
					'spam' => 0
 | 
			
		||||
				],
 | 
			
		||||
				'words' => [
 | 
			
		||||
					'spam' => []
 | 
			
		||||
				]
 | 
			
		||||
			];
 | 
			
		||||
		}
 | 
			
		||||
		$newSpam = AutospamCustomTokens::whereCategory('spam')->get();
 | 
			
		||||
		foreach($newSpam as $ns) {
 | 
			
		||||
			$key = strtolower($ns->token);
 | 
			
		||||
			if(isset($spam['words']['spam'][$key])) {
 | 
			
		||||
				$spam['words']['spam'][$key] = $spam['words']['spam'][$key] + $ns->weight;
 | 
			
		||||
			} else {
 | 
			
		||||
				$spam['words']['spam'][$key] = $ns->weight;
 | 
			
		||||
			}
 | 
			
		||||
		}
 | 
			
		||||
		$newSpamCount = count($spam['words']['spam']);
 | 
			
		||||
		$spam['documents']['spam'] = $newSpamCount;
 | 
			
		||||
		arsort($spam['words']['spam']);
 | 
			
		||||
		Storage::put(AutospamService::MODEL_SPAM_PATH, json_encode($spam, JSON_UNESCAPED_SLASHES|JSON_PRETTY_PRINT));
 | 
			
		||||
 | 
			
		||||
    	$ham = json_decode(Storage::get(AutospamService::MODEL_HAM_PATH), true);
 | 
			
		||||
    	$newHam = AutospamCustomTokens::whereCategory('ham')->get();
 | 
			
		||||
    	foreach($newHam as $ns) {
 | 
			
		||||
    		$key = strtolower($ns->token);
 | 
			
		||||
    		if(isset($spam['words']['ham'][$key])) {
 | 
			
		||||
    			$ham['words']['ham'][$key] = $ham['words']['ham'][$key] + $ns->weight;
 | 
			
		||||
    		} else {
 | 
			
		||||
    			$ham['words']['ham'][$key] = $ns->weight;
 | 
			
		||||
    		}
 | 
			
		||||
    	}
 | 
			
		||||
		$hamExists = Storage::exists(AutospamService::MODEL_HAM_PATH);
 | 
			
		||||
		if($hamExists) {
 | 
			
		||||
			$ham = json_decode(Storage::get(AutospamService::MODEL_HAM_PATH), true);
 | 
			
		||||
		} else {
 | 
			
		||||
			$ham = [
 | 
			
		||||
				'documents' => [
 | 
			
		||||
					'ham' => 0
 | 
			
		||||
				],
 | 
			
		||||
				'words' => [
 | 
			
		||||
					'ham' => []
 | 
			
		||||
				]
 | 
			
		||||
			];
 | 
			
		||||
		}
 | 
			
		||||
		$newHam = AutospamCustomTokens::whereCategory('ham')->get();
 | 
			
		||||
		foreach($newHam as $ns) {
 | 
			
		||||
			$key = strtolower($ns->token);
 | 
			
		||||
			if(isset($spam['words']['ham'][$key])) {
 | 
			
		||||
				$ham['words']['ham'][$key] = $ham['words']['ham'][$key] + $ns->weight;
 | 
			
		||||
			} else {
 | 
			
		||||
				$ham['words']['ham'][$key] = $ns->weight;
 | 
			
		||||
			}
 | 
			
		||||
		}
 | 
			
		||||
 | 
			
		||||
    	$newHamCount = count($ham['words']['ham']);
 | 
			
		||||
    	$ham['documents']['ham'] = $newHamCount;
 | 
			
		||||
    	arsort($ham['words']['ham']);
 | 
			
		||||
		$newHamCount = count($ham['words']['ham']);
 | 
			
		||||
		$ham['documents']['ham'] = $newHamCount;
 | 
			
		||||
		arsort($ham['words']['ham']);
 | 
			
		||||
 | 
			
		||||
    	Storage::put(AutospamService::MODEL_HAM_PATH, json_encode($ham, JSON_UNESCAPED_SLASHES|JSON_PRETTY_PRINT));
 | 
			
		||||
		Storage::put(AutospamService::MODEL_HAM_PATH, json_encode($ham, JSON_UNESCAPED_SLASHES|JSON_PRETTY_PRINT));
 | 
			
		||||
 | 
			
		||||
    	$combined = [
 | 
			
		||||
    		'documents' => [
 | 
			
		||||
    			'spam' => $newSpamCount,
 | 
			
		||||
    			'ham' => $newHamCount,
 | 
			
		||||
    		],
 | 
			
		||||
    		'words' => [
 | 
			
		||||
    			'spam' => $spam['words']['spam'],
 | 
			
		||||
    			'ham' => $ham['words']['ham']
 | 
			
		||||
    		]
 | 
			
		||||
    	];
 | 
			
		||||
		$combined = [
 | 
			
		||||
			'documents' => [
 | 
			
		||||
				'spam' => $newSpamCount,
 | 
			
		||||
				'ham' => $newHamCount,
 | 
			
		||||
			],
 | 
			
		||||
			'words' => [
 | 
			
		||||
				'spam' => $spam['words']['spam'],
 | 
			
		||||
				'ham' => $ham['words']['ham']
 | 
			
		||||
			]
 | 
			
		||||
		];
 | 
			
		||||
 | 
			
		||||
    	Storage::put(AutospamService::MODEL_FILE_PATH, json_encode($combined, JSON_PRETTY_PRINT,JSON_UNESCAPED_SLASHES));
 | 
			
		||||
    	Cache::forget(AutospamService::MODEL_CACHE_KEY);
 | 
			
		||||
    	Cache::forget(AutospamService::CHCKD_CACHE_KEY);
 | 
			
		||||
    }
 | 
			
		||||
		Storage::put(AutospamService::MODEL_FILE_PATH, json_encode($combined, JSON_PRETTY_PRINT,JSON_UNESCAPED_SLASHES));
 | 
			
		||||
		Cache::forget(AutospamService::MODEL_CACHE_KEY);
 | 
			
		||||
		Cache::forget(AutospamService::CHCKD_CACHE_KEY);
 | 
			
		||||
	}
 | 
			
		||||
}
 | 
			
		||||
| 
						 | 
				
			
			
 | 
			
		|||
		Ładowanie…
	
		Reference in New Issue