* * @param condition_info_base $ci Condition info * @param object $fromform Data from form * @param bool $wipefirst If true, wipes existing conditions */ protected static function update_from_form(condition_info_base $ci, $fromform, $wipefirst) { if ($wipefirst) { $ci->wipe_conditions(); } foreach ($fromform->conditiongradegroup as $record) { if ($record['conditiongradeitemid']) { $ci->add_grade_condition($record['conditiongradeitemid'], unformat_float($record['conditiongrademin']), unformat_float($record['conditiongrademax'])); } } foreach ($fromform->conditionfieldgroup as $record) { if ($record['conditionfield']) { $ci->add_user_field_condition($record['conditionfield'], $record['conditionfieldoperator'], $record['conditionfieldvalue']); } } if (isset($fromform->conditioncompletiongroup)) { foreach ($fromform->conditioncompletiongroup as $record) { if ($record['conditionsourcecmid']) { $ci->add_completion_condition($record['conditionsourcecmid'], $record['conditionrequiredcompletion']); } } } } } condition_info::init_global_cache();