Current File : /home/getxxhzo/xpertbee.com/wp-content/plugins/hurrytimer/includes/Cookie_Detection.php |
<?php
namespace Hurrytimer;
use Hurrytimer\Utils\Helpers;
class Cookie_Detection
{
const COOKIE_PREFIX = '_ht_CDT-';
const RESET_FLAG = '_hurrytimer_reset_compaign_flag';
protected $campaignId;
public function __construct( $campaignId )
{
$this->campaignId = $campaignId;
}
public function updateOrCreate( $endDateTimeTS )
{
setcookie( self::cookieName( $this->campaignId ), $endDateTimeTS,
time() + YEAR_IN_SECONDS,
COOKIEPATH,
COOKIE_DOMAIN );
}
/**
* Find Campaign timer cookie.
*
*
* @return int|null
*/
public function getCurrentUserEndDate()
{
$endDateTS = self::cookieName( $this->campaignId );
if ( !isset( $_COOKIE[ $endDateTS ] ) || empty( $_COOKIE[ $endDateTS ] ) ) {
return null;
}
return $_COOKIE[ $endDateTS ];
}
/**
* Cookie name with given Campaign id.
*
* @param int $compaignId
*
* @return string
*/
public static function cookieName( $compaignId )
{
return self::COOKIE_PREFIX . $compaignId;
}
public function getCurrentUserResetToken()
{
$resetToken = self::cookieName( $this->campaignId ) . '_reset_token';
return empty( $_COOKIE[ $resetToken ] ) ? false : $_COOKIE[ $resetToken ];
}
public function deleteCampaignResetTokenCookie($campaignId = null)
{
$_campaignId = $campaignId ?: $this->campaignId;
$resetToken = self::cookieName( $_campaignId ) . '_reset_token';
setcookie( $resetToken, '', time() - YEAR_IN_SECONDS );
unset( $_COOKIE[ $resetToken ] );
}
public function deleteCampaignCookie( $campaignId = null )
{
$_campaignId = $campaignId ?: $this->campaignId;
$cookie_name = Cookie_Detection::cookieName( $_campaignId );
unset( $_COOKIE[ $cookie_name ] );
setcookie( $cookie_name, '', time() - YEAR_IN_SECONDS );
}
public function deleteAllCookies()
{
$campaigns = Helpers::getCampaigns();
foreach ( $campaigns as $campaign ) {
$this->deleteCampaignCookie( $campaign->ID );
$this->deleteCampaignResetTokenCookie($campaign->ID);
}
}
}