Skip to content
Snippets Groups Projects

Facilities result fix in ForceAup.php

Closed Dominik František Bučík requested to merge github/fork/dBucik/force_aups_fix into master
1 file
+ 29
12
Compare changes
  • Side-by-side
  • Inline
@@ -103,23 +103,26 @@ class sspmod_perun_Auth_Process_ForceAup extends SimpleSAML_Auth_ProcessingFilte
$requiredAups = array();
$voShortNames = array();
foreach ($facilities as $facility) {
$facilityAups = $this->adapter->getFacilityAttribute($facility, $this->perunFacilityReqAupsAttr);
if (!is_null($facilityAups)) {
foreach ($facilityAups as $facilityAup) {
array_push($requiredAups, $facilityAup);
if ($this->is_iterable($facilities)) {
foreach ($facilities as $facility) {
$facilityAups = $this->adapter->getFacilityAttribute($facility, $this->perunFacilityReqAupsAttr);
if (!is_null($facilityAups)) {
foreach ($facilityAups as $facilityAup) {
array_push($requiredAups, $facilityAup);
}
}
}
$facilityVoShortNames = $this->adapter->getFacilityAttribute($facility, $this->perunFacilityVoShortNames);
$facilityVoShortNames = $this->adapter->getFacilityAttribute($facility, $this->perunFacilityVoShortNames);
if (!is_null($facilityVoShortNames)) {
foreach ($facilityVoShortNames as $facilityVoShortName) {
array_push($voShortNames, $facilityVoShortName);
if (!is_null($facilityVoShortNames)) {
foreach ($facilityVoShortNames as $facilityVoShortName) {
array_push($voShortNames, $facilityVoShortName);
}
}
}
}
}
if (empty($requiredAups) && empty($voShortNames)) {
SimpleSAML\Logger::debug('Perun.ForceAup - No required Aups for facility with EntityId: ' . $request['SPMetadata']['entityid'] );
@@ -232,6 +235,20 @@ class sspmod_perun_Auth_Process_ForceAup extends SimpleSAML_Auth_ProcessingFilte
return $voAups;
}
/**
* @param $var
* @return bool
*/
public function is_iterable($var) {
return $var !== null
&& (is_array($var)
|| is_object($var)
|| $var instanceof Traversable
|| $var instanceof Iterator
|| $var instanceof IteratorAggregate
);
}
}
Loading