Esempio n. 1
0
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);
}
Esempio n. 2
0
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);
}