Why Gemfury? Push, build, and install  RubyGems npm packages Python packages Maven artifacts PHP packages Go Modules Bower components Debian packages RPM packages NuGet packages

jsarnowski / jsarnowski/flexible-shipping-pro   php

Repository URL to install this package:

Version: 1.11.1 

/ wpdesk / wp-builder / src / Plugin / ActivationTracker.php

<?php

namespace FSProVendor\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;
    }
}