X-Git-Url: https://vcs.fsf.org/?a=blobdiff_plain;f=lib%2FAuth%2FSource%2FFSFDrupalAuth.php;fp=lib%2FAuth%2FSource%2FFSFDrupalAuth.php;h=c3f044505b985d636fd98890ed8d1ed6e82cebaa;hb=0782e0aa7bc3a4ee05ae562d9c1777bf72fb8c98;hp=2acdc656b0a1280efc47046aa5dc3d2273669744;hpb=bdc16e064371704d033a8cc390e99c6ccc5c3968;p=fsfdrupalauth.git diff --git a/lib/Auth/Source/FSFDrupalAuth.php b/lib/Auth/Source/FSFDrupalAuth.php index 2acdc65..c3f0445 100644 --- a/lib/Auth/Source/FSFDrupalAuth.php +++ b/lib/Auth/Source/FSFDrupalAuth.php @@ -300,12 +300,9 @@ class FSFDrupalAuth extends \SimpleSAML\Module\core\Auth\UserPassBase } // - // query for access to board nomination process + // helper functions for access to board nomination / discussion process // - $start_date = $this->nomination_process_contrib_start_date; - $end_date = $this->nomination_process_contrib_end_date; - /** * @param string $query_name Name of query in authsources * @param array $extra_params Associative array of parameters to include in query @@ -337,7 +334,7 @@ class FSFDrupalAuth extends \SimpleSAML\Module\core\Auth\UserPassBase // the time window with a single donation. this approximates whether // the person was, or would have been, a member during the configured // time window. - $analyze_history = function ($selective_donations_history) + $nomination_process_analyze_history = function ($selective_donations_history) use ($start_date, $end_date) { $eligible = false; @@ -381,14 +378,24 @@ class FSFDrupalAuth extends \SimpleSAML\Module\core\Auth\UserPassBase return false; }; + // + // nomination form participation specific checks + // + + $start_date = $this->nomination_process_contrib_start_date; + $end_date = $this->nomination_process_contrib_end_date; + $donation_params = ['start_date' => $start_date, 'end_date' => $end_date]; $gift_member_params = ['start_date' => $start_date, 'end_date' => $end_date, 'gift_redeem_page_id' => intval($this->gift_redeem_page_id)]; $adhoc_params = ['adhoc_access_group_id' => intval($this->nomination_process_adhoc_access_group_id)]; if ($this->nomination_process_active == 'true' ) { - if ($compare_res($donation_query('query_nomination_process_adhoc', $adhoc_params), 1) || ($attributes['is_member'] == ['true'] - && ($analyze_history($donation_query('query_nomination_process_donations', $donation_params)) - || $compare_res($donation_query('query_nomination_process_gift_receipt', $gift_member_params), 1)))) { + if ($compare_res($donation_query('query_nomination_process_adhoc', $adhoc_params), 1)) { + $attributes['nomination_process'] = ['true']; + + } elseif ($attributes['is_member'] == ['true'] + && ($nomination_process_analyze_history($donation_query('query_nomination_process_donations', $donation_params)) + || $compare_res($donation_query('query_nomination_process_gift_receipt', $gift_member_params), 1))) { $attributes['nomination_process'] = ['true']; } else {