### Eclipse Workspace Patch 1.0
#P HEAD
Index: quiz.module
===================================================================
RCS file: /cvs/drupal-contrib/contributions/modules/quiz/quiz.module,v
retrieving revision 1.111
diff -u -r1.111 quiz.module
--- quiz.module	6 Dec 2007 20:15:35 -0000	1.111
+++ quiz.module	7 Dec 2007 19:16:00 -0000
@@ -871,6 +871,16 @@
   global $user;
   if (arg(0) == 'node' && is_numeric(arg(1)) && user_access('access quiz')) {
     if ($quiz = node_load(arg(1))) {
+      if ($user->uid && $quiz->takes != 0) {
+	    $times = db_num_rows(db_query("SELECT result_id " .
+	                                  "FROM {quiz_node_results} " .
+	                                  "WHERE nid = %d AND vid = %d AND uid = %d",
+	                                  $quiz->nid, $quiz->vid, $user->uid));
+	    if ($times >= $quiz->takes) {
+	      drupal_set_message(t('You have already taken this @quiz %d times.', array('@quiz' => QUIZ_NAME, '%d' => $times)), 'status');
+	      return;
+	    }
+      }
       if (!isset($_SESSION['quiz_'. $quiz->nid]['quiz_questions'])) {
         // First time running through quiz.
         if ($rid = quiz_start_actions($quiz)) {
@@ -1155,20 +1165,11 @@
     }
   }
 
-  // Validate number of takes if we have a registered user.
-  if ($user->uid && $quiz->takes != 0) {
-    $times = db_num_rows(db_query("SELECT result_id " .
-                                  "FROM {quiz_node_results} " .
-                                  "WHERE nid = %d AND vid = %d AND uid = %d",
-                                  $quiz->nid, $quiz->vid, $user->uid));
-    if ($times >= $quiz->takes) {
-      drupal_set_message(t('You have already taken this @quiz %d times.', array('@quiz' => QUIZ_NAME, '%d' => $times)), 'status');
       // Allow quiz creators to test their quizzes.
       if (!user_access('create quiz')) {
         return FALSE;
       }
-    }
-  }
+  
 
   // Insert quiz_node_results record.
   $rid = db_next_id('{quiz_node_results}_result_id');
