Skip to content

Commit

Permalink
MDL-20538 get rid of badly name-spaced constants from lib/questionlib…
Browse files Browse the repository at this point in the history
….php.

Unfortunately, they are used all over the import/export code, so I cannot eliminate them completely. However, I was able to move them out of the core library.
  • Loading branch information
timhunt committed Jun 9, 2011
1 parent 6911fa1 commit 55190d7
Show file tree
Hide file tree
Showing 5 changed files with 48 additions and 20 deletions.
16 changes: 0 additions & 16 deletions lib/questionlib.php
Original file line number Diff line number Diff line change
Expand Up @@ -41,22 +41,6 @@

/// CONSTANTS ///////////////////////////////////

/**#@+
* The core question types.
*/
define("SHORTANSWER", "shortanswer");
define("TRUEFALSE", "truefalse");
define("MULTICHOICE", "multichoice");
define("RANDOM", "random");
define("MATCH", "match");
define("RANDOMSAMATCH", "randomsamatch");
define("DESCRIPTION", "description");
define("NUMERICAL", "numerical");
define("MULTIANSWER", "multianswer");
define("CALCULATED", "calculated");
define("ESSAY", "essay");
/**#@-*/

/**
* Constant determines the number of answer boxes supplied in the editing
* form for multiple choice and similar question types.
Expand Down
21 changes: 21 additions & 0 deletions mod/lesson/format.php
Original file line number Diff line number Diff line change
Expand Up @@ -29,6 +29,27 @@

defined('MOODLE_INTERNAL') || die();

/**#@+
* The core question types.
*
* These used to be in lib/questionlib.php, but are being deprecated. Copying them
* here to keep this code working for now.
*/
if (!defined('SHORTANSWER')) {
define("SHORTANSWER", "shortanswer");
define("TRUEFALSE", "truefalse");
define("MULTICHOICE", "multichoice");
define("RANDOM", "random");
define("MATCH", "match");
define("RANDOMSAMATCH", "randomsamatch");
define("DESCRIPTION", "description");
define("NUMERICAL", "numerical");
define("MULTIANSWER", "multianswer");
define("CALCULATED", "calculated");
define("ESSAY", "essay");
}
/**#@-*/

/**
* Given some question info and some data about the the answers
* this function parses, organises and saves the question
Expand Down
2 changes: 1 addition & 1 deletion mod/quiz/db/upgradelib.php
Original file line number Diff line number Diff line change
Expand Up @@ -49,7 +49,7 @@ function quiz_upgrade_very_old_question_sessions($attempt) {
// newgraded pointing to this state.
// Actually we only do this for states whose question is actually listed in $attempt->layout.
// We do not do it for states associated to wrapped questions like for example the questions
// used by a RANDOM question
// used by a random question
$session = new stdClass();
$session->attemptid = $attempt->uniqueid;
$session->sumpenalty = 0;
Expand Down
25 changes: 24 additions & 1 deletion question/format.php
Original file line number Diff line number Diff line change
Expand Up @@ -27,6 +27,29 @@
defined('MOODLE_INTERNAL') || die();


/**#@+
* The core question types.
*
* These used to be in lib/questionlib.php, but are being deprecated. Copying
* them here to keep the import/export code working for now (there are 135
* references to these constants which I don't want to try to fix at the moment.)
*/
if (!defined('SHORTANSWER')) {
define("SHORTANSWER", "shortanswer");
define("TRUEFALSE", "truefalse");
define("MULTICHOICE", "multichoice");
define("RANDOM", "random");
define("MATCH", "match");
define("RANDOMSAMATCH", "randomsamatch");
define("DESCRIPTION", "description");
define("NUMERICAL", "numerical");
define("MULTIANSWER", "multianswer");
define("CALCULATED", "calculated");
define("ESSAY", "essay");
}
/**#@-*/


/**
* Base class for question import and export formats.
*
Expand Down Expand Up @@ -697,7 +720,7 @@ public function exportprocess() {
}

// do not export random questions
if ($question->qtype==RANDOM) {
if ($question->qtype == 'random') {
continue;
}

Expand Down
4 changes: 2 additions & 2 deletions question/type/randomsamatch/questiontype.php
Original file line number Diff line number Diff line change
Expand Up @@ -116,7 +116,7 @@ public function create_session_and_responses(&$question, &$state, $cmoptions, $a
available for this question, therefore it is not available in this
quiz. Please inform your teacher.";
// Treat this as a description from this point on
$question->qtype = DESCRIPTION;
$question->qtype = 'description';
return true;
}

Expand Down Expand Up @@ -174,7 +174,7 @@ function restore_session_and_responses(&$question, &$state) {
available for this question, therefore it is not available in this
quiz. Please inform your teacher.";
// Treat this as a description from this point on
$question->qtype = DESCRIPTION;
$question->qtype = 'description';
} else {
$responses = explode(',', $state->responses['']);
$responses = array_map(create_function('$val',
Expand Down

0 comments on commit 55190d7

Please sign in to comment.