<?php
/**
* @package RSForm! Pro
* @copyright (C) 2007-2019 www.rsjoomla.com
* @license GPL, http://www.gnu.org/copyleft/gpl.html
*/
// no direct access
defined('_JEXEC') or die;
use Joomla\CMS\Factory;
class RSFormProDateValidations
{
public static function none($day, $month, $year, $data = array())
{
// no validation
$valid = true;
return $valid;
}
public static function fromtoday($day, $month, $year, $data = array())
{
try
{
$today = Factory::getDate();
$selected = Factory::getDate($year.'-'.self::padding($month).'-'.self::padding($day).' 23:59:59');
return $selected->toUnix() >= $today->toUnix();
}
catch (Exception $e)
{
return false;
}
}
public static function fromtomorrow($day, $month, $year, $data = array())
{
try
{
$tomorrow = Factory::getDate();
$tomorrow->modify('+1 day');
$selected = Factory::getDate($year.'-'.self::padding($month).'-'.self::padding($day).' 23:59:59');
return $selected->toUnix() >= $tomorrow->toUnix();
}
catch (Exception $e)
{
return false;
}
}
public static function beforetodayexcluding($day, $month, $year, $data = array())
{
try
{
$today = Factory::getDate();
$today->setTime(0, 0, 0);
$selected = Factory::getDate($year.'-'.self::padding($month).'-'.self::padding($day).' 00:00:00');
return $selected->toUnix() < $today->toUnix();
}
catch (Exception $e)
{
return false;
}
}
public static function beforetodayincluding($day, $month, $year, $data = array())
{
try
{
$today = Factory::getDate();
$today->setTime(23, 59, 59);
$selected = Factory::getDate($year.'-'.self::padding($month).'-'.self::padding($day).' 00:00:00');
return $selected->toUnix() < $today->toUnix();
}
catch (Exception $e)
{
return false;
}
}
protected static function padding($value)
{
return str_pad($value, 2, '0', STR_PAD_LEFT);
}
}