function make_output() { $out .= '$' . ssqs($_SESSION['quiz_data']['quiz_id']) . " = new Quiz(\n"; $out .= ' "' . ssqs($_SESSION['quiz_data']['quiz_id']) . "\",\n"; $out .= ' _("' . ssqs($_SESSION['quiz_data']['quiz_name']) . "\"),\n"; $out .= ' _("' . ssqs($_SESSION['quiz_data']['short_quiz_name']) . "\"),\n"; $out .= ' _("' . ssqs($_SESSION['quiz_data']['description']) . "\"),\n"; global $forums_url; if ($_SESSION['quiz_data']['thread'] != '') { $_SESSION['quiz_data']['thread'] = str_replace($forums_url, '$forums_url', $_SESSION['quiz_data']['thread']); } $out .= ' "' . ssqs($_SESSION['quiz_data']['thread']) . "\",\n"; $out .= " array(\n"; $pages = array(); foreach ($_SESSION['quiz_data']['pages'] as $quiz_page_id => $details) { $pages[] = ' _("' . ssqs($details) . '") => "' . ssqs($quiz_page_id) . "\""; } $out .= implode(",\n", $pages); $out .= "),\n"; $out .= " array(\n 'maximum_age' => 15778463) // 6 months\n);\n"; return html_safe($out); }
function make_output() { $out = '<?php' . "\n\n"; $out .= 'function quizsolved()'; $out .= "\n{\n"; $out .= " //a developer will fill this in to allow quiz passes\n"; $out .= "}\n\n"; $out .= '$browser_title = "' . ssqs($_SESSION['quiz_data']['browser_title']) . "\";\n"; $out .= '$welcome = "' . ssqs($_SESSION['quiz_data']['welcome']) . "\";\n"; $out .= '$initial_text = "' . enl(ssqs($_SESSION['quiz_data']['initial_text'])) . "\";\n"; $out .= '$solutions = array("'; $out .= enl(ssqs($_SESSION['quiz_data']['solutions'][0])) . '"'; if (isset($_SESSION['quiz_data']['solutions'][1])) { $out .= ', "' . enl(ssqs($_SESSION['quiz_data']['solutions'][1])) . '"'; } if (isset($_SESSION['quiz_data']['solutions'][2])) { $out .= ', "' . enl(ssqs($_SESSION['quiz_data']['solutions'][2])) . '"'; } if (isset($_SESSION['quiz_data']['solutions'][3])) { $out .= ', "' . enl(ssqs($_SESSION['quiz_data']['solutions'][3])) . '"'; } $out .= ");\n"; $out .= '$criteria = array("'; if (isset($_SESSION['quiz_data']['criteria'][0])) { $out .= enl(ssqs($_SESSION['quiz_data']['criteria'][0])) . '"'; } if (isset($_SESSION['quiz_data']['criteria'][1])) { $out .= ', "' . enl(ssqs($_SESSION['quiz_data']['criteria'][1])) . '"'; } if (isset($_SESSION['quiz_data']['criteria'][2])) { $out .= ', "' . enl(ssqs($_SESSION['quiz_data']['criteria'][2])) . '"'; } $out .= ");\n"; $out .= '$solved_message = "' . ssqs($_SESSION['quiz_data']['solved_message']) . "\";\n"; if ($_SESSION['quiz_data']['links_out'] != "") { $out .= '$links_out = "' . ssqs($_SESSION['quiz_data']['links_out']) . "\";\n"; } $out .= "\n\n" . '// error messages' . "\n\n"; foreach ($_SESSION['quiz_data']['messages'] as $name => $err) { $out .= '$messages["'; $out .= ssqs($name); $out .= '"] = array("message_text" => "'; $out .= ssqs($err['message_text']); $out .= '"'; if ($err['challengetext'] != "") { $out .= ', "challengetext" => "'; $out .= ssqs($err['challengetext']); $out .= '"'; } if ($err['feedbacktext'] != "") { $out .= ', "feedbacktext" => "'; $out .= ssqs($err['feedbacktext']); $out .= '"'; } $out .= ', "hints" => array('; if (isset($err['hints'][0])) { $out .= 'array("hint_text" => "'; $out .= ssqs($err['hints'][0]['hint_text']); $out .= '"'; if ($err['hints'][0]['linktext'] != "") { $out .= ', "linktext" => "'; $out .= ssqs($err['hints'][0]['linktext']); $out .= '"'; } $out .= ')'; if (isset($err['hints'][1])) { $out .= ', array("hint_text" => "'; $out .= ssqs($err['hints'][1]['hint_text']); $out .= '"'; if ($err['hints'][1]['linktext'] != "") { $out .= ', "linktext" => "'; $out .= ssqs($err['hints'][1]['linktext']); $out .= '"'; } $out .= ')'; } } $out .= ")"; if ($err['P_guideline'] != "") { $out .= ', "guideline" => "'; $out .= ssqs($err['P_guideline']); $out .= '"'; } if ($err['F_guideline'] != "") { $out .= ', "guideline" => "'; $out .= ssqs($err['F_guideline']); $out .= '"'; } $out .= ");\n"; } $out .= "\n\n"; $out .= "// error checks\n\n"; foreach ($_SESSION['quiz_data']['tests'] as $key => $test) { $out .= '$tests[] = array("type" => "' . $test['type'] . '"'; if ($test['type'] == 'multioccurrence') { $out .= ', "searchtext" => "' . ssqs(sdbsn($test['searchtext'])) . '", "case_sensitive" => '; if ($test['case_sensitive']) { $out .= 'TRUE'; } else { $out .= 'FALSE'; } $out .= ', "error" => "'; $out .= $test['error']; $out .= '"'; } elseif ($test['type'] == 'forbiddentext') { $out .= ', "searchtext" => array('; foreach (ssqs(sdbsn($test['searchtext'])) as $numsearch => $search) { if ($numsearch != 0) { $out .= ', '; } $out .= '"' . $search . '"'; } $out .= '), "case_sensitive" => '; if ($test['case_sensitive']) { $out .= 'TRUE'; } else { $out .= 'FALSE'; } $out .= ', "error" => "'; $out .= $test['error']; $out .= '"'; } elseif ($test['type'] == 'expectedtext') { $out .= ', "searchtext" => array('; foreach (ssqs(sdbsn($test['searchtext'])) as $numsearch => $search) { if ($numsearch != 0) { $out .= ', '; } $out .= '"' . $search . '"'; } $out .= '), "case_sensitive" => '; if ($test['case_sensitive']) { $out .= 'TRUE'; } else { $out .= 'FALSE'; } $out .= ', "error" => "'; $out .= $test['error']; $out .= '"'; } elseif ($test['type'] == 'wrongtextorder') { $out .= ', "firsttext" => "' . ssqs(sdbsn($test['firsttext'])) . '", "secondtext" => "' . ssqs(sdbsn($test['secondtext'])) . '", "case_sensitive" => '; if ($test['case_sensitive']) { $out .= 'TRUE'; } else { $out .= 'FALSE'; } $out .= ', "error" => "'; $out .= $test['error']; $out .= '"'; } elseif ($test['type'] == 'markupmissing' || $test['type'] == 'markupcorrupt') { $out .= ', "opentext" => "' . ssqs(sdbsn($test['opentext'])) . '", "closetext" => "' . ssqs(sdbsn($test['closetext'])) . '", "case_sensitive" => '; if ($test['case_sensitive']) { $out .= 'TRUE'; } else { $out .= 'FALSE'; } $out .= ', "error" => "'; $out .= $test['error']; $out .= '"'; } elseif ($test['type'] == 'expectedlinebreaks') { $out .= ', "starttext" => "' . ssqs(sdbsn($test['starttext'])) . '", "stoptext" => "' . ssqs(sdbsn($test['stoptext'])) . '", "number" => ' . ssqs(sdbsn($test['number'])) . ', "case_sensitive" => '; if ($test['case_sensitive']) { $out .= 'TRUE'; } else { $out .= 'FALSE'; } $out .= ', "errorlow" => "'; $out .= $test['errorlow']; $out .= '"'; $out .= ', "errorhigh" => "'; $out .= $test['errorhigh']; $out .= '"'; } elseif ($test['type'] == 'longline') { $out .= ', "lengthlimit" => ' . ssqs(sdbsn($test['lengthlimit'])); $out .= ', "error" => "'; $out .= $test['error']; $out .= '"'; } $out .= ');' . "\n"; } $out .= "?>"; return html_safe($out); }