Avoid double foreach loop - refs BT#9092

1.10.x
Angel Fernando Quiroz Campos 11 years ago
parent c7becfcd48
commit 36b3764b5e
  1. 21
      plugin/advanced_subscription/src/AdvancedSubscriptionPlugin.php

@ -237,12 +237,18 @@ class AdvancedSubscriptionPlugin extends Plugin implements HookPluginInterface
$whereSession $whereSession
); );
$expendedTimeMax = $plugin->get('yearly_hours_limit');
$expendedTime = 0;
$numberOfApprovedInductionSessions = 0; $numberOfApprovedInductionSessions = 0;
if (is_array($sessions) && count($sessions) > 0) { if (is_array($sessions) && count($sessions) > 0) {
foreach ($sessions as $session) { foreach ($sessions as $session) {
$var = $extra->get_values_by_handler_and_field_variable($session['id'], 'cost'); $costField = $extra->get_values_by_handler_and_field_variable($session['id'], 'cost');
$uitUser += $var['field_value']; $uitUser += $costField['field_value'];
$teachingHoursField = $extra->get_values_by_handler_and_field_variable($session['id'], 'teaching_hours');
$expendedTime += $teachingHoursField['field_value'];
$inductionField = $extra->get_values_by_handler_and_field_variable( $inductionField = $extra->get_values_by_handler_and_field_variable(
$session['id'], $session['id'],
@ -285,7 +291,6 @@ class AdvancedSubscriptionPlugin extends Plugin implements HookPluginInterface
} }
} }
if ($uitMax < $uitUser) { if ($uitMax < $uitUser) {
$errorMessage = sprintf( $errorMessage = sprintf(
$this->get_lang('AdvancedSubscriptionCostXLimitReached'), $this->get_lang('AdvancedSubscriptionCostXLimitReached'),
@ -299,16 +304,6 @@ class AdvancedSubscriptionPlugin extends Plugin implements HookPluginInterface
} }
} }
$expendedTimeMax = $plugin->get('yearly_hours_limit');
$expendedTime = 0;
if (is_array($sessions) && count($sessions) > 0) {
foreach ($sessions as $session) {
$var = $extra->get_values_by_handler_and_field_variable($session['id'], 'teaching_hours');
$expendedTime += $var['field_value'];
}
}
if ($expendedTimeMax < $expendedTime) { if ($expendedTimeMax < $expendedTime) {
$errorMessage = sprintf( $errorMessage = sprintf(
$this->get_lang('AdvancedSubscriptionTimeXLimitReached'), $this->get_lang('AdvancedSubscriptionTimeXLimitReached'),

Loading…
Cancel
Save