<?php namespace WPDesk\PluginBuilder\Plugin; /** * @deprecated nobody uses it :) And also this library is not a place for this class * * @package WPDesk\PluginBuilder\Plugin */ class ActivationTracker { /** * Namespace. * * @var string */ private $namespace; /** * ActivationTracker constructor. * * @param string $namespace Namespace 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; } }