Beispiel #1
0
 /**
  * Utility function that resets grade/completion conditions in table based
  * in data from editing form.
  *
  * @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']);
             }
         }
     }
 }