From 939cd8c1bb5b2eb5aa84678d392354bb0f8f001c Mon Sep 17 00:00:00 2001 From: Tim van Dijen <tvdijen@gmail.com> Date: Sun, 5 Aug 2018 14:01:50 +0200 Subject: [PATCH] PSR2 --- .../lib/Auth/Process/ExpiryDate.php | 259 +++++++++--------- 1 file changed, 129 insertions(+), 130 deletions(-) diff --git a/modules/expirycheck/lib/Auth/Process/ExpiryDate.php b/modules/expirycheck/lib/Auth/Process/ExpiryDate.php index b6e0b3fcb..44c472ce3 100644 --- a/modules/expirycheck/lib/Auth/Process/ExpiryDate.php +++ b/modules/expirycheck/lib/Auth/Process/ExpiryDate.php @@ -24,134 +24,133 @@ namespace SimpleSAML\Module\expirycheck\Auth\Process; class ExpiryDate extends \SimpleSAML\Auth\ProcessingFilter { - private $warndaysbefore = 0; - private $netid_attr = NULL; - private $expirydate_attr = NULL; - private $date_format = 'd.m.Y'; - - - /** - * Initialize this filter. - * - * @param array $config Configuration information about this filter. - * @param mixed $reserved For future use. - */ - public function __construct($config, $reserved) { - parent::__construct($config, $reserved); - - assert(is_array($config)); - - if (array_key_exists('warndaysbefore', $config)) { - $this->warndaysbefore = $config['warndaysbefore']; - if (!is_string($this->warndaysbefore)) { - throw new \Exception('Invalid value for number of days given to expirycheck::ExpiryDate filter.'); - } - } - - if (array_key_exists('netid_attr', $config)) { - $this->netid_attr = $config['netid_attr']; - if (!is_string($this->netid_attr)) { - throw new \Exception('Invalid attribute name given as eduPersonPrincipalName to expirycheck::ExpiryDate filter.'); - } - } - - if (array_key_exists('expirydate_attr', $config)) { - $this->expirydate_attr = $config['expirydate_attr']; - if (!is_string($this->expirydate_attr)) { - throw new \Exception('Invalid attribute name given as schacExpiryDate to expirycheck::ExpiryDate filter.'); - } - } - - if (array_key_exists('date_format', $config)) { - $this->date_format = $config['date_format']; - if (!is_string($this->date_format)) { - throw new \Exception('Invalid date format given to expirycheck::ExpiryDate filter.'); - } - } - } - - /** - * Show expirational warning if remaining days is equal or under defined $warndaysbefore - * @param integer $expireOnDate - * @param integer $warndaysbefore - * @return bool - * - */ - public function shWarning(&$state, $expireOnDate, $warndaysbefore) { - $now = time(); - $end = $expireOnDate; - - if ($expireOnDate >= $now) { - $days = (int)(($end - $now) / (24*60*60)); - if ($days <= $warndaysbefore) { - $state['daysleft'] = $days; - return true; - } - } - return false; - } - - /** - * Check if given date is older than today - * @param integer $expireOnDate - * @return bool - * - */ - public function checkDate($expireOnDate) { - $now = time(); - $end = $expireOnDate; - - if ($now <= $end) { - return true; - } else { - return false; - } - - } - - /** - * Apply filter - * - * @param array &$state The current state. - */ - public function process(&$state) { - /* - * UTC format: 20090527080352Z - */ - $netId = $state['Attributes'][$this->netid_attr][0]; - $expireOnDate = strtotime($state['Attributes'][$this->expirydate_attr][0]); - - if (self::shWarning($state, $expireOnDate, $this->warndaysbefore)) { - assert(is_array($state)); - if (isset($state['isPassive']) && $state['isPassive'] === TRUE) { - // We have a passive request. Skip the warning. - return; - } - - \SimpleSAML\Logger::warning('expirycheck: NetID ' . $netId . - ' is about to expire!'); - - // Save state and redirect - $state['expireOnDate'] = date($this->date_format, $expireOnDate); - $state['netId'] = $netId; - $id = \SimpleSAML\Auth\State::saveState($state, 'expirywarning:about2expire'); - $url = \SimpleSAML\Module::getModuleURL('expirycheck/about2expire.php'); - \SimpleSAML\Utils\HTTP::redirectTrustedURL($url, array('StateId' => $id)); - } - - if (!self::checkDate($expireOnDate)) { - \SimpleSAML\Logger::error('expirycheck: NetID ' . $netId . - ' has expired [' . date($this->date_format, $expireOnDate) . ']. Access denied!'); - - /* Save state and redirect. */ - $state['expireOnDate'] = date($this->date_format, $expireOnDate); - $state['netId'] = $netId; - $id = \SimpleSAML\Auth\State::saveState($state, 'expirywarning:expired'); - $url = \SimpleSAML\Module::getModuleURL('expirycheck/expired.php'); - \SimpleSAML\Utils\HTTP::redirectTrustedURL($url, array('StateId' => $id)); - - } - } - - + private $warndaysbefore = 0; + private $netid_attr = null; + private $expirydate_attr = null; + private $date_format = 'd.m.Y'; + + + /** + * Initialize this filter. + * + * @param array $config Configuration information about this filter. + * @param mixed $reserved For future use. + */ + public function __construct($config, $reserved) + { + parent::__construct($config, $reserved); + + assert(is_array($config)); + + if (array_key_exists('warndaysbefore', $config)) { + $this->warndaysbefore = $config['warndaysbefore']; + if (!is_string($this->warndaysbefore)) { + throw new \Exception('Invalid value for number of days given to expirycheck::ExpiryDate filter.'); + } + } + + if (array_key_exists('netid_attr', $config)) { + $this->netid_attr = $config['netid_attr']; + if (!is_string($this->netid_attr)) { + throw new \Exception('Invalid attribute name given as eduPersonPrincipalName to expirycheck::ExpiryDate filter.'); + } + } + + if (array_key_exists('expirydate_attr', $config)) { + $this->expirydate_attr = $config['expirydate_attr']; + if (!is_string($this->expirydate_attr)) { + throw new \Exception('Invalid attribute name given as schacExpiryDate to expirycheck::ExpiryDate filter.'); + } + } + + if (array_key_exists('date_format', $config)) { + $this->date_format = $config['date_format']; + if (!is_string($this->date_format)) { + throw new \Exception('Invalid date format given to expirycheck::ExpiryDate filter.'); + } + } + } + + /** + * Show expirational warning if remaining days is equal or under defined $warndaysbefore + * @param integer $expireOnDate + * @param integer $warndaysbefore + * @return bool + * + */ + public function shWarning(&$state, $expireOnDate, $warndaysbefore) + { + $now = time(); + $end = $expireOnDate; + + if ($expireOnDate >= $now) { + $days = (int)(($end - $now) / (24*60*60)); + if ($days <= $warndaysbefore) { + $state['daysleft'] = $days; + return true; + } + } + return false; + } + + /** + * Check if given date is older than today + * @param integer $expireOnDate + * @return bool + * + */ + public function checkDate($expireOnDate) + { + $now = time(); + $end = $expireOnDate; + + if ($now <= $end) { + return true; + } else { + return false; + } + } + + /** + * Apply filter + * + * @param array &$state The current state. + */ + public function process(&$state) + { + /* + * UTC format: 20090527080352Z + */ + $netId = $state['Attributes'][$this->netid_attr][0]; + $expireOnDate = strtotime($state['Attributes'][$this->expirydate_attr][0]); + + if ($this->shWarning($state, $expireOnDate, $this->warndaysbefore)) { + assert(is_array($state)); + if (isset($state['isPassive']) && $state['isPassive'] === true) { + // We have a passive request. Skip the warning. + return; + } + + \SimpleSAML\Logger::warning('expirycheck: NetID '.$netId.' is about to expire!'); + + // Save state and redirect + $state['expireOnDate'] = date($this->date_format, $expireOnDate); + $state['netId'] = $netId; + $id = \SimpleSAML\Auth\State::saveState($state, 'expirywarning:about2expire'); + $url = \SimpleSAML\Module::getModuleURL('expirycheck/about2expire.php'); + \SimpleSAML\Utils\HTTP::redirectTrustedURL($url, array('StateId' => $id)); + } + + if (!$this->checkDate($expireOnDate)) { + \SimpleSAML\Logger::error('expirycheck: NetID '.$netId. + ' has expired ['.date($this->date_format, $expireOnDate).']. Access denied!'); + + /* Save state and redirect. */ + $state['expireOnDate'] = date($this->date_format, $expireOnDate); + $state['netId'] = $netId; + $id = \SimpleSAML\Auth\State::saveState($state, 'expirywarning:expired'); + $url = \SimpleSAML\Module::getModuleURL('expirycheck/expired.php'); + \SimpleSAML\Utils\HTTP::redirectTrustedURL($url, array('StateId' => $id)); + } + } } -- GitLab