Status.php
1.56 KB
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
<?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';
}
}