HEX
Server: Apache/2.4.6 (CentOS) OpenSSL/1.0.2k-fips PHP/7.4.30
System: Linux iZj6c1151k3ad370bosnmsZ 3.10.0-1160.76.1.el7.x86_64 #1 SMP Wed Aug 10 16:21:17 UTC 2022 x86_64
User: root (0)
PHP: 7.4.30
Disabled: NONE
Upload Files
File: //proc/self/cwd/wp-content/plugins/wpml-string-translation/classes/translation-files/Hooks.php
<?php

namespace WPML\ST\TranslationFile;

use WPML\ST\MO\Hooks\Factory;
use WPML\ST\MO\Plural;
use WPML_Action_Filter_Loader;
use WPML_Package_Translation_Schema;
use WPML_ST_Upgrade;
use WPML_ST_Upgrade_MO_Scanning;

class Hooks {

	/** @var WPML_Action_Filter_Loader $action_loader */
	private $action_loader;

	/** @var WPML_ST_Upgrade $upgrade */
	private $upgrade;

	public function __construct( WPML_Action_Filter_Loader $action_loader, WPML_ST_Upgrade $upgrade ) {
		$this->action_loader = $action_loader;
		$this->upgrade       = $upgrade;
	}

	public function install() {
		if ( $this->hasPackagesTable() && $this->hasTranslationFilesTables() ) {
			$this->action_loader->load( [ Factory::class, Plural::class ] );
		}
	}

	private function hasPackagesTable() {
		$updates_run = get_option( WPML_Package_Translation_Schema::OPTION_NAME, [] );
		return in_array( WPML_Package_Translation_Schema::REQUIRED_VERSION, $updates_run, true );
	}

	private function hasTranslationFilesTables() {
		return $this->upgrade->has_command_been_executed( WPML_ST_Upgrade_MO_Scanning::class );
	}
}