You are here

function quiz_user_results in Quiz 6.6

Same name and namespace in other branches
  1. 8.6 quiz.pages.inc \quiz_user_results()
  2. 8.4 quiz.pages.inc \quiz_user_results()
  3. 8.5 quiz.pages.inc \quiz_user_results()
  4. 5.2 quiz.module \quiz_user_results()
  5. 5 quiz.module \quiz_user_results()
  6. 6.2 quiz.pages.inc \quiz_user_results()
  7. 6.3 quiz.pages.inc \quiz_user_results()
  8. 6.4 quiz.pages.inc \quiz_user_results()
  9. 6.5 quiz.pages.inc \quiz_user_results()
  10. 7.6 quiz.pages.inc \quiz_user_results()
  11. 7 quiz.pages.inc \quiz_user_results()
  12. 7.4 quiz.pages.inc \quiz_user_results()
  13. 7.5 quiz.pages.inc \quiz_user_results()
1 string reference to 'quiz_user_results'
quiz_menu in ./quiz.module
Implementation of hook_menu().

File

./quiz.pages.inc, line 11
User pages.

Code

function quiz_user_results($result_id) {
  global $user;
  $sql = 'SELECT qnp.nid, qnrs.uid
    FROM {quiz_node_properties} qnp
    INNER JOIN {quiz_node_results} qnrs ON qnrs.nid = qnp.nid
    WHERE qnrs.result_id = %d';
  $result = db_fetch_object(db_query($sql, $result_id));
  if ($result->nid) {

    // User can view own results (quiz_menu sets access to 'own results').
    // User with role 'user results' can view other user's results.
    if ($result->uid != $user->uid && !user_access('view user results')) {
      drupal_access_denied();
      return;
    }
    $quiz = node_load($result->nid);
    $questions = _quiz_get_answers($result_id);
    $score = quiz_calculate_score($quiz, $result_id);
    $summary = _quiz_get_summary_text($quiz, $score);
    return theme('quiz_user_summary', $quiz, $questions, $score, $summary);
  }
  else {
    drupal_not_found();
  }
}