shell bypass 403
<?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); } }