Fix queries + adding intval see #7886

1.10.x
Julio 10 years ago
parent 8b099b4f73
commit 3aeead0ef4
  1. 35
      main/exercice/TestCategory.php

@ -648,14 +648,16 @@ class TestCategory
* *
* @return int is id of test category * @return int is id of test category
*/ */
public static function get_category_id_for_title($in_title, $in_c_id = 0) public static function get_category_id_for_title($title, $courseId = 0)
{ {
$out_res = 0; $out_res = 0;
if ($in_c_id == 0) { if (empty($courseId)) {
$in_c_id = api_get_course_int_id(); $courseId = api_get_course_int_id();
} }
$courseId = intval($courseId);
$tbl_cat = Database::get_course_table(TABLE_QUIZ_QUESTION_CATEGORY); $tbl_cat = Database::get_course_table(TABLE_QUIZ_QUESTION_CATEGORY);
$sql = "SELECT id FROM $tbl_cat WHERE c_id=$in_c_id AND title = '".Database::escape_string($in_title)."'"; $sql = "SELECT id FROM $tbl_cat
WHERE c_id = $courseId AND title = '".Database::escape_string($title)."'";
$res = Database::query($sql); $res = Database::query($sql);
if (Database::num_rows($res) > 0) { if (Database::num_rows($res) > 0) {
$data = Database::fetch_array($res); $data = Database::fetch_array($res);
@ -666,23 +668,30 @@ class TestCategory
/** /**
* Add a relation between question and category in table c_quiz_question_rel_category * Add a relation between question and category in table c_quiz_question_rel_category
* @param int $in_category_id * @param int $categoryId
* @param int $in_question_id * @param int $questionId
* @param int $in_course_c_id * @param int $courseId
*
* @return int
*/ */
public static function add_category_for_question_id($in_category_id, $in_question_id, $in_course_c_id) public static function add_category_for_question_id($categoryId, $questionId, $courseId)
{ {
$table = Database::get_course_table(TABLE_QUIZ_QUESTION_REL_CATEGORY); $table = Database::get_course_table(TABLE_QUIZ_QUESTION_REL_CATEGORY);
// if question doesn't have a category // if question doesn't have a category
// @todo change for 1.10 when a question can have several categories // @todo change for 1.10 when a question can have several categories
if (TestCategory::getCategoryForQuestion($in_question_id, $in_course_c_id) == 0 && if (TestCategory::getCategoryForQuestion($questionId, $courseId) == 0 &&
$in_question_id > 0 && $questionId > 0 &&
$in_course_c_id > 0 $courseId > 0
) { ) {
$sql = "INSERT INTO $table $sql = "INSERT INTO $table (c_id, question_id, category_id)
VALUES (".intval($in_course_c_id).", ".intval($in_question_id).", ".intval($in_category_id).")"; VALUES (".intval($courseId).", ".intval($questionId).", ".intval($categoryId).")";
Database::query($sql); Database::query($sql);
$id = Database::insert_id();
return $id;
} }
return false;
} }
/** /**

Loading…
Cancel
Save