PluginProbe ʕ •ᴥ•ʔ
Flexible Checkout Fields for WooCommerce – WooCommerce Checkout Manager / trunk
Flexible Checkout Fields for WooCommerce – WooCommerce Checkout Manager vtrunk
4.1.39 4.1.38 trunk 1.2 1.2.1 1.2.2 1.2.3 1.3 1.3.1 1.3.2 1.3.3 1.4 1.5 1.5.1 1.5.2 1.5.3 1.5.4 1.5.5 1.5.6 1.5.7 1.5.8 1.6 1.6.1 1.6.10 1.6.2 1.6.3 1.6.4 1.6.5 1.6.6 1.6.7 1.6.8 1.6.9 1.7 1.7.1 1.7.2 1.8 1.8.1 1.8.2 1.8.3 1.9.0 1.9.1 1.9.2 1.9.3 2.0.0 2.0.1 2.0.3 2.0.4 2.0.5 2.0.6 2.0.7 2.0.8 2.1.0 2.1.1 2.1.4 2.2.0 2.2.1 2.2.2 2.2.3 2.2.4 2.3.1 2.3.2 2.3.3 2.3.4 2.4.0 2.4.1 2.4.10 2.4.11 2.4.12 2.4.13 2.4.14 2.4.2 2.4.3 2.4.4 2.4.5 2.4.6 2.4.7 2.4.8 2.4.9 2.5.0 2.5.1 2.5.2 2.5.3 2.5.4 2.5.5 2.5.6 2.5.7 2.6.0 2.7.0 2.7.1 2.8.0 2.9.0 2.9.1 2.9.2 3.0.0 3.0.1 3.0.10 3.0.11 3.0.2 3.0.3 3.0.4 3.0.5 3.0.6 3.0.7 3.0.8 3.0.9 3.1.0 3.1.1 3.1.2 3.1.3 3.2.0 3.2.1 3.2.2 3.2.3 3.2.4 3.3.0 3.4.0 3.4.1 3.4.2 3.4.3 3.5.0 3.5.1 3.5.10 3.5.11 3.5.12 3.5.13 3.5.14 3.5.15 3.5.16 3.5.17 3.5.18 3.5.19 3.5.2 3.5.3 3.5.4 3.5.5 3.5.6 3.5.7 3.5.8 3.5.9 3.6.0 4.0.0 4.1.0 4.1.1 4.1.10 4.1.11 4.1.12 4.1.13 4.1.14 4.1.15 4.1.16 4.1.17 4.1.18 4.1.19 4.1.2 4.1.20 4.1.21 4.1.22 4.1.23 4.1.24 4.1.25 4.1.26 4.1.27 4.1.28 4.1.29 4.1.3 4.1.30 4.1.31 4.1.32 4.1.34 4.1.35 4.1.36 4.1.37 4.1.4 4.1.5 4.1.6 4.1.7 4.1.8 4.1.9
flexible-checkout-fields / src / Notice / ReviewNotice.php
flexible-checkout-fields / src / Notice Last commit date
BlockCompatibility.php 1 week ago FlexibleWishlistReview.php 1 week ago Notice.php 1 week ago NoticeIntegration.php 1 week ago ReviewNotice.php 1 week ago
ReviewNotice.php
80 lines
1 <?php
2
3 namespace WPDesk\FCF\Free\Notice;
4
5 use FcfVendor\WPDesk\PluginBuilder\Plugin\AbstractPlugin;
6
7 /**
8 * Notice about review.
9 */
10 class ReviewNotice implements Notice {
11
12 const ACTIVATION_OPTION_NAME = 'plugin_activation_%s';
13 const NOTICE_OPTION_NAME = 'notice_review_%s';
14 const NOTICE_NAME = 'notice_review';
15
16 /**
17 * @var AbstractPlugin
18 */
19 private $plugin;
20
21 public function __construct( AbstractPlugin $plugin ) {
22 $this->plugin = $plugin;
23 }
24
25 /**
26 * {@inheritdoc}
27 */
28 public function get_notice_name(): string {
29 return self::NOTICE_NAME;
30 }
31
32 /**
33 * {@inheritdoc}
34 */
35 public function is_active(): bool {
36 $option_notice = sprintf( self::NOTICE_OPTION_NAME, $this->plugin->get_plugin_file_path() );
37 $notice_date = strtotime( get_option( $option_notice, false ) );
38 $min_date = strtotime( current_time( 'mysql' ) );
39
40 if ( ( basename( $_SERVER['PHP_SELF'] ) !== 'index.php' ) // phpcs:ignore
41 || ( ( $notice_date !== false ) && ( $notice_date > $min_date ) ) ) {
42 return false;
43 }
44
45 $option_activation = sprintf( self::ACTIVATION_OPTION_NAME, $this->plugin->get_plugin_file_path() );
46 $activation_date = strtotime( get_option( $option_activation, current_time( 'mysql' ) ) );
47 $min_date = strtotime( current_time( 'mysql' ) . ' -7 days' );
48
49 return ( $activation_date <= $min_date );
50 }
51
52 /**
53 * {@inheritdoc}
54 */
55 public function get_template_path(): string {
56 return 'notices/review';
57 }
58
59 /**
60 * {@inheritdoc}
61 */
62 public function get_vars_for_view(): array {
63 return [];
64 }
65
66 /**
67 * {@inheritdoc}
68 */
69 public function set_notice_as_hidden( bool $is_permanently ) {
70 $option_name = sprintf( self::NOTICE_OPTION_NAME, $this->plugin->get_plugin_file_path() );
71 $notice_time = strtotime( current_time( 'mysql' ) . ( ( $is_permanently ) ? ' +10 years' : ' +1 month' ) );
72 $notice_date = gmdate( 'Y-m-d H:i:s', $notice_time );
73
74 update_option( $option_name, $notice_date, true );
75 }
76
77 public function add_notice_scripts(): void {
78 }
79 }
80