';
@@ -536,9 +539,6 @@ class DisplayGradebook
$user_id = api_get_user_id();
$my_api_cidreq = api_get_cidreq();
- //$course_code = $my_category['course_code'];
- //$status_user = api_get_status_of_user_in_course ($user_id,$course_code);
-
if (api_is_allowed_to_edit(null, true)) {
if (empty($grade_model_id) || $grade_model_id == -1) {
$header .= '' .
diff --git a/main/gradebook/lib/fe/gradebooktable.class.php b/main/gradebook/lib/fe/gradebooktable.class.php
index 7935e9fb9c..abd74a6d2d 100755
--- a/main/gradebook/lib/fe/gradebooktable.class.php
+++ b/main/gradebook/lib/fe/gradebooktable.class.php
@@ -149,7 +149,7 @@ class GradebookTable extends SortableTable
$user_id = api_get_user_id();
$course_code = api_get_course_id();
$session_id = api_get_session_id();
- $status_user = api_get_status_of_user_in_course($user_id, $course_code);
+ $status_user = api_get_status_of_user_in_course($user_id, api_get_course_int_id());
if (empty($session_id)) {
$statusToFilter = STUDENT;
diff --git a/main/gradebook/lib/gradebook_data_generator.class.php b/main/gradebook/lib/gradebook_data_generator.class.php
index a80e27fcea..07ddc3376e 100755
--- a/main/gradebook/lib/gradebook_data_generator.class.php
+++ b/main/gradebook/lib/gradebook_data_generator.class.php
@@ -115,7 +115,7 @@ class GradebookDataGenerator
$userId = api_get_user_id();
$course_code = api_get_course_id();
$sessionId = api_get_session_id();
- $status_user = api_get_status_of_user_in_course($userId, $course_code);
+ $status_user = api_get_status_of_user_in_course($userId, api_get_course_int_id());
if (empty($sessionId)) {
$statusToFilter = STUDENT;
diff --git a/main/inc/ajax/social.ajax.php b/main/inc/ajax/social.ajax.php
index c30303595f..bbfc28320e 100755
--- a/main/inc/ajax/social.ajax.php
+++ b/main/inc/ajax/social.ajax.php
@@ -125,7 +125,7 @@ switch ($action) {
$course_info = api_get_course_info_by_id($course_id);
$course_code = $course_info['code'];
- if (api_is_user_of_course($course_code, api_get_user_id())) {
+ if (api_is_user_of_course($course_id, api_get_user_id())) {
//------Forum messages
$forum_result = get_all_post_from_user($user_id, $course_code);
$all_result_data = 0;
diff --git a/main/inc/lib/add_course.lib.inc.php b/main/inc/lib/add_course.lib.inc.php
index 34180b02e0..1cd29f4146 100755
--- a/main/inc/lib/add_course.lib.inc.php
+++ b/main/inc/lib/add_course.lib.inc.php
@@ -1350,24 +1350,12 @@ class AddCourse
// Here we must add 2 fields.
$sql = "INSERT INTO " . $TABLECOURSE . " SET
- code = '" . Database:: escape_string(
- $code
- ) . "',
- directory = '" . Database:: escape_string(
- $directory
- ) . "',
- course_language = '" . Database:: escape_string(
- $course_language
- ) . "',
- title = '" . Database:: escape_string(
- $title
- ) . "',
- description = '" . self::lang2db(
- get_lang('CourseDescription')
- ) . "',
- category_code = '" . Database:: escape_string(
- $category_code
- ) . "',
+ code = '".Database:: escape_string($code)."',
+ directory = '".Database:: escape_string($directory)."',
+ course_language = '".Database:: escape_string($course_language)."',
+ title = '".Database:: escape_string($title)."',
+ description = '".self::lang2db(get_lang('CourseDescription'))."',
+ category_code = '".Database:: escape_string($category_code)."',
visibility = '" . $visibility . "',
show_score = '1',
disk_quota = '" . intval($disk_quota) . "',
@@ -1375,20 +1363,12 @@ class AddCourse
expiration_date = '" . $expiration_date . "',
last_edit = '$time',
last_visit = NULL,
- tutor_name = '" . Database:: escape_string(
- $tutor_name
- ) . "',
- department_name = '" . Database:: escape_string(
- $department_name
- ) . "',
- department_url = '" . Database:: escape_string(
- $department_url
- ) . "',
- subscribe = '" . intval($subscribe) . "',
- unsubscribe = '" . intval($unsubscribe) . "',
- visual_code = '" . Database:: escape_string(
- $visual_code
- ) . "'";
+ tutor_name = '" . Database:: escape_string($tutor_name) . "',
+ department_name = '" . Database:: escape_string($department_name) . "',
+ department_url = '" . Database:: escape_string($department_url) . "',
+ subscribe = '" . intval($subscribe) . "',
+ unsubscribe = '" . intval($unsubscribe) . "',
+ visual_code = '" . Database:: escape_string($visual_code) . "'";
Database::query($sql);
$course_id = Database::insert_id();
@@ -1405,17 +1385,13 @@ class AddCourse
if (!empty($user_id)) {
$sql = "INSERT INTO " . $TABLECOURSUSER . " SET
- course_code = '" . Database:: escape_string(
- $code
- ) . "',
- user_id = '" . intval($user_id) . "',
- status = '1',
- role = '" . self::lang2db(
- get_lang('Professor')
- ) . "',
- tutor_id = '0',
- sort = '" . ($i_course_sort) . "',
- user_course_cat = '0'";
+ c_id = '" . $course_id . "',
+ user_id = '" . intval($user_id) . "',
+ status = '1',
+ role = '" . self::lang2db(get_lang('Professor')) . "',
+ tutor_id = '0',
+ sort = '" . ($i_course_sort) . "',
+ user_course_cat = '0'";
Database::query($sql);
}
}
@@ -1433,12 +1409,8 @@ class AddCourse
continue;
}
$sql = "INSERT INTO " . $TABLECOURSUSER . " SET
- course_code = '" . Database::escape_string(
- $code
- ) . "',
- user_id = '" . Database::escape_string(
- $key
- ) . "',
+ c_id = '" . Database::escape_string($course_id) . "',
+ user_id = '" . Database::escape_string($key) . "',
status = '1',
role = '',
tutor_id = '0',
diff --git a/main/inc/lib/api.lib.php b/main/inc/lib/api.lib.php
index 8f47aec2b2..951d603c18 100644
--- a/main/inc/lib/api.lib.php
+++ b/main/inc/lib/api.lib.php
@@ -1290,27 +1290,32 @@ function api_get_user_id() {
*/
function api_get_user_courses($userid, $fetch_session = true)
{
+ // Get out if not integer
if ($userid != strval(intval($userid))) {
return array();
- } //get out if not integer
+ }
+
$t_course = Database::get_main_table(TABLE_MAIN_COURSE);
$t_course_user = Database::get_main_table(TABLE_MAIN_COURSE_USER);
- $sql = "SELECT cc.code code, cc.db_name db, cc.directory dir, cu.status status
+ $sql = "SELECT cc.code code, cc.directory dir, cu.status status
FROM $t_course cc,
$t_course_user cu
WHERE
- cc.code = cu.course_code AND
+ cc.id = cu.c_id AND
cu.user_id = '".$userid."' AND
cu.relation_type<>".COURSE_RELATION_TYPE_RRHH." ";
$result = Database::query($sql);
if ($result === false) {
return array();
}
+
+ $courses = array();
while ($row = Database::fetch_array($result)) {
// we only need the database name of the course
$courses[] = $row;
}
+
return $courses;
}
@@ -5356,6 +5361,10 @@ function api_is_course_visible_for_user($userid = null, $cid = null) {
}
}
$cid = Database::escape_string($cid);
+
+ $courseInfo = api_get_course_info($cid);
+ $courseId = $courseInfo['id'];
+
global $is_platformAdmin;
$course_table = Database::get_main_table(TABLE_MAIN_COURSE);
@@ -5396,7 +5405,7 @@ function api_is_course_visible_for_user($userid = null, $cid = null) {
AND
relation_type <> '".COURSE_RELATION_TYPE_RRHH."'
AND
- course_code = '$cid'
+ c_id = $courseId
LIMIT 1";
$result = Database::query($sql);
@@ -5695,17 +5704,18 @@ function api_get_access_url_from_user($user_id) {
/**
* Gets the status of a user in a course
* @param int $user_id
- * @param string $course_code
+ * @param int $courseId
* @return int user status
*/
-function api_get_status_of_user_in_course ($user_id, $course_code) {
+function api_get_status_of_user_in_course($user_id, $courseId)
+{
$tbl_rel_course_user = Database :: get_main_table(TABLE_MAIN_COURSE_USER);
- if (!empty($user_id) && !empty($course_code)) {
+ if (!empty($user_id) && !empty($courseId)) {
$user_id = intval($user_id);
- $course_code = Database::escape_string($course_code);
+ $courseId = intval($courseId);
$sql = 'SELECT status
FROM '.$tbl_rel_course_user.'
- WHERE user_id='.$user_id.' AND course_code="'.$course_code.'";';
+ WHERE user_id='.$user_id.' AND c_id = '.$courseId;
$result = Database::query($sql);
$row_status = Database::fetch_array($result, 'ASSOC');
return $row_status['status'];
@@ -5791,16 +5801,16 @@ function api_is_valid_secret_key($original_key_secret, $security_key) {
/**
* Checks whether a user is into course
- * @param string $course_id - the course id
+ * @param int $course_id - the course id
* @param int $user_id - the user id
*/
function api_is_user_of_course($course_id, $user_id) {
$tbl_course_rel_user = Database::get_main_table(TABLE_MAIN_COURSE_USER);
$sql = 'SELECT user_id FROM '.$tbl_course_rel_user.'
WHERE
- course_code="'.Database::escape_string($course_id).'" AND
- user_id="'.intval($user_id).'" AND
- relation_type<>'.COURSE_RELATION_TYPE_RRHH.' ';
+ c_id ="'.intval($course_id).'" AND
+ user_id = "'.intval($user_id).'" AND
+ relation_type <> '.COURSE_RELATION_TYPE_RRHH.' ';
$result = Database::query($sql);
return Database::num_rows($result) == 1;
}
diff --git a/main/inc/lib/auth.lib.php b/main/inc/lib/auth.lib.php
index 16140df546..a75c72e52c 100755
--- a/main/inc/lib/auth.lib.php
+++ b/main/inc/lib/auth.lib.php
@@ -58,7 +58,7 @@ class Auth
course.title i, course.tutor_name t, course.db_name db, course.directory dir, course_rel_user.status status,
course_rel_user.sort sort, course_rel_user.user_course_cat user_course_cat
FROM $TABLECOURS course, $TABLECOURSUSER course_rel_user
- WHERE course.code = course_rel_user.course_code
+ WHERE course.id = course_rel_user.c_id
AND course_rel_user.relation_type<>" . COURSE_RELATION_TYPE_RRHH . "
AND course_rel_user.user_id = '" . $user_id . "' $without_special_courses
ORDER BY course_rel_user.sort ASC";
@@ -144,7 +144,7 @@ class Auth
FROM $TABLECOURS course,
$TABLECOURSUSER course_rel_user
WHERE
- course.code = course_rel_user.course_code AND
+ course.id = course_rel_user.c_id AND
course_rel_user.user_id = '" . $user_id . "' AND
course_rel_user.relation_type <> " . COURSE_RELATION_TYPE_RRHH . "
$without_special_courses
@@ -161,20 +161,27 @@ class Auth
/**
* stores the changes in a course category (moving a course to a different course category)
- * @param string Course code
+ * @param string $courseId
* @param int Category id
* @return bool True if it success
*/
- public function store_changecoursecategory($course_code, $newcategory)
+ public function store_changecoursecategory($courseId, $newcategory)
{
- $course_code = Database::escape_string($course_code);
+ $courseId = intval($courseId);
$newcategory = intval($newcategory);
$current_user = api_get_user_id();
$TABLECOURSUSER = Database::get_main_table(TABLE_MAIN_COURSE_USER);
$max_sort_value = api_max_sort_value($newcategory, $current_user);
- $resultQuery = Database::query("UPDATE $TABLECOURSUSER SET user_course_cat='" . $newcategory . "', sort='" . ($max_sort_value + 1) . "' WHERE course_code='" . $course_code . "' AND user_id='" . $current_user . "' AND relation_type<>" . COURSE_RELATION_TYPE_RRHH . " ");
+ $sql = "UPDATE $TABLECOURSUSER SET
+ user_course_cat='" . $newcategory . "',
+ sort='" . ($max_sort_value + 1) . "'
+ WHERE
+ c_id ='" . $courseId . "' AND
+ user_id='" . $current_user . "' AND
+ relation_type<>" . COURSE_RELATION_TYPE_RRHH;
+ $resultQuery = Database::query($sql);
$result = false;
if (Database::affected_rows($resultQuery)) {
@@ -224,16 +231,29 @@ class Auth
}
if (count($target_course) > 0 && count($source_course) > 0) {
- $sql_update1 = "UPDATE $TABLECOURSUSER SET sort='" . $target_course['sort'] . "'
- WHERE course_code='" . $source_course['code'] . "' AND user_id='" . $current_user_id . "' AND relation_type<>" . COURSE_RELATION_TYPE_RRHH . " ";
+
+
+ $courseInfo = api_get_course_info($source_course['code']);
+ $courseId = $courseInfo['id'];
+
+ $sql_update1 = "UPDATE $TABLECOURSUSER
+ SET sort='" . $target_course['sort'] . "'
+ WHERE
+ c_id = '" . $courseId . "' AND
+ user_id = '" . $current_user_id . "' AND
+ relation_type<>" . COURSE_RELATION_TYPE_RRHH;
$sql_update2 = "UPDATE $TABLECOURSUSER SET sort='" . $source_course['sort'] . "'
- WHERE course_code='" . $target_course['code'] . "' AND user_id='" . $current_user_id . "' AND relation_type<>" . COURSE_RELATION_TYPE_RRHH . " ";
+ WHERE
+ c_id ='" . $courseId . "' AND
+ user_id='" . $current_user_id . "' AND
+ relation_type<>" . COURSE_RELATION_TYPE_RRHH;
$result1 = Database::query($sql_update2);
$result2 = Database::query($sql_update1);
if (Database::affected_rows($result1) && Database::affected_rows($result2)) {
$result = true;
}
}
+
return $result;
}
@@ -343,7 +363,10 @@ class Auth
}
$sql = "UPDATE $TABLECOURSUSER
SET user_course_cat='0'
- WHERE user_course_cat='" . $category_id . "' AND user_id='" . $current_user_id . "' AND relation_type<>" . COURSE_RELATION_TYPE_RRHH . " ";
+ WHERE
+ user_course_cat='" . $category_id . "' AND
+ user_id='" . $current_user_id . "' AND
+ relation_type<>" . COURSE_RELATION_TYPE_RRHH . " ";
Database::query($sql);
return $result;
@@ -363,11 +386,14 @@ class Auth
$course_code = Database::escape_string($course_code);
$result = true;
+ $courseInfo = api_get_course_info($course_code);
+ $courseId = $courseInfo['id'];
+
// we check (once again) if the user is not course administrator
// because the course administrator cannot unsubscribe himself
// (s)he can only delete the course
$sql = "SELECT * FROM $tbl_course_user
- WHERE user_id='" . $current_user_id . "' AND course_code='" . $course_code . "' AND status='1' ";
+ WHERE user_id='" . $current_user_id . "' AND c_id ='" . $courseId . "' AND status='1' ";
$result_check = Database::query($sql);
$number_of_rows = Database::num_rows($result_check);
if ($number_of_rows > 0) {
diff --git a/main/inc/lib/blog.lib.php b/main/inc/lib/blog.lib.php
index 944717dca5..a408ebbb9d 100755
--- a/main/inc/lib/blog.lib.php
+++ b/main/inc/lib/blog.lib.php
@@ -1833,7 +1833,6 @@ class Blog
$currentCourse = $_course['code'];
$tbl_users = Database::get_main_table(TABLE_MAIN_USER);
$tbl_blogs_rel_user = Database::get_course_table(TABLE_BLOGS_REL_USER);
- $table_course_user = Database::get_main_table(TABLE_MAIN_COURSE_USER);
echo '';
diff --git a/main/inc/lib/classmanager.lib.php b/main/inc/lib/classmanager.lib.php
index c1eb0e4f75..6e645f235a 100755
--- a/main/inc/lib/classmanager.lib.php
+++ b/main/inc/lib/classmanager.lib.php
@@ -153,10 +153,10 @@ class ClassManager
* @param int $class_id The class id
* @param string $course_code The course code
*/
- public static function subscribe_to_course($class_id, $course_code) {
+ public static function subscribe_to_course($class_id, $course_code)
+ {
$tbl_course_class = Database :: get_main_table(TABLE_MAIN_COURSE_CLASS);
$tbl_class_user = Database :: get_main_table(TABLE_MAIN_CLASS_USER);
- $tbl_course_user = Database :: get_main_table(TABLE_MAIN_COURSE_USER);
$sql = "INSERT IGNORE INTO $tbl_course_class SET course_code = '".Database::escape_string($course_code)."', class_id = '".Database::escape_string($class_id)."'";
Database::query($sql);
$sql = "SELECT user_id FROM $tbl_class_user WHERE class_id = '".intval($class_id)."'";
diff --git a/main/inc/lib/course.lib.php b/main/inc/lib/course.lib.php
index f9e75b0189..2e8e3089eb 100755
--- a/main/inc/lib/course.lib.php
+++ b/main/inc/lib/course.lib.php
@@ -322,10 +322,15 @@ class CourseManager
*/
public static function get_user_in_course_status($user_id, $course_code)
{
+ $courseInfo = api_get_course_info($course_code);
+ $courseId = $courseInfo['id'];
+
$result = Database::fetch_array(
Database::query(
"SELECT status FROM " . Database::get_main_table(TABLE_MAIN_COURSE_USER) . "
- WHERE course_code = '" . Database::escape_string($course_code) . "' AND user_id = " . intval($user_id)
+ WHERE
+ c_id = '" . $courseId. "' AND
+ user_id = " . intval($user_id)
)
);
@@ -489,7 +494,7 @@ class CourseManager
WHERE
user_id IN (" . $user_ids . ") AND
relation_type<>" . COURSE_RELATION_TYPE_RRHH . " AND
- course_code = '" . $course_code . "'";
+ c_id = '" . $course_id . "'";
Database::query($sql);
// add event to system log
@@ -537,6 +542,9 @@ class CourseManager
}
$course_code = Database::escape_string($course_code);
+ $courseInfo = api_get_course_info($course_code);
+ $courseId = $courseInfo['id'];
+
$userCourseCategoryId = intval($userCourseCategoryId);
if (empty($user_id) || empty ($course_code)) {
@@ -561,12 +569,14 @@ class CourseManager
}
// Check whether the user has not been already subscribed to the course.
+
if (empty($session_id)) {
- if (Database::num_rows(@Database::query("
+ if (Database::num_rows(Database::query("
SELECT * FROM " . Database::get_main_table(TABLE_MAIN_COURSE_USER) . "
- WHERE user_id = '$user_id' AND relation_type<>" . COURSE_RELATION_TYPE_RRHH . " AND course_code = '$course_code'")) > 0
+ WHERE user_id = '$user_id' AND relation_type<>" . COURSE_RELATION_TYPE_RRHH . " AND c_id = '$courseId'")) > 0
) {
- return false; // The user has been already subscribed to the course.
+ // The user has been already subscribed to the course.
+ return false;
}
}
@@ -615,20 +625,20 @@ class CourseManager
// Update the table session
$row = Database::fetch_array(@Database::query("SELECT COUNT(*) FROM " . Database::get_main_table(TABLE_MAIN_SESSION_USER) . " WHERE id_session = '" . $session_id . "' AND relation_type<>" . SESSION_RELATION_TYPE_RRHH . ""));
$count = $row[0]; // number of users by session
- $result = @Database::query("UPDATE " . Database::get_main_table(TABLE_MAIN_SESSION) . " SET nbr_users = '$count' WHERE id = '" . $session_id . "'");
+ Database::query("UPDATE " . Database::get_main_table(TABLE_MAIN_SESSION) . " SET nbr_users = '$count' WHERE id = '" . $session_id . "'");
// Update the table session_rel_course
- $row = Database::fetch_array(@Database::query("SELECT COUNT(*) FROM " . Database::get_main_table(TABLE_MAIN_SESSION_COURSE_USER) . " WHERE id_session = '" . $session_id . "' AND course_code = '$course_code' AND status<>2"));
+ $row = Database::fetch_array(Database::query("SELECT COUNT(*) FROM " . Database::get_main_table(TABLE_MAIN_SESSION_COURSE_USER) . " WHERE id_session = '" . $session_id . "' AND course_code = '$course_code' AND status<>2"));
$count = $row[0]; // number of users by session
- $result = @Database::query("UPDATE " . Database::get_main_table(TABLE_MAIN_SESSION_COURSE) . " SET nbr_users = '$count' WHERE id_session = '" . $session_id . "' AND course_code = '$course_code' ");
+ $result = Database::query("UPDATE " . Database::get_main_table(TABLE_MAIN_SESSION_COURSE) . " SET nbr_users = '$count' WHERE id_session = '" . $session_id . "' AND course_code = '$course_code' ");
} else {
$course_sort = self::userCourseSort($user_id, $course_code);
$sql = "INSERT INTO " . Database::get_main_table(TABLE_MAIN_COURSE_USER) . "
- SET course_code = '$course_code',
+ SET c_id = '$courseId',
user_id = '$user_id',
status = '" . $status . "',
- sort = '" . ($course_sort) . "',
+ sort = '" . $course_sort . "',
user_course_cat = $userCourseCategoryId
";
$result = @Database::query($sql);
@@ -724,7 +734,10 @@ class CourseManager
if (empty($user_id) || empty($course_code) || ($user_id != strval(intval($user_id)))) {
return false;
}
+
$course_code = Database::escape_string($course_code);
+ $courseInfo = api_get_course_info($course_code);
+ $courseId = $courseInfo['id'];
// Check in advance whether the user has already been registered on the platform.
$sql = "SELECT status FROM " . $user_table . " WHERE user_id = '$user_id' ";
@@ -740,7 +753,7 @@ class CourseManager
WHERE
user_id = '$user_id' AND
relation_type<>" . COURSE_RELATION_TYPE_RRHH . " AND
- course_code = '$course_code'";
+ c_id = '$courseId'";
if (Database::num_rows(Database::query($sql)) > 0) {
if ($debug) {
error_log('The user has been already subscribed to the course');
@@ -762,7 +775,7 @@ class CourseManager
$max_sort = api_max_sort_value('0', $user_id);
return (bool)Database::query(
"INSERT INTO " . $course_user_table . "
- SET course_code = '$course_code',
+ SET c_id = '$courseId',
user_id = '$user_id',
status = '" . $status . "',
sort = '" . ($max_sort + 1) . "'"
@@ -840,7 +853,7 @@ class CourseManager
"SELECT *
FROM " . Database::get_main_table(TABLE_MAIN_COURSE) . " course
LEFT JOIN " . Database::get_main_table(TABLE_MAIN_COURSE_USER) . " course_user
- ON course.code = course_user.course_code
+ ON course.id = course_user.c_id
WHERE course.target_course_code IS NULL
AND course_user.user_id = '$user_id'
AND course_user.status = '1'"
@@ -871,7 +884,7 @@ class CourseManager
if (!empty($courses_temp)) {
foreach ($courses_temp as $course_item) {
- $courseList[0][$course_item['course_code']] = $course_item['course_code'];
+ $courseList[0][$course_item['code']] = $course_item['code'];
}
}
@@ -966,14 +979,13 @@ class CourseManager
$data = array();
$sql = "SELECT
- course_rel_user.course_code,
+ course.code,
course.title,
course.id,
- course.db_name,
course.id as real_id
FROM $tbl_course_user as course_rel_user
INNER JOIN $tbl_course as course
- ON course.code = course_rel_user.course_code
+ ON course.id = course_rel_user.c_id
WHERE
course_rel_user.user_id='$user_id' AND
course_rel_user.status='1'
@@ -985,14 +997,13 @@ class CourseManager
if ($access_url_id != -1) {
$sql = "
SELECT
- course_rel_user.course_code,
+ course.code,
course.title,
course.id,
- course.db_name,
course.id as real_id
FROM $tbl_course_user as course_rel_user
INNER JOIN $tbl_course as course
- ON course.code = course_rel_user.course_code
+ ON course.id = course_rel_user.c_id
INNER JOIN $tbl_course_rel_access_url course_rel_url
ON (course_rel_url.course_code= course.code)
WHERE
@@ -1006,7 +1017,7 @@ class CourseManager
$result_nb_cours = Database::query($sql);
if (Database::num_rows($result_nb_cours) > 0) {
while ($row = Database::fetch_array($result_nb_cours, 'ASSOC')) {
- $data[$row['course_code']] = $row;
+ $data[$row['id']] = $row;
}
}
@@ -1050,14 +1061,15 @@ class CourseManager
if (empty($courseInfo) || empty($userId)) {
return false;
}
- $courseCode = Database::escape_string($courseInfo['code']);
+
+ $courseId = intval($courseInfo['id']);
$table = Database::get_main_table(TABLE_MAIN_COURSE_USER);
$sql = "SELECT * FROM $table
WHERE
user_id = $userId AND
relation_type = " . COURSE_RELATION_TYPE_RRHH . " AND
- course_code = '$courseCode'";
+ c_id = $courseId";
$result = Database::fetch_array(Database::query($sql));
@@ -1090,12 +1102,16 @@ class CourseManager
$condition_course = '';
if (isset($course_code)) {
- $course_code = Database::escape_string($course_code);
- $condition_course = ' AND course_code = "' . $course_code . '" ';
+ $courseInfo = api_get_course_info($course_code);
+ $courseId = $courseInfo['id'];
+ $condition_course = ' AND c_id = ' . $courseId;
}
$sql = "SELECT * FROM " . Database::get_main_table(TABLE_MAIN_COURSE_USER) . "
- WHERE user_id = $user_id AND relation_type<>" . COURSE_RELATION_TYPE_RRHH . " $condition_course ";
+ WHERE
+ user_id = $user_id AND
+ relation_type<>" . COURSE_RELATION_TYPE_RRHH . "
+ $condition_course ";
$result = Database::fetch_array(Database::query($sql));
@@ -1145,12 +1161,16 @@ class CourseManager
if ($user_id != strval(intval($user_id))) {
return false;
}
- $sql_result = Database::query(
+
+ $courseInfo = api_get_course_info($course_code);
+ $courseId = $courseInfo['id'];
+
+ $result = Database::query(
'SELECT status FROM ' . Database::get_main_table(TABLE_MAIN_COURSE_USER) .
- ' WHERE course_code="' . Database::escape_string($course_code) . '" and user_id="' . $user_id . '"'
+ ' WHERE c_id="' . $courseId . '" and user_id="' . $user_id . '"'
);
- if (Database::num_rows($sql_result) > 0) {
- return Database::result($sql_result, 0, 'status') == 1;
+ if (Database::num_rows($result) > 0) {
+ return Database::result($result, 0, 'status') == 1;
}
return false;
}
@@ -1177,7 +1197,7 @@ class CourseManager
"SELECT *
FROM " . Database::get_main_table(TABLE_MAIN_COURSE) . " course
LEFT JOIN " . Database::get_main_table(TABLE_MAIN_COURSE_USER) . " course_user
- ON course.code = course_user.course_code
+ ON course.id = course_user.c_id
WHERE
course_user.user_id = '$user_id' AND
course_user.relation_type<>" . COURSE_RELATION_TYPE_RRHH . " AND
@@ -1364,11 +1384,13 @@ class CourseManager
ON user.user_id = course_rel_user.user_id AND
course_rel_user.relation_type <> ' . COURSE_RELATION_TYPE_RRHH . ' ';
if (!empty($course_code)) {
- $sql .= ' AND course_rel_user.course_code="' . $course_code . '"';
+ $courseInfo = api_get_course_info($course_code);
+ $courseId = $courseInfo['id'];
+ $sql .= ' AND course_rel_user.c_id="' . $courseId . '"';
} else {
- $sql .= " INNER JOIN $course_table course ON course_rel_user.course_code = course.code ";
+ $sql .= " INNER JOIN $course_table course ON course_rel_user.c_id = course.id ";
}
- $where[] = ' course_rel_user.course_code IS NOT NULL ';
+ $where[] = ' course_rel_user.c_id IS NOT NULL ';
if (isset($filter_by_status) && is_numeric($filter_by_status)) {
$filter_by_status = intval($filter_by_status);
@@ -1378,7 +1400,7 @@ class CourseManager
$multiple_access_url = api_get_multiple_access_url();
if ($multiple_access_url) {
- $sql .= ' LEFT JOIN ' . Database::get_main_table(TABLE_MAIN_ACCESS_URL_REL_USER) . ' au ON (au.user_id = user.user_id) ';
+ $sql .= ' LEFT JOIN ' . Database::get_main_table(TABLE_MAIN_ACCESS_URL_REL_USER) . ' au ON (au.user_id = user.user_id) ';
}
$extraFieldWasAdded = false;
@@ -1648,6 +1670,9 @@ class CourseManager
$session_id = intval($session_id);
$course_code = Database::escape_string($course_code);
+ $courseInfo = api_get_course_info($course_code);
+ $courseId = $courseInfo['id'];
+
$sql = 'SELECT DISTINCT count(*) as count FROM ' . Database::get_main_table(TABLE_MAIN_USER) . ' as user ';
$where = array();
if (!empty($session_id)) {
@@ -1659,9 +1684,11 @@ class CourseManager
$where[] = ' session_course_user.course_code IS NOT NULL ';
} else {
$sql .= ' LEFT JOIN ' . Database::get_main_table(TABLE_MAIN_COURSE_USER) . ' as course_rel_user
- ON user.user_id = course_rel_user.user_id AND course_rel_user.relation_type<>' . COURSE_RELATION_TYPE_RRHH . '
- AND course_rel_user.course_code="' . $course_code . '"';
- $where[] = ' course_rel_user.course_code IS NOT NULL ';
+ ON
+ user.user_id = course_rel_user.user_id AND
+ course_rel_user.relation_type<>' . COURSE_RELATION_TYPE_RRHH . ' AND
+ course_rel_user.c_id= ' . $courseId ;
+ $where[] = ' course_rel_user.c_id IS NOT NULL ';
}
$multiple_access_url = api_get_multiple_access_url();
@@ -1748,8 +1775,12 @@ class CourseManager
$date_to = null,
$includeInvitedUsers = true
) {
+
+ $userTable = Database::get_main_table(TABLE_MAIN_USER);
$session_id = intval($session_id);
$course_code = Database::escape_string($course_code);
+ $courseInfo = api_get_course_info($course_code);
+ $courseId = $courseInfo['id'];
$students = array();
@@ -1757,7 +1788,7 @@ class CourseManager
// students directly subscribed to the course
$sql = "SELECT * FROM " . Database::get_main_table(TABLE_MAIN_COURSE_USER) . " cu
INNER JOIN user u ON cu.user_id = u.user_id
- WHERE course_code = '$course_code' AND cu.status = " . STUDENT;
+ WHERE c_id = '$courseId' AND cu.status = " . STUDENT;
if (!$includeInvitedUsers) {
$sql .= " AND u.status != " . INVITEE;
@@ -1795,7 +1826,7 @@ class CourseManager
}
if (!$includeInvitedUsers) {
- $sql .= " AND u.status != " . INVITEE;
+ $sql_query .= " AND u.status != " . INVITEE;
}
$rs = Database::query($sql_query);
@@ -1816,18 +1847,22 @@ class CourseManager
*/
public static function get_teacher_list_from_course_code($course_code)
{
- $course_code = Database::escape_string($course_code);
- $teachers = array();
+ $courseInfo = api_get_course_info($course_code);
+ $courseId = $courseInfo['id'];
+
$sql = "SELECT DISTINCT u.user_id, u.lastname, u.firstname, u.email, u.username, u.status
FROM " . Database::get_main_table(TABLE_MAIN_COURSE_USER) . " cu
INNER JOIN " . Database::get_main_table(TABLE_MAIN_USER) . " u
ON (cu.user_id = u.user_id)
- WHERE cu.course_code = '$course_code' AND
- cu.status = 1 ";
+ WHERE
+ cu.c_id = $courseId AND
+ cu.status = 1 ";
$rs = Database::query($sql);
+ $teachers = array();
while ($teacher = Database::fetch_array($rs)) {
$teachers[$teacher['user_id']] = $teacher;
}
+
return $teachers;
}
@@ -2017,7 +2052,7 @@ class CourseManager
$sql = "SELECT *
FROM " . Database::get_main_table(TABLE_MAIN_COURSE) . " course
LEFT JOIN " . Database::get_main_table(TABLE_MAIN_COURSE_USER) . " course_user
- ON course.code = course_user.course_code
+ ON course.id = course_user.c_id
WHERE
course.target_course_code = '$course_code' AND
course_user.user_id = '$user_id' AND
@@ -2161,7 +2196,7 @@ class CourseManager
/*$sql = "DELETE FROM $table_course_class WHERE course_code='".$code."'";
Database::query($sql);*/
// Unsubscribe all users from the course
- $sql = "DELETE FROM $table_course_user WHERE course_code='" . $codeFiltered . "'";
+ $sql = "DELETE FROM $table_course_user WHERE c_id='" . $courseId . "'";
Database::query($sql);
// Delete the course from the sessions tables
$sql = "DELETE FROM $table_session_course WHERE course_code='" . $codeFiltered . "'";
@@ -2317,7 +2352,6 @@ class CourseManager
*/
public static function userCourseSort($user_id, $course_code)
{
-
if ($user_id != strval(intval($user_id))) {
return false;
}
@@ -2329,8 +2363,9 @@ class CourseManager
$course_title = Database::result(Database::query('SELECT title FROM ' . $TABLECOURSE . ' WHERE code="' . $course_code . '"'),
0, 0);
- $sql = 'SELECT course.code as code, course.title as title, cu.sort as sort FROM ' . $TABLECOURSUSER . ' as cu, ' . $TABLECOURSE . ' as course
- WHERE course.code = cu.course_code AND user_id = "' . $user_id . '" AND
+ $sql = 'SELECT course.code as code, course.title as title, cu.sort as sort
+ FROM ' . $TABLECOURSUSER . ' as cu, ' . $TABLECOURSE . ' as course
+ WHERE course.id = cu.c_id AND user_id = "' . $user_id . '" AND
cu.relation_type<>' . COURSE_RELATION_TYPE_RRHH . ' AND
user_course_cat = 0
ORDER BY cu.sort';
@@ -2350,12 +2385,21 @@ class CourseManager
$course_found = true;
$course_sort = $courses['sort'];
if ($counter == 0) {
- $sql = 'UPDATE ' . $TABLECOURSUSER . ' SET sort = sort+1
- WHERE user_id= "' . $user_id . '" AND relation_type<>' . COURSE_RELATION_TYPE_RRHH . ' AND user_course_cat="0" AND sort > "' . $course_sort . '"';
+ $sql = 'UPDATE ' . $TABLECOURSUSER . '
+ SET sort = sort+1
+ WHERE
+ user_id= "' . $user_id . '" AND
+ relation_type<>' . COURSE_RELATION_TYPE_RRHH . '
+ AND user_course_cat="0"
+ AND sort > "' . $course_sort . '"';
$course_sort++;
} else {
$sql = 'UPDATE ' . $TABLECOURSUSER . ' SET sort = sort+1
- WHERE user_id= "' . $user_id . '" AND relation_type<>' . COURSE_RELATION_TYPE_RRHH . ' AND user_course_cat="0" AND sort >= "' . $course_sort . '"';
+ WHERE
+ user_id= "' . $user_id . '" AND
+ relation_type<>' . COURSE_RELATION_TYPE_RRHH . ' AND
+ user_course_cat="0" AND
+ sort >= "' . $course_sort . '"';
}
Database::query($sql);
break;
@@ -2418,20 +2462,21 @@ class CourseManager
* @param bool $send_to_tutor_also
* @return string we return the message that is displayed when the action is successful
*/
- public static function email_to_tutor($user_id, $course_code, $send_to_tutor_also = false)
+ public static function email_to_tutor($user_id, $courseId, $send_to_tutor_also = false)
{
-
if ($user_id != strval(intval($user_id))) {
return false;
}
$course_code = Database::escape_string($course_code);
+ $information = self::get_course_information($course_code);
+ $courseId = $information['id'];
$student = Database::fetch_array(Database::query("SELECT * FROM " . Database::get_main_table(TABLE_MAIN_USER) . "
WHERE user_id='" . $user_id . "'"));
- $information = self::get_course_information($course_code);
+
$name_course = $information['title'];
- $sql = "SELECT * FROM " . Database::get_main_table(TABLE_MAIN_COURSE_USER) . " WHERE course_code='" . $course_code . "'";
+ $sql = "SELECT * FROM " . Database::get_main_table(TABLE_MAIN_COURSE_USER) . " WHERE c_id ='" . $courseId . "'";
// TODO: Ivan: This is a mistake, please, have a look at it. Intention here is diffcult to be guessed.
//if ($send_to_tutor_also = true)
@@ -2555,7 +2600,7 @@ class CourseManager
$sql = "SELECT DISTINCT(course.code), course.id as real_id
FROM " . $tbl_course_user . " course_rel_user
LEFT JOIN " . $tbl_course . " course
- ON course.code = course_rel_user.course_code
+ ON course.id = course_rel_user.c_id
LEFT JOIN " . $tbl_user_course_category . " user_course_category
ON course_rel_user.user_course_cat = user_course_category.id
WHERE $with_special_courses
@@ -2575,7 +2620,7 @@ class CourseManager
// entries when a course is assigned to a HRD (DRH) as watcher
$sql = "SELECT DISTINCT(course.code), course.id as real_id
FROM $tbl_course course
- INNER JOIN $tbl_course_user cru ON course.code=cru.course_code
+ INNER JOIN $tbl_course_user cru ON course.id = cru.c_id
WHERE cru.user_id='$user_id' $without_special_courses";
$result = Database::query($sql);
@@ -2645,11 +2690,11 @@ class CourseManager
* @return array List of emails of tutors to course
* @author @author Carlos Vargas | ", get_lang('CourseManager'), " | \n"; - - } - echo "\n", "", " |