first commit
This commit is contained in:
@@ -0,0 +1,66 @@
|
||||
<?php
|
||||
if ( ! defined( 'ABSPATH' ) ) {
|
||||
exit;
|
||||
} // Exit if accessed directly
|
||||
|
||||
class Flexible_Checkout_Fields_Activation_Tracker {
|
||||
|
||||
/** @var string */
|
||||
private $namespace;
|
||||
|
||||
/**
|
||||
* Flexible_Checkout_Fields_Activation_Tracker constructor.
|
||||
*
|
||||
* @param $namespace string for settings
|
||||
*/
|
||||
public function __construct( $namespace ) {
|
||||
$this->namespace = $namespace;
|
||||
}
|
||||
|
||||
/**
|
||||
* Option name for date storage
|
||||
*
|
||||
* @return string
|
||||
*/
|
||||
private function get_option_name_activation_date() {
|
||||
return $this->namespace . '_activation';
|
||||
}
|
||||
|
||||
/**
|
||||
* Returns activation date and sets it if were not set before
|
||||
*
|
||||
* @return int unix timestamp for activation datetime
|
||||
*/
|
||||
public function get_activation_date() {
|
||||
$activation_date
|
||||
= get_option( $this->get_option_name_activation_date() );
|
||||
if ( empty( $activation_date ) ) {
|
||||
return $this->touch_activation_date();
|
||||
}
|
||||
|
||||
return intval( $activation_date );
|
||||
}
|
||||
|
||||
/**
|
||||
* Was activation more than two weeks before today
|
||||
*
|
||||
* @return bool
|
||||
*/
|
||||
public function is_activated_more_than_two_weeks() {
|
||||
$two_weeks = 60 * 60 * 24 * 7 * 2;
|
||||
|
||||
return $this->get_activation_date() + $two_weeks < time();
|
||||
}
|
||||
|
||||
/**
|
||||
* Sets activatiion date for today
|
||||
*
|
||||
* @return int unit timestamp for now
|
||||
*/
|
||||
public function touch_activation_date() {
|
||||
$now = time();
|
||||
update_option( $this->get_option_name_activation_date(), $now );
|
||||
|
||||
return $now;
|
||||
}
|
||||
}
|
||||
Reference in New Issue
Block a user