@@ -64,7 +90,17 @@ function multichoice_uninstall() {
db_query("DELETE FROM {variable} WHERE name LIKE '%s%%'",'multichoice_');
// Delete from nodes and node_revisions.
db_query('DELETE FROM node, node_revisions, quiz_node_question_properties USING node LEFT JOIN node_revisions USING (nid) LEFT JOIN {quiz_node_question_properties} USING (nid) WHERE type IN ("multichoice")');
switch($GLOBALS['db_type']){
case'mysql':
case'mysqli':
db_query('DELETE FROM node, node_revisions, quiz_node_question_properties USING node LEFT JOIN node_revisions USING (nid) LEFT JOIN {quiz_node_question_properties} USING (nid) WHERE type IN ("multichoice")');
break;
case'pgsql':
db_query("DELETE FROM {quiz_node_question_properties} WHERE nid IN (SELECT nid FROM {node} WHERE type IN ('multichoice'))");
db_query("DELETE FROM {node_revisions} WHERE nid IN (SELECT nid FROM {node} WHERE type IN ('multichoice'))");
db_query("DELETE FROM {node} WHERE type IN ('multichoice')");
break;
}
// Truncate the cache so users don't run into any unexpected errors.
"IFNULL((SELECT 1 FROM {quiz_multichoice_user_answers} ua WHERE question_nid = n.nid AND question_vid = n.vid AND result_id = %d AND ua.answer_id = ma.answer_id),0) as user_answer, ".
"COALESCE((SELECT 1 FROM {quiz_multichoice_user_answers} ua WHERE question_nid = n.nid AND question_vid = n.vid AND result_id = %d AND ua.answer_id = ma.answer_id),0) as user_answer, ".
"(SELECT is_correct FROM {quiz_node_results_answers} WHERE question_nid = n.nid AND question_vid = n.vid AND result_id = %d) as question_correct ".
@@ -853,10 +853,10 @@ function quiz_get_user_results() {
global$user;
$results=array();
$dbresult=db_query("SELECT
n.nid nid,
n.title title,
u.name name,
qnrs.result_id result_id,
n.nid as nid,
n.title as title,
u.name as name,
qnrs.result_id as result_id,
qnrs.time_start,
qnrs.time_end
FROM {node} n, {quiz_node_properties} qnp, {quiz_node_results} qnrs, {users} u
...
...
@@ -1257,7 +1257,7 @@ function quiz_build_question_list($quiz) {
$questions=array();
// Get required questions first.
$result=db_query("SELECT child_nid nid, child_vid vid FROM {quiz_node_relationship} WHERE parent_vid = %d AND parent_nid = %d AND question_status = %d",$quiz->vid,$quiz->nid,QUESTION_ALWAYS);
$result=db_query("SELECT child_nid as nid, child_vid as vid FROM {quiz_node_relationship} WHERE parent_vid = %d AND parent_nid = %d AND question_status = %d",$quiz->vid,$quiz->nid,QUESTION_ALWAYS);
while($question_node=db_fetch_array($result)){
$questions[]=$question_node;
}
...
...
@@ -1305,7 +1305,7 @@ function _quiz_get_random_questions($num_random, $tid) {
}
else{
// Select random question from assigned pool.
$result=db_query_range("SELECT child_nid nid, child_vid vid FROM {quiz_node_relationship} WHERE parent_vid = %d AND parent_nid = %d AND question_status = %d ORDER BY RAND()",$quiz->vid,$quiz->nid,QUESTION_RANDOM,0,$quiz->number_of_random_questions);
$result=db_query_range("SELECT child_nid as nid, child_vid as vid FROM {quiz_node_relationship} WHERE parent_vid = %d AND parent_nid = %d AND question_status = %d ORDER BY RAND()",$quiz->vid,$quiz->nid,QUESTION_RANDOM,0,$quiz->number_of_random_questions);
}
while($question_node=db_fetch_array($result)){
$questions[]=$question_node;
...
...
@@ -1950,10 +1950,10 @@ function quiz_admin() {
function_quiz_get_results($nid='',$uid=0){
$results=array();
$args=array();
$sql="SELECT n.nid nid,
n.title title,
u.name name,
qnrs.result_id result_id,
$sql="SELECT n.nid as nid,
n.title as title,
u.name as name,
qnrs.result_id as result_id,
qnrs.time_start,
qnrs.time_end
FROM {node} n, {quiz_node_properties} qnp, {quiz_node_results} qnrs, {users} u