You are here

function quiz_load in Quiz 6.6

Same name and namespace in other branches
  1. 5.2 quiz.module \quiz_load()
  2. 5 quiz.module \quiz_load()
  3. 6.2 quiz.module \quiz_load()
  4. 6.3 quiz.module \quiz_load()
  5. 6.4 quiz.module \quiz_load()
  6. 6.5 quiz.module \quiz_load()
  7. 7.6 quiz.module \quiz_load()
  8. 7 quiz.module \quiz_load()
  9. 7.4 quiz.module \quiz_load()
  10. 7.5 quiz.module \quiz_load()

Implementation of hook_load().

File

./quiz.module, line 496
Quiz Module

Code

function quiz_load($node) {
  $default_additions = _quiz_get_node_defaults();
  $fields = implode(', ', array_keys($default_additions));
  $quiz_vid = $node->vid;
  $sql = 'SELECT %s FROM {quiz_node_properties} WHERE vid = %d AND nid = %d ORDER BY property_id DESC';
  $fetched_additions = db_fetch_array(db_query($sql, $fields, $quiz_vid, $node->nid));
  $additions = $fetched_additions ? (object) ($fetched_additions += $default_additions) : NULL;

  /*
     * This doesn't appear to have ever worked.... It just adds an empty item to $additions->status.
     * Also, I can't find where this information is ever used, so there's probably no point in fixing it.
    $results   = db_query('SELECT nr.nid, qnr.question_status, qnr.child_nid
      FROM {quiz_node_relationship} qnr
      INNER JOIN {node_revisions} nr ON (qnr.parent_vid = nr.vid AND qnr.parent_nid = nr.nid)
      WHERE qnr.parent_vid = %d AND qnr.parent_nid = %d', $quiz_vid, $node->nid);

    while ($question = db_fetch_object($results)) {
      $additions->question_status[$question->child_nid] = $question->status;
      $additions->status[$question->child_nid] = $question->status;

    }*/
  $result_options = db_query('SELECT * FROM {quiz_node_result_options} WHERE nid = %d AND vid= %d', $node->nid, $node->vid);
  while ($option = db_fetch_array($result_options)) {
    $additions->resultoptions[$option['option_id']] = $option;
  }
  return $additions;
}