PluginProbe
Elementor Website Builder – more than just a page builder / 3.35.0-dev2
Elementor Website Builder – more than just a page builder v3.35.0-dev2
4.3.0-beta3 4.3.0-beta2 4.3.0-beta1 4.2.4 4.2.3 4.2.2 4.2.1 4.2.0 4.1.5 4.2.0-beta2 4.2.0-dev2 4.2.0-beta1 4.1.4 4.1.3 4.1.2 4.1.1 4.1.0 4.1.0-beta3 4.1.0-dev3 4.0.9 4.1.0-beta2 4.1.0-dev2 4.0.8 4.1.0-beta1 4.1.0-dev1 All 452 releases
elementor / modules / announcements / triggers / is-flex-container-inactive.php

is-flex-container-inactive.php in Elementor Website Builder – more than just a page builder 3.35.0-dev2, at modules/announcements/triggers/is-flex-container-inactive.php

51 lines 1.2 KB
No matching file
Up and down to move Enter to open Esc to close
Raw Download Zip
1 <?php
2
3 namespace Elementor\Modules\Announcements\Triggers;
4
5 use Elementor\Modules\Announcements\Classes\Trigger_Base;
6 use Elementor\Plugin;
7
8 if ( ! defined( 'ABSPATH' ) ) {
9 exit; // Exit if accessed directly.
10 }
11
12 class IsFlexContainerInactive extends Trigger_Base {
13
14 const USER_META_KEY = 'announcements_user_counter';
15 /**
16 * @var string
17 */
18 protected $name = 'is-flex-container-inactive';
19
20 /**
21 * @return int
22 */
23 protected function get_view_count(): int {
24 $user_counter = $this->get_user_announcement_count();
25
26 return ! empty( $user_counter ) ? (int) $user_counter : 0;
27 }
28
29 public function after_triggered() {
30 $new_counter = $this->get_view_count() + 1;
31 update_user_meta( get_current_user_id(), self::USER_META_KEY, $new_counter );
32 }
33
34 /**
35 * @return bool
36 */
37 public function is_active(): bool {
38 $is_feature_active = Plugin::$instance->experiments->is_feature_active( 'container' );
39 $counter = $this->get_user_announcement_count();
40
41 return ! $is_feature_active && (int) $counter < 1;
42 }
43
44 /**
45 * @return string
46 */
47 private function get_user_announcement_count(): string {
48 return get_user_meta( get_current_user_id(), self::USER_META_KEY, true );
49 }
50 }
51