HEX
Server: Apache/2.4.41 (Ubuntu)
System: Linux wordpress-ubuntu-s-2vcpu-4gb-fra1-01 5.4.0-169-generic #187-Ubuntu SMP Thu Nov 23 14:52:28 UTC 2023 x86_64
User: root (0)
PHP: 7.4.33
Disabled: pcntl_alarm,pcntl_fork,pcntl_waitpid,pcntl_wait,pcntl_wifexited,pcntl_wifstopped,pcntl_wifsignaled,pcntl_wifcontinued,pcntl_wexitstatus,pcntl_wtermsig,pcntl_wstopsig,pcntl_signal,pcntl_signal_get_handler,pcntl_signal_dispatch,pcntl_get_last_error,pcntl_strerror,pcntl_sigprocmask,pcntl_sigwaitinfo,pcntl_sigtimedwait,pcntl_exec,pcntl_getpriority,pcntl_setpriority,pcntl_async_signals,pcntl_unshare,
Upload Files
File: /var/www/zaklada/wp-content/plugins/wpml-string-translation/classes/MO/Generate/Process/Status.php
<?php

namespace WPML\ST\MO\Generate\Process;

class Status {
	/** @var \SitePress */
	private $sitepress;

	/** @var string */
	private $optionPrefix;

	/**
	 * @param \SitePress  $sitepress
	 * @param string|null $optionPrefix
	 */
	public function __construct( \SitePress $sitepress, $optionPrefix = null ) {
		$this->sitepress    = $sitepress;
		$this->optionPrefix = $optionPrefix ?: self::class;
	}

	/**
	 * @param bool $allSites
	 */
	public function markComplete( $allSites = false ) {
		$settings                                      = $this->sitepress->get_setting( 'st', [] );
		$settings[ $this->getOptionName( $allSites ) ] = true;
		$this->sitepress->set_setting( 'st', $settings, true );
	}

	/**
	 * @param bool $allSites
	 */
	public function markIncomplete( $allSites = false ) {
		$settings = $this->sitepress->get_setting( 'st', [] );
		unset( $settings[ $this->getOptionName( $allSites ) ] );
		$this->sitepress->set_setting( 'st', $settings, true );
	}

	public function markIncompleteForAll() {
		$this->markIncomplete( true );
	}

	/**
	 * @return bool
	 */
	public function isComplete() {
		$st_settings = $this->sitepress->get_setting( 'st', [] );

		return isset( $st_settings[ $this->getOptionName( false ) ] );
	}

	/**
	 * @return bool
	 */
	public function isCompleteForAllSites() {
		$st_settings = $this->sitepress->get_setting( 'st', [] );

		return isset( $st_settings[ $this->getOptionName( true ) ] );
	}

	private function getOptionName( $allSites ) {
		return $allSites ? $this->optionPrefix . '_has_run_all_sites' : $this->optionPrefix . '_has_run';
	}
}