/**
  * saves the current attempt class
  *
  * @return bool
  */
 public function save()
 {
     global $DB;
     // first save the question usage by activity object
     \question_engine::save_questions_usage_by_activity($this->quba);
     // add the quba id as the questionengid
     // this is here because for new usages there is no id until we save it
     $this->attempt->questionengid = $this->quba->get_id();
     $this->attempt->timemodified = time();
     if (isset($this->attempt->id)) {
         // update the record
         try {
             $DB->update_record('activequiz_attempts', $this->attempt);
         } catch (\Exception $e) {
             error_log($e->getMessage());
             return false;
             // return false on failure
         }
     } else {
         // insert new record
         try {
             $newid = $DB->insert_record('activequiz_attempts', $this->attempt);
             $this->attempt->id = $newid;
         } catch (\Exception $e) {
             return false;
             // return false on failure
         }
     }
     return true;
     // return true if we get here
 }
예제 #2
0
 protected function delete_quba()
 {
     question_engine::delete_questions_usage_by_activity($this->quba->get_id());
     $this->quba = null;
 }
예제 #3
0
파일: datalib.php 프로젝트: covex-nn/moodle
 /**
  * Update a question_usages row to refect any changes in a usage (but not
  * any of its question_attempts.
  * @param question_usage_by_activity $quba the usage that has changed.
  */
 public function update_questions_usage_by_activity(question_usage_by_activity $quba)
 {
     $record = new stdClass();
     $record->id = $quba->get_id();
     $record->contextid = $quba->get_owning_context()->id;
     $record->component = $quba->get_owning_component();
     $record->preferredbehaviour = $quba->get_preferred_behaviour();
     $this->db->update_record('question_usages', $record);
 }