PluginProbe
Packeta / 2.0.9
Packeta v2.0.9
2.3.2 2.3.1 trunk 1.2.2 1.2.3 1.2.4 1.2.5 1.2.6 1.3.0 1.3.1 1.3.2 1.4 1.4.1 1.4.2 1.4.3 1.5.0 1.5.1 1.5.2 1.5.3 1.5.4 1.6.0 1.6.1 1.6.2 1.6.3 1.6.4 All 56 releases
packeta / src / Packetery / Module / Options / FlagManager / FeatureFlagProvider.php

FeatureFlagProvider.php in Packeta 2.0.9, at src/Packetery/Module/Options/FlagManager/FeatureFlagProvider.php

75 lines 1.3 KB
No matching file
Up and down to move Enter to open Esc to close
Raw Download Zip
1 <?php
2 /**
3 * Class FeatureFlagProvider
4 *
5 * @package Packetery
6 */
7
8 declare( strict_types=1 );
9
10 namespace Packetery\Module\Options\FlagManager;
11
12 use Packetery\Module\Framework\WpAdapter;
13
14 /**
15 * Class FeatureFlagProvider
16 *
17 * @package Packetery
18 */
19 class FeatureFlagProvider {
20
21 public const FLAG_SPLIT_ACTIVE = 'splitActive';
22 public const FLAG_LAST_DOWNLOAD = 'lastDownload';
23
24 private const TRANSIENT_SPLIT_MESSAGE_DISMISSED = 'packeta_split_message_dismissed';
25
26 /**
27 * WP adapter;
28 *
29 * @var WpAdapter
30 */
31 private $wpAdapter;
32
33 /**
34 * Constructor.
35 *
36 * @param WpAdapter $wpAdapter WP adapter.
37 */
38 public function __construct(
39 WpAdapter $wpAdapter
40 ) {
41 $this->wpAdapter = $wpAdapter;
42 }
43
44 /**
45 * Tells if split is active.
46 *
47 * @return bool
48 */
49 public function isSplitActive(): bool {
50 // Enabled for all users. Method will be removed later.
51 return true;
52 }
53
54 /**
55 * Dismiss split notice.
56 *
57 * @return void
58 */
59 public function dismissSplitActivationNotice(): void {
60 $this->wpAdapter->setTransient( self::TRANSIENT_SPLIT_MESSAGE_DISMISSED, 'yes' );
61 }
62
63 /**
64 * Determines whether to display split notice.
65 *
66 * @return bool
67 */
68 public function shouldShowSplitActivationNotice(): bool {
69 return (
70 $this->isSplitActive() &&
71 $this->wpAdapter->getTransient( self::TRANSIENT_SPLIT_MESSAGE_DISMISSED ) !== 'yes'
72 );
73 }
74 }
75