Example #1
0
     *
     * @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();