]> git.mjollnir.org Git - moodle.git/commitdiff
Removed old versions of quiz format plugins
authormoodler <moodler>
Wed, 17 Dec 2003 15:32:45 +0000 (15:32 +0000)
committermoodler <moodler>
Wed, 17 Dec 2003 15:32:45 +0000 (15:32 +0000)
mod/quiz/format/aiken.php [deleted file]
mod/quiz/format/aon.php [deleted file]
mod/quiz/format/blackboard.php [deleted file]
mod/quiz/format/coursetestmanager.php [deleted file]
mod/quiz/format/missingword.php [deleted file]
mod/quiz/format/multianswer.php [deleted file]
mod/quiz/format/qti.php [deleted file]
mod/quiz/format/webct.php [deleted file]

diff --git a/mod/quiz/format/aiken.php b/mod/quiz/format/aiken.php
deleted file mode 100644 (file)
index 47817dd..0000000
+++ /dev/null
@@ -1,91 +0,0 @@
-<?PHP  // $Id$ 
-
-///
-/// Written by Tom Robb <tom@robb.net> 2 November 2003
-/// 
-
-////////////////////////////////////////////////////////////////////////////
-/// AIKEN FORMAT
-///
-/// This Moodle class provides all functions necessary to import and export 
-/// one-correct-answer multiple choice questions in this format:
-///
-///  Question text
-///  A) Choice #1
-///  B) Choice #2
-///  C) Choice #3
-///  D) Choice #4
-///  ANSWER: B
-///    (blank line next not necessary since "AN" at the beginning of a line 
-///     triggers the question input and causes input to start all over.
-///
-///Only ONE correct answer is allowed with no feedback responses.
-///
-///Be sure to reword "All of the above" type questions as "All of these" (etc.) so that choices can
-///  be randomized
-///
-///This should work on WIN, Mac and Unix although only tested on Mac
-///
-////////////////////////////////////////////////////////////////////////////
-
-// Based on default.php, included by ../import.php
-
-class quiz_file_format extends quiz_default_format {
-
-//will this override default function?
-    function readquestions($lines){
-        $questions = array();
-        $endchar = chr(13); 
-        foreach ($lines as $line) {
-            $stp = strpos($line,$endchar,0);
-            $newlines = explode($endchar,$line);
-            $foundQ = 0;
-            for ($i=0; $i < count($newlines);$i++){
-                $nowline = addslashes($newlines[$i]);
-                ///Go through the arrage and build an object called $question
-                ///When done, add $question to $questions
-                if (strlen($nowline)< 2) {
-                    continue;
-                }
-                //                This will show everyline when file is being processed
-                //                print("$nowline<br>");
-                $leader = substr(ltrim($nowline),0,2);
-                if (strpos(".A)B)C)D)E)F)G)H)I)J)A.B.C.D.E.F.G.H.I.J.",$leader)>0){
-                    //trim off the label and space
-                    $question->answer[] = substr($nowline,3);
-                    $question->fraction[] = 0;
-                    continue;
-                }
-                if ($leader == "AN"){
-                    $ans =  trim(strstr($nowline,":"));
-                    $ans = substr($ans,2,1);
-                    //A becomes 0 since array starts from 0
-                    $rightans = ord($ans) - 65;
-                    $question->fraction[$rightans] = 1;
-                    $questions[] = $question;
-                    //clear array for next question set
-                    $question = NULL;
-                    continue;
-                } else {
-                    //Must be the first line since no leader
-                    $question->qtype = MULTICHOICE;
-                    $question->name = substr($nowline,0,50);
-                    $question->questiontext = $nowline;
-                    $question->single = 1;
-                    $question->feedback[] = "";
-                    $question->usecase = 0;  // Ignore case
-                    $question->defaultgrade = 1; 
-                    $question->image = "";   // No images with this format
-                }
-            }
-        }
-        return $questions;
-    }
-
-    function readquestion($lines) {
-        //this is no longer needed but might still be called by default.php
-        return;
-    }
-}
-
-?>
diff --git a/mod/quiz/format/aon.php b/mod/quiz/format/aon.php
deleted file mode 100644 (file)
index 470026d..0000000
+++ /dev/null
@@ -1,224 +0,0 @@
-<?PHP  // $Id$ 
-
-////////////////////////////////////////////////////////////////////////////
-/// Academy of Nursing format
-///
-/// Based on missingword.php
-///
-/// This Moodle class provides all functions necessary to import and export 
-/// one-correct-answer multiple choice questions in this format:
-///
-///    As soon as we begin to explore our body parts as infants
-///    we become students of {=anatomy and physiology ~reflexology 
-///    ~science ~experiment}, and in a sense we remain students for life.
-/// 
-/// Each answer is separated with a tilde ~, and the correct answer is 
-/// prefixed with an equals sign =
-///
-/// Afterwards, all short-answer questions are randomly packed into 
-/// 4-answer matching questions.
-///
-////////////////////////////////////////////////////////////////////////////
-
-// Based on default.php, included by ../import.php
-
-class quiz_file_format extends quiz_default_format {
-
-    function readquestion($lines) {
-    /// Given an array of lines known to define a question in 
-    /// this format, this function converts it into a question 
-    /// object suitable for processing and insertion into Moodle.
-
-        $question = NULL;
-
-        $text = implode($lines, " ");
-
-        /// Find answer section
-
-        $answerstart = strpos($text, "{");
-        if ($answerstart === false) {
-            if ($this->displayerrors) {
-                echo "<P>$text<P>Could not find a {";
-            }
-            return false;
-        }
-
-        $answerfinish = strpos($text, "}");
-        if ($answerfinish === false) {
-            if ($this->displayerrors) {
-                echo "<P>$text<P>Could not find a }";
-            }
-            return false;
-        }
-
-        $answerlength = $answerfinish - $answerstart;
-        $answertext = substr($text, $answerstart + 1, $answerlength - 1);
-
-        /// Save the new question text
-        $question->questiontext = addslashes(substr_replace($text, "_____", $answerstart, $answerlength+1));
-        $question->name = substr($question->questiontext, 0, 60)." ...";
-
-
-        /// Parse the answers
-        $answers = explode("~", $answertext);
-
-        $countanswers = count($answers);
-
-        switch ($countanswers) {
-            case 0:  // invalid question
-                if ($this->displayerrors) {
-                    echo "<P>No answers found in $answertext";
-                }
-                return false;
-
-            case 1:
-                $question->qtype = SHORTANSWER;
-
-                $answer = trim($answers[0]);
-                if ($answer[0] == "=") {
-                    $answer = substr($answer, 1);
-                }
-                $question->answer[]   = addslashes($answer);
-                $question->fraction[] = 1;
-                $question->feedback[] = "";
-    
-                $question->usecase = 0;  // Ignore case
-                $question->defaultgrade = 1; 
-                $question->image = "";   // No images with this format
-                return $question;
-
-            default:
-                $question->qtype = MULTICHOICE;
-
-                $answers = swapshuffle($answers);
-                foreach ($answers as $key => $answer) {
-                    $answer = trim($answer);
-                    if ($answer[0] == "=") {
-                        $question->fraction[$key] = 1;
-                        $answer = substr($answer, 1);
-                    } else {
-                        $question->fraction[$key] = 0;
-                    }
-                    $question->answer[$key]   = addslashes($answer);
-                    $question->feedback[$key] = "";
-                }
-    
-                $question->defaultgrade = 1; 
-                $question->single = 1;   // Only one answer is allowed
-                $question->image = "";   // No images with this format
-                return $question;
-        }
-    }
-
-    function importpostprocess() {
-    /// Goes through the questionids, looking for shortanswer questions
-    /// and converting random groups of 4 into matching questions.
-
-    /// Doesn't handle shortanswer questions with more than one answer
-
-        global $CFG;
-
-        print_heading(count($this->questionids)." ".get_string("questions", "quiz"));
-
-        $questionids = implode(',', $this->questionids);
-
-        if (!$shortanswers = get_records_select("quiz_questions", 
-                                                "id IN ($questionids) AND qtype = ".SHORTANSWER,
-                                                "", "id,qtype")) {
-            return true;
-        }
-
-
-        $shortanswerids = array();
-        foreach ($shortanswers as $key => $shortanswer) {
-            $shortanswerids[] = $key;
-        }
-        
-        $strmatch = get_string("match", "quiz")." (".$this->category->name.")";
-
-        $shortanswerids = swapshuffle($shortanswerids);
-        $count = $shortanswercount = count($shortanswerids);
-        $i = 1;
-        $matchcount = 0;
-
-        $question->category = $this->category->id;
-        $question->qtype    = MATCH;
-        $question->questiontext = get_string("randomsamatchintro", "quiz");
-        $question->image  = "";
-
-        while ($count > 4) {
-             $matchcount++;
-             $question->name         = "$strmatch $i";
-             $question->subquestions = array();
-             $question->subanswers   = array();
-
-             $extractids = implode(',', array_splice($shortanswerids, -4));
-             $count = count($shortanswerids);
-
-             $extracts = get_records_sql("SELECT q.questiontext, a.answer
-                                            FROM {$CFG->prefix}quiz_questions q,
-                                                 {$CFG->prefix}quiz_shortanswer sa,
-                                                 {$CFG->prefix}quiz_answers a
-                                           WHERE q.id in ($extractids) 
-                                             AND sa.question = q.id
-                                             AND a.id = sa.answers");
-
-             if (count($extracts) != 4) {
-                 print_object($extracts);
-                 notify("Could not find exactly four shortanswer questions with ids: $extractids");
-                 continue;
-             }
-
-             $question->stamp = make_unique_id_code();  // Set the unique code (not to be changed)
-             $question->version = 1;                    // Original version of this question
-
-             if (!$question->id = insert_record("quiz_questions", $question)) {
-                 error("Could not insert new question!");
-             }
-
-             foreach ($extracts as $shortanswer) {
-                 $question->subquestions[] = addslashes($shortanswer->questiontext);
-                 $question->subanswers[] = addslashes($shortanswer->answer);
-             }
-
-             $result = quiz_save_question_options($question);
-
-             if (!empty($result->error)) {
-                 notify("Error: $result->error");
-             }
-
-             if (!empty($result->notice)) {
-                 notify($result->notice);
-             }
-
-             /// Delete the old short-answer questions
-
-             execute_sql("DELETE FROM {$CFG->prefix}quiz_questions WHERE id IN ($extractids)", false);
-             execute_sql("DELETE FROM {$CFG->prefix}quiz_shortanswer WHERE question IN ($extractids)", false);
-             execute_sql("DELETE FROM {$CFG->prefix}quiz_answers WHERE question IN ($extractids)", false);
-             
-        }
-
-        if ($count) {    /// Delete the remaining ones
-            foreach ($shortanswerids as $shortanswerid) {
-                delete_records("quiz_questions", "id", $shortanswerid);
-                delete_records("quiz_shortanswer", "question", $shortanswerid);
-                delete_records("quiz_answers", "question", $shortanswerid);
-            }
-        }
-        $info = "$shortanswercount ".get_string("shortanswer", "quiz").
-                " => $matchcount ".get_string("match", "quiz");
-
-        print_heading($info);
-
-        $options['category'] = $this->category->id;
-        echo "<center>";
-        print_single_button("multiple.php", $options, get_string("randomcreate", "quiz"));
-        echo "</center>";
-
-        return true;
-    }
-
-}
-
-?>
diff --git a/mod/quiz/format/blackboard.php b/mod/quiz/format/blackboard.php
deleted file mode 100644 (file)
index 66f72ef..0000000
+++ /dev/null
@@ -1,252 +0,0 @@
-<?PHP // $Id$
-////////////////////////////////////////////////////////////////////////////
-/// Blackboard 6.0 Format
-///
-/// This Moodle class provides all functions necessary to import and export
-///
-///
-////////////////////////////////////////////////////////////////////////////
-
-// Based on default.php, included by ../import.php
-
-require_once ("$CFG->libdir/xmlize.php");
-
-class quiz_file_format extends quiz_default_format {
-
-/********************************
-  Need to re-compile php with zip support before testing this
-
-    function readdata($filename) {
-    /// Returns complete file with an array, one item per line
-
-        if (is_readable($filename)) {
-
-            $zip = zip_open($filename);
-            $zip_entry = $zip_read($zip);
-            if (strstr($zip_entry_name($zip_entry), "imsmanifest") == 0)
-              $zip_entry = $zip_read($zip); // skip past manifest file
-
-            if (zip_entry_open($zip, $zip_entry, "r")) {
-
-              $strbuf = zip_entry_read($zip_entry, zip_entry_filesize($zip_entry));
-              $buf = explode("\n", $strbuf);
-              zip_entry_close($zip_entry);
-              zip_close($zip);
-              return $buf;
-
-            } else {
-
-              zip_close($zip);
-              return false;
-
-            }
-
-        }
-
-        return false;
-    }
-
-********************************/
-
-  function readquestions ($lines) {
-    /// Parses an array of lines into an array of questions,
-    /// where each item is a question object as defined by
-    /// readquestion(). 
-
-    $text = implode($lines, " ");
-    $xml = xmlize($text);
-
-    $questions = array();
-
-    process_tf($xml, $questions);
-    process_mc($xml, $questions);
-    process_fib($xml, $questions);
-    process_matching($xml, $questions);
-
-    return $questions;
-  }
-}
-
-//----------------------------------------
-// Process True / False Questions
-//----------------------------------------
-function process_tf($xml, &$questions) {
-
-    $tfquestions = $xml["POOL"]["#"]["QUESTION_TRUEFALSE"];
-
-    for ($i = 0; $i < sizeof ($tfquestions); $i++) {
-      
-        $question = NULL;
-
-        $question->qtype = TRUEFALSE;
-        $question->defaultgrade = 1;
-        $question->single = 1; // Only one answer is allowed
-        $question->image = ""; // No images with this format
-
-       $thisquestion = $tfquestions[$i];
-        // put questiontext in question object
-       $question->questiontext = addslashes(trim($thisquestion["#"]["BODY"][0]["#"]["TEXT"][0]["#"]));
-        // put name in question object
-        $question->name = $question->questiontext;
-
-       $choices = $thisquestion["#"]["ANSWER"];
-
-        $correct_answer = $thisquestion["#"]["GRADABLE"][0]["#"]["CORRECTANSWER"][0]["@"]["answer_id"];
-
-        // first choice is true, second is false.
-        $id = $choices[0]["@"]["id"];
-
-        if (strcmp($id, $correct_answer) == 0) {  // true is correct
-            $question->answer = 1;
-            $question->feedbacktrue = addslashes(trim($thisquestion["#"]["GRADABLE"][0]["#"]["FEEDBACK_WHEN_CORRECT"][0]["#"]));
-            $question->feedbackfalse = addslashes(trim($thisquestion["#"]["GRADABLE"][0]["#"]["FEEDBACK_WHEN_INCORRECT"][0]["#"]));
-        } else {  // false is correct
-            $question->answer = 0;
-            $question->feedbacktrue = addslashes(trim($thisquestion["#"]["GRADABLE"][0]["#"]["FEEDBACK_WHEN_INCORRECT"][0]["#"]));
-            $question->feedbackfalse = addslashes(trim($thisquestion["#"]["GRADABLE"][0]["#"]["FEEDBACK_WHEN_CORRECT"][0]["#"]));
-        }
-        $questions[] = $question;
-      }
-}
-
-//----------------------------------------
-// Process Multiple Choice Questions
-//----------------------------------------
-function process_mc($xml, &$questions) {
-
-    $mcquestions = $xml["POOL"]["#"]["QUESTION_MULTIPLECHOICE"];
-
-    for ($i = 0; $i < sizeof ($mcquestions); $i++) {
-
-        $question = NULL;
-
-        $question->qtype = MULTICHOICE;
-        $question->defaultgrade = 1;
-        $question->single = 1; // Only one answer is allowed
-        $question->image = ""; // No images with this format
-
-       $thisquestion = $mcquestions[$i];
-        // put questiontext in question object
-       $question->questiontext = addslashes(trim($thisquestion["#"]["BODY"][0]["#"]["TEXT"][0]["#"]));
-        // put name of question in question object
-        $question->name = $question->questiontext;
-
-       $choices = $thisquestion["#"]["ANSWER"];
-       for ($j = 0; $j < sizeof ($choices); $j++) {
-
-           $choice = trim($choices[$j]["#"]["TEXT"][0]["#"]);
-            // put this choice in the question object.
-            $question->answer[$j] = addslashes($choice);
-
-           $id = $choices[$j]["@"]["id"];
-           $correct_answer_id = $thisquestion["#"]["GRADABLE"][0]["#"]["CORRECTANSWER"][0]["@"]["answer_id"];
-            // if choice is the answer, give 100%, otherwise give 0%
-           if (strcmp ($id, $correct_answer_id) == 0) {
-             $question->fraction[$j] = 1;
-              $question->feedback[$j] = addslashes(trim($thisquestion["#"]["GRADABLE"][0]["#"]["FEEDBACK_WHEN_CORRECT"][0]["#"]));
-            } else {
-             $question->fraction[$j] = 0;
-              $question->feedback[$j] = addslashes(trim($thisquestion["#"]["GRADABLE"][0]["#"]["FEEDBACK_WHEN_INCORRECT"][0]["#"]));
-            }
-        }
-        $questions[] = $question;
-    }
-}
-
-//----------------------------------------
-// Process Fill in the Blank Questions
-//----------------------------------------
-function process_fib($xml, &$questions) {
-
-    $fibquestions = $xml["POOL"]["#"]["QUESTION_FILLINBLANK"];
-    for ($i = 0; $i < sizeof ($fibquestions); $i++) {
-
-        $question = NULL;
-
-        $question->qtype = SHORTANSWER;
-        $question->defaultgrade = 1;
-        $question->usecase = 0;        // Ignore case
-        $question->image = ""; // No images with this format
-
-       $thisquestion = $fibquestions[$i];
-        // put questiontext in question object
-       $question->questiontext = addslashes(trim($thisquestion["#"]["BODY"][0]["#"]["TEXT"][0]["#"]));
-        // put name of question in question object
-        $question->name = $question->questiontext;
-
-       $answer = trim($thisquestion["#"]["ANSWER"][0]["#"]["TEXT"][0]["#"]);
-
-        $question->answer[] = addslashes($answer);
-        $question->fraction[] = 1;
-        $question->feedback[0] = addslashes(trim($thisquestion["#"]["GRADABLE"][0]["#"]["FEEDBACK_WHEN_CORRECT"][0]["#"]));
-        $question->feedback[1] = addslashes(trim($thisquestion["#"]["GRADABLE"][0]["#"]["FEEDBACK_WHEN_INCORRECT"][0]["#"]));
-         
-        $questions[] = $question;
-      }
-}
-
-//----------------------------------------
-// Process Matching Questions
-//----------------------------------------
-function process_matching($xml, &$questions) {
-
-    $matchquestions = $xml["POOL"]["#"]["QUESTION_MATCH"];
-    for ($i = 0; $i < sizeof ($matchquestions); $i++) {
-
-        $question = NULL;
-
-        $question->qtype = MATCH;
-        $question->defaultgrade = 1;
-        $question->image = ""; // No images with this format
-
-       $thisquestion = $matchquestions[$i];
-        // put questiontext in question object
-       $question->questiontext = addslashes(trim($thisquestion["#"]["BODY"][0]["#"]["TEXT"][0]["#"]));
-        // put name of question in question object
-        $question->name = $question->questiontext;
-
-       $choices = $thisquestion["#"]["CHOICE"];
-       for ($j = 0; $j < sizeof ($choices); $j++) {
-
-            $subquestion = NULL;
-
-           $choice = $choices[$j]["#"]["TEXT"][0]["#"];
-           $choice_id = $choices[$j]["@"]["id"];
-          
-            $question->subanswers[] = addslashes(trim($choice));
-           $correctanswers = $thisquestion["#"]["GRADABLE"][0]["#"]["CORRECTANSWER"];
-           for ($k = 0; $k < sizeof ($correctanswers); $k++) {
-
-               if (strcmp($choice_id, $correctanswers[$k]["@"]["choice_id"]) == 0) {
-
-                   $answer_id = $correctanswers[$k]["@"]["answer_id"];
-
-                   $answers = $thisquestion["#"]["ANSWER"];
-                   for ($m = 0; $m < sizeof ($answers); $m++) {
-
-                       $answer = $answers[$m];
-                       $current_ans_id = $answer["@"]["id"];
-                       if (strcmp ($current_ans_id, $answer_id) == 0) {
-
-                           $answer = $answer["#"]["TEXT"][0]["#"];
-                            $question->subquestions[] = addslashes(trim($answer));
-                           break;
-
-                         }
-
-                     }
-
-                   break;
-
-                 }
-
-             }
-           
-         }
-
-          $questions[] = $question;
-          
-      }
-}
-?>
diff --git a/mod/quiz/format/coursetestmanager.php b/mod/quiz/format/coursetestmanager.php
deleted file mode 100755 (executable)
index 840828e..0000000
+++ /dev/null
@@ -1,504 +0,0 @@
-<?PHP  // $Id$ 
-////////////////////////////////////////////////////////////////////
-/// Class for importing course test manager questions.            //
-///                                                               //
-///                                                               //
-////////////////////////////////////////////////////////////////////
-// Included by ../import.php
-class quiz_file_format {
-    function importpreprocess($category) {
-        $this->category = $category;  // Important
-        return true;
-    }
-    function importprocess($filename) {
-      global $CFG,$QUIZ_FILE_FORMAT,$strimportquestions,$form,$question_category,$category,$course,$THEME,
-      $hostname, $mdapath, $mdbpath;
-                       if ((PHP_OS == "Linux") and isset($hostname)) {
-                               $hostname = trim($hostname);
-                               // test the ODBC socket server connection
-                               // if failure, unset hostname and set hostname_access_error
-        $question_categories = $this->getquestioncategories($mdbpath, $mdapath, $hostname);
-        if (!$question_categories) { 
-               $hostname_access_error = $hostname . " ";
-               unset($hostname);
-        } else  {
-               $hostname_access_error = 0;
-        }
-                       }
-
-                       if ((PHP_OS == "Linux") and !isset($hostname)) {
-                                                               // copy the file to a semi-permanent location
-                   if (! $basedir = make_upload_directory("$course->id")) {
-                       error("The site administrator needs to fix the file permissions for the data directory");
-                   }
-                               if (!isset($hostname_access_error)) { 
-                 $bname=basename($filename);
-               $cleanfilename = clean_filename($bname);
-               if ($cleanfilename) {
-                   $newfile = "$basedir/$cleanfilename";
-                   if (move_uploaded_file($filename, $newfile)) {
-                       chmod($newfile, 0666);
-                   } else {
-                       notify(get_string("uploadproblem", "", $filename));
-                   }
-               }
-               $filename = $newfile;
-                               }
-                   print_heading_with_help($strimportquestions, "import", "quiz");
-                   print_simple_box_start("center", "", "$THEME->cellheading");
-                               if ($hostname_access_error) { notify("couldn't connect to ODBC Socket Server on " . $hostname_access_error); }
-                   echo "<form method=\"post\" action=\"import.php\">";
-                   echo "<table cellpadding=5>";
-
-        echo "<tr><td align=right>";
-                   echo "What is the hostname or IP address of the ODBC Socket Server:</td><td>";
-                   echo " <input name=\"hostname\" type=\"text\" size=\"50\" value=\"".stripslashes($hostname_access_error)."\">";
-                   echo " <input name=\"filename\" type=\"hidden\" value=\"".$filename."\">";
-                   echo " <input name=\"category\" type=\"hidden\" value=\"".$category->id."\">";
-                   echo " <input name=\"format\" type=\"hidden\" value=\"".$form->format."\">";
-                   echo "</td><td>&nbsp;</td></tr>";
-        echo "<tr><td align=right>";
-                   echo "What is the location of the database (.mdb file) on the Socket Server:</td><td>";
-                   echo " <input name=\"mdbpath\" type=\"text\" size=\"50\" value=\"".stripslashes($mdbpath)."\">";
-                               echo "</td><td>&nbsp;</td></tr>";
-        echo "<tr><td align=right>";
-                   echo "What is the location of the system database (System.mda file) on the Socket Server:</td><td>";
-                   echo " <input name=\"mdapath\" type=\"text\" size=\"50\" value=\"".stripslashes($mdapath)."\">";
-                               echo "</td><td>&nbsp;</td></tr>";
-                   echo "<tr><td>&nbsp;</td><td>";
-                   echo " <input type=submit name=save value=\"Connect to Server\">";
-                   echo "</td></tr>";
-                   echo "</table>";
-                   echo "</form>";
-                   print_simple_box_end();
-                   print_footer($course);
-             exit;
-                       } 
-                               
-                       // we get here if running windows or after connect to ODBC socket server on linux
-//
-// this generates the page to choose categories of questions to import
-//
-           if (!isset($question_category)) {
-
-                               if (PHP_OS == "WINNT") { 
-                                       // copy the file to a semi-permanent location
-                           if (! $basedir = make_upload_directory("$course->id")) {
-                               error("The site administrator needs to fix the file permissions for the data directory");
-                           }
-                 $bname=basename($filename);
-               $cleanfilename = clean_filename($bname);
-               if ($cleanfilename) {
-                   $newfile = "$basedir/$cleanfilename";
-                   if (move_uploaded_file($filename, $newfile)) {
-                       chmod($newfile, 0666);
-                   } else {
-                       notify(get_string("uploadproblem", "", $filename));
-                   }
-               }
-               $filename = $newfile;
-                               }
-        // end of file copy
-
-                               // don't have to do this on linux, since it's alreay been done in the test above
-        if (PHP_OS == "WINNT") { $question_categories = $this->getquestioncategories($filename); }
-        // print the intermediary form
-                   if (!$categories = quiz_get_category_menu($course->id, true)) {
-                       error("No categories!");
-                   }
-                   print_heading_with_help($strimportquestions, "import", "quiz");
-                   print_simple_box_start("center", "", "$THEME->cellheading");
-                   echo "<form method=\"post\" action=\"import.php\">";
-                   echo "<table cellpadding=5>";
-        echo "<tr><td align=right>";
-                   echo "Choose a category of questions to import:</td><td>";
-                   asort($question_categories);
-                   choose_from_menu($question_categories, "question_category","All Categories","All Categories", "", "allcategories");
-                   echo " <input name=\"filename\" type=\"hidden\" value=\"".$filename."\">";
-                   echo " <input name=\"category\" type=\"hidden\" value=\"".$category->id."\">";
-                   echo " <input name=\"format\" type=\"hidden\" value=\"".$form->format."\">";
-                   if (PHP_OS == "Linux") {
-                           echo " <input name=\"hostname\" type=\"hidden\" value=\"".stripslashes(trim($hostname))."\">";
-                           echo " <input name=\"mdbpath\" type=\"hidden\" value=\"".stripslashes($mdbpath)."\">";
-                           echo " <input name=\"mdapath\" type=\"hidden\" value=\"".stripslashes($mdapath)."\">";
-                   }
-                   echo "</td><td>&nbsp;</td>";
-                   echo "</tr><tr><td>&nbsp;</td><td>";
-                   echo " <input type=submit name=save value=\"Import Questions\">";
-                   echo "</td></tr>";
-                   echo "</table>";
-                   echo "</form>";
-                   print_simple_box_end();
-                   print_footer($course);
-             exit;             
-           }
-//
-// this is the main import section
-//
-    notify("Importing questions");
-    if (PHP_OS == "Linux") { 
-       $hostname = trim($hostname);
-       $records = $this->getquestions($mdbpath,$question_category,$mdapath, $hostname);
-    } else {
-       $records = $this->getquestions($filename,$question_category);
-    }
-                               foreach ($records as $qrec)
-                               {
-               $question = NULL;
-               $question->image = "";  // No images with this format
-                                       if ($qrec[9] != "") {
-                                               $question->image = $qrec[9];
-                                       }
-               $question->defaultgrade = 1;
-//     0       Selected
-//     1       PracticeTestOK?
-//     2       QuestionText
-//     3       QuestionType
-//     4       Option1Text
-//     5       Option2Text
-//     6       Option3Text
-//     7       Option4Text
-//     8       CorrectAnswer
-//     9       Graphic
-//     10      Module
-//     11      ChapterNumber
-//     12      PageNumber
-          $ref = "Answer can be found in chapter ". $qrec[11] . ", page " . $qrec[12] . ".";
-                                       switch ($qrec[3]) {
-                                 case 1:                               
-                               $question->qtype = MULTICHOICE; // MULTICHOICE, SHORTANSWER, TRUEFALSE
-               //                      echo "<pre>";echo htmlspecialchars($qrec[2]); echo "</pre>";
-                               $question->questiontext = addslashes(trim($qrec[2]));
-               //                      echo "<pre>";echo $question->questiontext; echo "</pre>";
-                               $question->name = preg_replace("/<br>/", "", $question->questiontext);
-                               $question->single = 1;  // Only one answer is allowed -- used for multiple choicers
-                                                       $fractionset = 0;
-                                                       for ($i=4;$i<=7;$i++) {
-                                                               if ($qrec[$i] != "") {
-                                                                       $question->answer[$i-3]=addslashes($qrec[$i]);
-                                                                       if ($qrec[8] == $i-3) {  // if this is the index of CorrectAnswer
-                                                                         $question->fraction[$i-3] = 1;
-                                                                         $fractionset = 1;
-                                                                       } else {
-                                                                         $question->fraction[$i-3] = 0;
-                                                                       }
-                                                                       $question->feedback[$i-3] = (($qrec[8] == $i-3)?"Correct. ":"Incorrect. ") . $ref;
-                                                               }
-                                                       }
-                                                       if ($fractionset == 0) { $question->fraction[1] = 1; }
-                                       break;
-                                               case 2:  // TRUE FALSE
-                               $question->qtype = TRUEFALSE; 
-                               $question->questiontext = addslashes(trim($qrec[2]));
-                               $question->name = preg_replace("/<br>/", "", $question->questiontext);
-                                                       // for TF, $question->answer should be 1 for true, 0 for false
-                               if ($qrec[8] == "T") { $question->answer =1;} else { $question->answer = 0; }
-                                     // for TF, use $question->feedbacktrue and feedbackfalse
-                                       $question->feedbacktrue = (($qrec[8] =="T")?"Correct. ":"Incorrect. ") . $ref;
-                                       $question->feedbackfalse = (($qrec[8] =="F")?"Correct. ":"Incorrect. ") . $ref;
-                                       break;
-                                               case 3:
-                               $question->qtype = SHORTANSWER;
-                               $question->questiontext = addslashes(trim($qrec[2]));
-               //                      echo "<pre>";echo $question->questiontext; echo "</pre>";
-                               $question->name = preg_replace("/<br>/", "", $question->questiontext);
-                               $question->usecase=0;  // Ignore case -- for SHORT ANSWER questions
-                                                       $answers = explode("~", $qrec[8]);
-                                                       $question->answer[0]=" ";
-                                                       $question->fraction[0]=1;
-                                                       for ($i=0;$i<count($answers);$i++) {
-                                                               $question->answer[$i] = addslashes(trim($answers[$i]));
-                                                       $question->feedback[$i] = $ref;
-                                                               $question->fraction[$i] = 1; // 1 for 100%, 0 for none or somewhere in between
-                                                       }
-                                       break;
-                                               case 4:
-                                                 $question = 0;
-                                                       notify("Cannot use essay questions - skipping question ". $qrec[2] . " " . $ref);
-                                       break;
-                                               default:
-                                                       $question = 0;
-                                                       notify("Misformatted Record.  Question Skipped.");
-                                       break;
-                                       }
-          if ($question) { $questions[] = $question; }
-                               }
-                               $count = 0;
-                               // process all the questions
-                               if (PHP_OS == "WINNT") {
-                                       $filename = str_replace("\\\\","\\",$filename);
-                                       $filename = str_replace("/","\\",$filename);
-                               }
-                               foreach ($questions as $question) {   // Process and store each question
-          $count++;
-          echo "<hr><p><b>$count</b>. ".stripslashes($question->questiontext)."</p>";
-          $question->category = $this->category->id;
-          $question->stamp = make_unique_id_code();  // Set the unique code (not to be changed)
-          $question->version = 1;                    // Original version of this question
-          if (!$question->id = insert_record("quiz_questions", $question)) {
-              error("Could not insert new question!");
-          }
-          $this->questionids[] = $question->id;
-          // Now to save all the answers and type-specific options
-          $result = quiz_save_question_options($question);
-          if (!empty($result->error)) {
-              notify($result->error);
-              $this->deletedatabase($filename);
-              return false;
-          }
-          if (!empty($result->notice)) {
-              notify($result->notice);
-              $this->deletedatabase($filename);
-              return true;
-          }
-        }
-        $this->deletedatabase($filename);
-        return true;
-    }
-
-    function importpostprocess() {
-        return true;
-    }
-
-         function deletedatabase($filename) {
-               if (! $this->fulldelete($filename)) {
-        echo "<BR>Error: Could not delete: $filename";
-        return false;
-      }
-                       return true;
-         }
-
-               function getquestions($filename, $category, $mdapath="", $hostname="") {
-                       if (($category == "allcategories") or ($category == "")) {
-                       $sql = "SELECT * FROM TBQuestions";
-                       } else {
-                       $sql = "SELECT * FROM TBQuestions where module = '".$category."'";
-                       }
-                       if (PHP_OS == "WINNT") {
-               $ldb =& $this->connect_win($filename);
-                         $qset = $ldb->Execute("$sql");
-             if ( $qset->RecordCount() > 0 ) {
-               $records = $qset->GetAssoc(true);
-                         } else {
-               $this->err("There were no records in the database.",$dsn);
-                     $ldb->Close();
-                     return false;
-                         }
-                       $ldb->Close();
-                       } else  { // if PHP_OS == WINNT
-                         // we have a linux installation
-                               $result = $this->query_linux($sql,$filename, $mdapath,$hostname);
-             if ( count($result) > 0 ) {
-                                       // get rid of the ID field in the first column.
-                                       for($i=0;$i<count($result);$i++) {
-                                               foreach (array_keys($result[$i]) as $j) {
-                                                       $records[$i][$j-1] = $result[$i][$j];
-                                               }
-                                       }
-                         } else {
-               $this->err("There were no records in the database.",$dsn);
-                                       $ldb->Close();
-                     return false;
-                         }
-                               // xml test and connect
-                       }  // PHP_OS TEST
-                       return $records;
-               }
-
-    function getquestioncategories($filename, $mdapath="", $hostname="") {
-      global $CFG, $result;
-                       $sql = "SELECT Distinct module FROM TBQuestions";
-                       if (PHP_OS == "WINNT") {
-                               $ldb =& $this->connect_win($filename);                          
-                               $qset = $ldb->Execute("$sql");
-        if ( $qset->RecordCount() > 0 ) {
-          $records = $qset->GetArray(true);
-                                 foreach ($records as $record) {
-                                   $categories[$record[0]] = $record[0];
-                                 }
-             } else { // if recordcount 
-          $this->err("There were no records in the database.",$dsn);
-                       $ldb->Close();
-               return false;
-             }
-               $ldb->Close();
-                       } else  { // if PHP_OS == WINNT
-                         // we have a linux installation
-                                       $result = $this->query_linux($sql, $filename, $mdapath, $hostname);
-                                       for($i=0;$i<count($result);$i++) {
-                                               $categories[$result[$i][0]] = $result[$i][0];
-                                       }
-                       }  // PHP_OS TEST
-                       return $categories;
-    }
-               
-               function query_linux($sql, $mdbpath, $mdapath, $hostname) {
-                               global $result;
-                               include_once("odbcsocketserver.class.php");
-                               // set up socket server object to connect to remote host
-                               $oTest = new ODBCSocketServer;
-                               //Set the Hostname, port, and connection string
-                         $oTest->sHostName = $hostname;
-                               $oTest->nPort = 9628;
-//                       $oTest->sConnectionString="DRIVER=Microsoft Access Driver (*.mdb);SystemDB=C:\CTM\System.mda;DBQ=C:\CTM\of2K3\ctm.mdb;UID=Assess;PWD=VBMango;";
-                         $oTest->sConnectionString="DRIVER=Microsoft Access Driver (*.mdb);SystemDB=".
-                           $mdapath.";DBQ=".$mdbpath.";UID=Assess;PWD=VBMango;";
-                               // send and receive XML communication
-                               $qResult = $oTest->ExecSQL($sql);
-                               // set up XML parser to read the results
-                               $xml_parser = xml_parser_create("US-ASCII");
-                               xml_set_element_handler($xml_parser, "quiz_xmlstart", "quiz_xmlend");
-        xml_set_character_data_handler($xml_parser, "quiz_xmldata");
-        // parse the XML and get back the result set array
-        if (!xml_parse($xml_parser, $qResult)) {
-                       $this->err("XML error: ".xml_error_string(xml_get_error_code($xml_parser))
-                         ." at line ".xml_get_current_line_number($xml_parser),$oTest->sConnectionString);
-                                       return false;
-        } else  { 
-//             echo("Successful XML parse.  ");
-               // prepare the array for use in the pull-down
-/*             echo "<br>count of rows is ". count ($result);
-                                       echo "<pre>\n";
-                                       $qResult = HtmlSpecialChars($qResult);
-                                       echo $qResult;
-                                       echo "\n</pre>";
-*/
-                               xml_parser_free($xml_parser);
-//     $sResult = HtmlSpecialChars($qResult);
-       //echo("<pre>");
-//     echo($sResult);
-//     echo("</pre>");
-
-                                       return $result;
-        }
-               } 
-
-               function connect_win($filename) {
-                       global $CFG, $systemdb;
-                       // first, verify the location of System.mda
-                       if (!isset($systemdb)) { 
-                   $systemdb=$this->findfile("System.mda");
-                       }
-       if (! $systemdb) {
-        $this->err("The system database System.mda cannot be found.  Check that you've uploaded it to the course.",$dsn);
-        die;
-       }
-
-                       $ldb = &ADONewConnection('access');
-                 $dsn="DRIVER=Microsoft Access Driver (*.mdb);SystemDB=".$systemdb.";DBQ=".$filename.";UID=Assess;PWD=VBMango;";
-                 $dbconnected = $ldb->Connect($dsn);
-       if (! $dbconnected) {
-        $this->err("Moodle could not connect to the database.",$dsn);
-        die;
-       }
-                       return $ldb;
-               }
-
-    function err($message, $dsn) {
-               echo "<font color=\"#990000\">";
-             echo "<p>Error: $message</p>";
-             echo "<p>ODBC File DSN: $dsn<br />";
-             echo "</font>";
-    }          
-
-               function fulldelete($location) { 
-                   if (is_dir($location)) {
-                       $currdir = opendir($location);
-                       while ($file = readdir($currdir)) { 
-                           if ($file <> ".." && $file <> ".") {
-                               $fullfile = $location."/".$file;
-                               if (is_dir($fullfile)) { 
-                                   if (!fulldelete($fullfile)) {
-                                       return false;
-                                   }
-                               } else {
-                                   if (!unlink($fullfile)) {
-                                       return false;
-                                   }
-                               } 
-                           }
-                       } 
-                       closedir($currdir);
-                       if (! rmdir($location)) {
-                           return false;
-                       }
-               
-                   } else {
-                       if (!unlink($location)) {
-                           return false;
-                       }
-                   }
-                   return true;
-               }
-
-
-    function findfile($filename) { 
-       global $CFG;
-                       $dirs = $this->getcoursedirs();
-                       $dirs[] = $CFG->dirroot."\mod\quiz\format";
-                       foreach ($dirs as $dir) {
-                               $file = $dir . "\System.mda";
-                               // look for System.mda
-                               if (is_file($file)) return $file;
-                       }                       
-                       return false;
-    }
-
-    function getcoursedirs() {
-       global $CFG;
-               // for every course in the system, find the root of the data directory
-                               $courses = get_records_sql("select distinct id,fullname from ".$CFG->prefix."course");
-                               $dirs = array();
-                               if ($courses) {
-                                       foreach ($courses as $course) {
-                                               $dir = $CFG->dataroot . "/" . $course->id;
-                                               if (is_dir($dir)) { $dirs[] = $dir; }
-                                       }
-                               }
-                               return $dirs;
-    }
-
-} // END OF CLASS
-
-       //Handler for starting elements
-       function quiz_xmlstart($parser, $name, $attribs) { 
-               global $result,$row, $col, $incolumn;
-               $name = strtolower($name);
-               switch ($name) {
-                       case "row":
-        $col=0;break;
-                       case "column":
-                               $incolumn = 1;break;
-                       case "error":
-        break;
-                       case "result":
-                               $row = 0; break;
-               } // switch
-       }
-
-       //handler for the end of elements
-       function quiz_xmlend($parser, $name) {
-               global $result, $row, $col, $incolumn;
-               $name = strtolower($name);
-               switch ($name) {
-                       case "row":
-        $row++;break;
-                       case "column":
-                               $incolumn = 0;
-        $col++;
-        break;
-                       case "error":
-        break;
-                       case "result":
-        break;
-               } // switch
-       }  // function
-
-       //handler for character data
-       function quiz_xmldata($parser, $data) {
-               global $result, $row, $col, $incolumn;
-               if ($incolumn) { $result[$row][$col] = $result[$row][$col] . $data;
-               }
-       }
-
-?>
diff --git a/mod/quiz/format/missingword.php b/mod/quiz/format/missingword.php
deleted file mode 100644 (file)
index 4227a58..0000000
+++ /dev/null
@@ -1,156 +0,0 @@
-<?PHP  // $Id$ 
-/// Modified by Tom Robb 12 June 2003 to include percentage and comment insertion
-/// facility.
-
-////////////////////////////////////////////////////////////////////////////
-/// MISSING WORD FORMAT
-///
-/// This Moodle class provides all functions necessary to import and export 
-/// one-correct-answer multiple choice questions in this format:
-///
-///    As soon as we begin to explore our body parts as infants
-///    we become students of {=anatomy and physiology ~reflexology 
-///    ~science ~experiment}, and in a sense we remain students for life.
-/// 
-/// Each answer is separated with a tilde ~, and the correct answer is 
-/// prefixed with an equals sign =
-///
-/// Percentage weights can be included by following the tilde with the
-/// desired percent.  Comments can be included for each choice by following
-/// the comment with a hash mark ("#") and the comment.  Example:
-///
-///    This is {=the best answer#comment on the best answer ~75%a good
-///    answer#comment on the good answer ~a wrong one#comment on the bad answer}
-///
-////////////////////////////////////////////////////////////////////////////
-
-// Based on default.php, included by ../import.php
-
-class quiz_file_format extends quiz_default_format {
-
-    function readquestion($lines) {
-    /// Given an array of lines known to define a question in 
-    /// this format, this function converts it into a question 
-    /// object suitable for processing and insertion into Moodle.
-
-        $question = NULL;
-        ///$comment added by T Robb
-        $comment = NULL;
-        $text = implode(" ", $lines);
-
-        /// Find answer section
-
-        $answerstart = strpos($text, "{");
-        if ($answerstart === false) {
-            if ($this->displayerrors) {
-                echo "<P>$text<P>Could not find a {";
-            }
-            return false;
-        }
-
-        $answerfinish = strpos($text, "}");
-        if ($answerfinish === false) {
-            if ($this->displayerrors) {
-                echo "<P>$text<P>Could not find a }";
-            }
-            return false;
-        }
-
-        $answerlength = $answerfinish - $answerstart;
-        $answertext = substr($text, $answerstart + 1, $answerlength - 1);
-
-        /// Save the new question text
-        $question->questiontext = addslashes(substr_replace($text, "_____", $answerstart, $answerlength+1));
-        $question->name = $question->questiontext;
-
-
-        /// Parse the answers
-        $answertext = str_replace("=", "~=", $answertext);
-        $answers = explode("~", $answertext);
-        if (isset($answers[0])) {
-            $answers[0] = trim($answers[0]);
-        }
-        if (empty($answers[0])) {
-            array_shift($answers);
-        }
-
-        $countanswers = count($answers);
-
-        switch ($countanswers) {
-            case 0:  // invalid question
-                if ($this->displayerrors) {
-                    echo "<P>No answers found in $answertext";
-                }
-                return false;
-
-            case 1:
-                $question->qtype = SHORTANSWER;
-
-                $answer = trim($answers[0]);
-                if ($answer[0] == "=") {
-                    $answer = substr($answer, 1);
-                }
-                $question->answer[]   = addslashes($answer);
-                $question->fraction[] = 1;
-                $question->feedback[] = "";
-    
-                $question->usecase = 0;  // Ignore case
-                $question->defaultgrade = 1; 
-                $question->image = "";   // No images with this format
-                return $question;
-
-            default:
-                $question->qtype = MULTICHOICE;
-
-                foreach ($answers as $key => $answer) {
-                    $answer = trim($answer);
-
-                    // Tom's addition starts here
-                    $answeight = 0;
-                    if (strspn($answer,"1234567890%") > 0){
-                        //Make sure that the percent sign is the last in the span
-                        if (strpos($answer,"%") == strspn($answer,"1234567890%") - 1) {
-                            $answeight0 = substr($answer,0,strspn($answer,"1234567890%"));
-                            $answeight = round(($answeight0/100),2);
-                            $answer = substr($answer,(strspn($answer,"1234567890%")));
-                        }
-                    } 
-                    if ($answer[0] == "="){
-                        $answeight = 1;
-                    }
-                    //remove the protective underscore for leading numbers in answers
-                    if ($answer[0] == "_"){
-                        $answer = substr($answer, 1);
-                    }
-                    $answer = trim($answer);
-
-                    if (strpos($answer,"#") > 0){
-                        $hashpos = strpos($answer,"#");
-                        $comment = addslashes(substr(($answer),$hashpos+1));
-                        $answer  = substr($answer,0,$hashpos);
-                    } else {
-                        $comment = " ";
-                    }
-                    // End of Tom's addition
-
-                    if ($answer[0] == "=") {
-#                       $question->fraction[$key] = 1;
-                        $question->fraction[$key] = $answeight;
-                        $answer = substr($answer, 1);
-                    } else {
-#                       $question->fraction[$key] = 0;
-                        $question->fraction[$key] = $answeight;
-                    }
-                    $question->answer[$key]   = addslashes($answer);
-                    $question->feedback[$key] = $comment;
-                }
-    
-                $question->defaultgrade = 1; 
-                $question->single = 1;   // Only one answer is allowed
-                $question->image = "";   // No images with this format
-                return $question;
-        }
-    }
-}
-
-?>
diff --git a/mod/quiz/format/multianswer.php b/mod/quiz/format/multianswer.php
deleted file mode 100644 (file)
index 558cc97..0000000
+++ /dev/null
@@ -1,162 +0,0 @@
-<?PHP  // $Id$ 
-
-////////////////////////////////////////////////////////////////////////////
-/// MULTIANSWER FORMAT
-///
-/// Created by Henrik Kaipe
-///
-////////////////////////////////////////////////////////////////////////////
-
-// Based on default.php, included by ../import.php
-
-    // REGULAR EXPRESSION CONSTANTS
-    // I do not know any way to make this easier
-    // Regexes are always awkard when defined but more comprehensible
-    // when used as constants in the executive code
-
-// ANSWER_ALTERNATIVE regexes
-
-define("ANSWER_ALTERNATIVE_FRACTION_REGEX",
-       '=|%(-?[0-9]+)%');
-define("ANSWER_ALTERNATIVE_ANSWER_REGEX",
-        '[^~#}]+');
-define("ANSWER_ALTERNATIVE_FEEDBACK_REGEX",
-        '[^~}]*');
-define("ANSWER_ALTERNATIVE_REGEX",
-       '(' . ANSWER_ALTERNATIVE_FRACTION_REGEX .')?'
-       . '(' . ANSWER_ALTERNATIVE_ANSWER_REGEX . ')'
-       . '(#(' . ANSWER_ALTERNATIVE_FEEDBACK_REGEX .'))?');
-
-// Parenthesis positions for ANSWER_ALTERNATIVE_REGEX
-define("ANSWER_ALTERNATIVE_REGEX_PERCENTILE_FRACTION", 2);
-define("ANSWER_ALTERNATIVE_REGEX_FRACTION", 1);
-define("ANSWER_ALTERNATIVE_REGEX_ANSWER", 3);
-define("ANSWER_ALTERNATIVE_REGEX_FEEDBACK", 5);
-
-// NUMBER_FORMATED_ALTERNATIVE_ANSWER_REGEX is used
-// for identifying numerical answers in ANSWER_ALTERNATIVE_REGEX_ANSWER
-define("NUMBER_REGEX",
-        '-?(([0-9]+[.,]?[0-9]*|[.,][0-9]+)([eE][-+]?[0-9]+)?)');
-define("NUMERICAL_ALTERNATIVE_REGEX",
-        '^(' . NUMBER_REGEX . ')(:' . NUMBER_REGEX . ')?$');
-
-// Parenthesis positions for NUMERICAL_FORMATED_ALTERNATIVE_ANSWER_REGEX
-define("NUMERICAL_CORRECT_ANSWER", 1);
-define("NUMERICAL_ABS_ERROR_MARGIN", 6);
-
-// Remaining ANSWER regexes
-define("ANSWER_TYPE_DEF_REGEX",
-       '(NUMERICAL|NM)|(MULTICHOICE|MC)|(SHORTANSWER|SA|MW)');
-define("ANSWER_START_REGEX",
-       '\{([0-9]*):(' . ANSWER_TYPE_DEF_REGEX . '):');
-
-define("ANSWER_REGEX",
-        ANSWER_START_REGEX
-        . '(' . ANSWER_ALTERNATIVE_REGEX
-        . '(~'
-        . ANSWER_ALTERNATIVE_REGEX
-        . ')*)}' );
-
-// Parenthesis positions for singulars in ANSWER_REGEX
-define("ANSWER_REGEX_NORM", 1);
-define("ANSWER_REGEX_ANSWER_TYPE_NUMERICAL", 3);
-define("ANSWER_REGEX_ANSWER_TYPE_MULTICHOICE", 4);
-define("ANSWER_REGEX_ANSWER_TYPE_SHORTANSWER", 5);
-define("ANSWER_REGEX_ALTERNATIVES", 6);
-
-
-function extractMultiAnswerQuestion($text) {
-    $question = NULL;
-    $question->qtype= MULTIANSWER;
-    $question->questiontext= $text;
-    $question->answers= array();
-    $question->defaultgrade = 0; // Will be increased for each answer norm
-
-    for ($positionkey=1
-        ; ereg(ANSWER_REGEX, $question->questiontext, $answerregs)
-        ; ++$positionkey )
-    {
-        unset($multianswer);
-
-        $multianswer->positionkey = $positionkey;
-        $multianswer->norm = $answerregs[ANSWER_REGEX_NORM]
-            or $multianswer->norm = '1';
-        if ($answerregs[ANSWER_REGEX_ANSWER_TYPE_NUMERICAL]) {
-            $multianswer->answertype = NUMERICAL;
-        } else if($answerregs[ANSWER_REGEX_ANSWER_TYPE_SHORTANSWER]) {
-            $multianswer->answertype = SHORTANSWER;
-        } else if($answerregs[ANSWER_REGEX_ANSWER_TYPE_MULTICHOICE]){
-            $multianswer->answertype = MULTICHOICE;
-        } else {
-            error("Cannot identify answertype $answerregs[2]");
-            return false;
-        }
-
-        $multianswer->alternatives= array();
-        $remainingalts = $answerregs[ANSWER_REGEX_ALTERNATIVES];
-        while (ereg(ANSWER_ALTERNATIVE_REGEX, $remainingalts, $altregs)) {
-            unset($alternative);
-            
-            if ('=' == $altregs[ANSWER_ALTERNATIVE_REGEX_FRACTION]) {
-                $alternative->fraction = '1';
-            } else {
-                $alternative->fraction = .01 *
-                        $altregs[ANSWER_ALTERNATIVE_REGEX_PERCENTILE_FRACTION]
-                    or $alternative->fraction = '0';
-            }
-            $alternative->feedback = $altregs[ANSWER_ALTERNATIVE_REGEX_FEEDBACK];
-            if ($answerregs[ANSWER_REGEX_ANSWER_TYPE_NUMERICAL]
-                    && ereg(NUMERICAL_ALTERNATIVE_REGEX,
-                            $altregs[ANSWER_ALTERNATIVE_REGEX_ANSWER],
-                            $numregs) )
-            {
-                $alternative->answer = $numregs[NUMERICAL_CORRECT_ANSWER];
-                if ($numregs[NUMERICAL_ABS_ERROR_MARGIN]) {
-                    $alternative->min = $numregs[NUMERICAL_CORRECT_ANSWER]
-                                      - $numregs[NUMERICAL_ABS_ERROR_MARGIN];
-                    $alternative->max = $numregs[NUMERICAL_CORRECT_ANSWER]
-                                      + $numregs[NUMERICAL_ABS_ERROR_MARGIN];
-                } else {
-                    $alternative->min = $numregs[NUMERICAL_CORRECT_ANSWER];
-                    $alternative->max = $numregs[NUMERICAL_CORRECT_ANSWER];
-                }
-            } else { // Min and max must stay undefined...
-                $alternative->answer =
-                        $altregs[ANSWER_ALTERNATIVE_REGEX_ANSWER];
-            }
-            
-            $multianswer->alternatives[] = $alternative;
-            $tmp = explode($altregs[0], $remainingalts, 2);
-            $remainingalts = $tmp[1];
-        }
-
-        $question->defaultgrade += $multianswer->norm;
-        $question->answers[] = $multianswer;
-        $question->questiontext = implode("{#$positionkey}",
-                    explode($answerregs[0], $question->questiontext, 2));
-    }
-    return $question;
-}
-
-class quiz_file_format extends quiz_default_format {
-
-    function readquestions($lines) {
-    /// Parses an array of lines into an array of questions.
-    /// For this class the method has been simplified as
-    /// there can never be more than one question for a
-    /// multianswer import
-
-        $questions= array();
-        $thequestion= extractMultiAnswerQuestion(implode('',$lines));
-
-        if (!empty($thequestion)) {
-            $thequestion->name = $lines[0];
-            
-            $questions[] = $thequestion;
-        }
-
-        return $questions;
-    }
-}
-
-?>
diff --git a/mod/quiz/format/qti.php b/mod/quiz/format/qti.php
deleted file mode 100644 (file)
index 46bdfee..0000000
+++ /dev/null
@@ -1,15 +0,0 @@
-<?PHP  // $Id$ 
-
-////////////////////////////////////////////////////////////////////////////
-/// IMS QTI FORMAT
-////////////////////////////////////////////////////////////////////////////
-
-// Based on default.php, included by ../import.php
-
-class quiz_file_format extends quiz_default_format {
-
-
-
-}
-
-?>
diff --git a/mod/quiz/format/webct.php b/mod/quiz/format/webct.php
deleted file mode 100644 (file)
index e0f506c..0000000
+++ /dev/null
@@ -1,15 +0,0 @@
-<?PHP  // $Id$ 
-
-////////////////////////////////////////////////////////////////////////////
-/// WEBCT FORMAT
-////////////////////////////////////////////////////////////////////////////
-
-// Based on default.php, included by ../import.php
-
-class quiz_file_format extends quiz_default_format {
-
-
-
-}
-
-?>