SHARE
TWEET

Quiz scoring

chrishajer Aug 15th, 2011 2,973 Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
  1. // http://www.gravityhelp.com/forums/topic/mathematics-to-gravity-forms
  2. add_action('gform_pre_submission', 'ch_total_quiz_values');
  3. function ch_total_quiz_values ($form) {
  4.         // change the number 20 here to your form ID
  5.         // if this is not form 20, don't do any processing
  6.         if($form['id'] != 20)
  7.                 return $form;
  8.  
  9.         // otherwise ...
  10.         $score = 0;
  11.         // my radio button inputs are numbered 1 to 20.  Change the beginning
  12.         // and ending number in this loop to match your actual input numbers
  13.         for($i=1; $i<=20; $i++) {
  14.                 // add the value of the $_POST value for input 1 to input 20
  15.                 $input  = 'input_' . $i;
  16.                 $score += rgpost($input);
  17.         }
  18.         // update the hidden 'Score' field with our calculated score
  19.         $_POST['input_25'] = $score;
  20.         switch($score) {
  21.                 // my "admin only" Rating field to hold the display message based on the score in input_24
  22.                 case 0:
  23.                 case 1:
  24.                 case 2:
  25.                 case 3:
  26.                 case 4:
  27.                 case 5:
  28.                         $_POST['input_24'] = '5 or fewer correct answers: You\'re a complacent leader who ignores changes in the environment.';
  29.                         break;
  30.                 case 6:
  31.                 case 7:
  32.                 case 8:
  33.                 case 9:
  34.                 case 10:
  35.                         $_POST['input_24'] = '6 to 10 correct answers: You\'re a leader who is comfortable with the status quo.';
  36.                         break;
  37.                 case 11:
  38.                 case 12:
  39.                 case 13:
  40.                 case 14:
  41.                 case 15:
  42.                         $_POST['input_24'] = '11 to 15 correct answers: You\'re a take charge leader who creates their own future.';
  43.                         break;
  44.                 default:
  45.                         $_POST['input_24'] = 'More than 15 correct answers: They\'re ready to produce a reality show about you: "Most Admired Leader"';
  46.         }
  47.         return $form;
  48. }
RAW Paste Data
We use cookies for various purposes including analytics. By continuing to use Pastebin, you agree to our use of cookies as described in the Cookies Policy. OK, I Understand
 
Top