From aaefc2374a7736eb379edd4321d8ea1cfa545945 Mon Sep 17 00:00:00 2001 From: Julio Montoya Date: Fri, 29 Jan 2010 11:53:17 -0500 Subject: [PATCH 1/6] Adding the suscribe_courses_to_user() function needed to deal with the dashboard see BT#540 --- main/inc/lib/course.lib.php | 35 +++++++++++++++++++++++++++++++++++ 1 file changed, 35 insertions(+) diff --git a/main/inc/lib/course.lib.php b/main/inc/lib/course.lib.php index 4bb95b1439..33162641e3 100644 --- a/main/inc/lib/course.lib.php +++ b/main/inc/lib/course.lib.php @@ -2142,5 +2142,40 @@ class CourseManager { $row = Database::fetch_row($rs); return $row[0]; } + + /** + * Subscribes "courses" to user (Dashboard feature) + * @param int user id + * @param string Course code + * @param int relation type + * @return + **/ + public static function suscribe_courses_to_user($user_id, $course_list, $relation_stype) { + if ($user_id!= strval(intval($user_id))) return false; + + $tbl_course = Database::get_main_table(TABLE_MAIN_COURSE); + $tbl_course_rel_user = Database::get_main_table(TABLE_MAIN_COURSE_USER); + $tbl_user = Database::get_main_table(TABLE_MAIN_USER); + + $sql = "SELECT course_code FROM $tbl_course_rel_user WHERE id_user = $user_id AND relation_type = 1 "; + $result = Database::query($sql,__FILE__,__LINE__); + $existing_courses = array(); + while($row = Database::fetch_array($result)){ + $existing_courses[] = $row['course_code']; + } + + //Deleting existing session_rel_user + foreach ($existing_courses as $existing_course) { + $sql = "DELETE FROM $tbl_course_rel_user WHERE course_code = $existing_course AND id_user=$user_id AND relation_type = 1 "; + Database::query($sql,__FILE__,__LINE__); + } + + foreach ($course_list as $course_code) { + // for each session + $course_code = Database::escape_string($course_code); + $insert_sql = "INSERT IGNORE INTO $tbl_course_rel_user(course_code,user_id,relation_type) VALUES('$course_code','$user_id','1')"; + Database::query($insert_sql,__FILE__,__LINE__); + } + } } //end class CourseManager From f1dac4ea8c69869a14b53f02e048895ff7a75459 Mon Sep 17 00:00:00 2001 From: Julio Montoya Date: Fri, 29 Jan 2010 11:54:06 -0500 Subject: [PATCH 2/6] Minor - Adding Database::escape_string --- main/inc/lib/course.lib.php | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) diff --git a/main/inc/lib/course.lib.php b/main/inc/lib/course.lib.php index 33162641e3..994bdb84e6 100644 --- a/main/inc/lib/course.lib.php +++ b/main/inc/lib/course.lib.php @@ -2162,11 +2162,11 @@ class CourseManager { $existing_courses = array(); while($row = Database::fetch_array($result)){ $existing_courses[] = $row['course_code']; - } - + } - //Deleting existing session_rel_user - foreach ($existing_courses as $existing_course) { + //Deleting existing session_rel_user with relation ship = 1 only + foreach ($existing_courses as $existing_course) { + $existing_course = Database::escape_string($existing_course); $sql = "DELETE FROM $tbl_course_rel_user WHERE course_code = $existing_course AND id_user=$user_id AND relation_type = 1 "; Database::query($sql,__FILE__,__LINE__); } From 5435e875d33958c4618849c87b187b5362849387 Mon Sep 17 00:00:00 2001 From: Julio Montoya Date: Fri, 29 Jan 2010 12:21:29 -0500 Subject: [PATCH 3/6] Minor - Updating license --- main/user/subscribe_user.php | 21 +-------------------- main/user/user.php | 2 +- main/user/userInfo.php | 21 +-------------------- main/user/userInfoLib.php | 22 +--------------------- main/user/user_add.php | 24 +----------------------- 5 files changed, 5 insertions(+), 85 deletions(-) diff --git a/main/user/subscribe_user.php b/main/user/subscribe_user.php index ffe0692257..a9fd30021a 100755 --- a/main/user/subscribe_user.php +++ b/main/user/subscribe_user.php @@ -1,24 +1,5 @@ Date: Fri, 29 Jan 2010 12:22:47 -0500 Subject: [PATCH 4/6] This script was replaced with the inc/ajax/social.ajax.php --- main/user/tags/tags.php | 7 ------- 1 file changed, 7 deletions(-) delete mode 100755 main/user/tags/tags.php diff --git a/main/user/tags/tags.php b/main/user/tags/tags.php deleted file mode 100755 index cc46d8f272..0000000000 --- a/main/user/tags/tags.php +++ /dev/null @@ -1,7 +0,0 @@ - Date: Fri, 29 Jan 2010 13:43:52 -0500 Subject: [PATCH 5/6] CourseManager::suscribe_courses_to_user() function updated --- main/inc/lib/course.lib.php | 5 +++-- 1 file changed, 3 insertions(+), 2 deletions(-) diff --git a/main/inc/lib/course.lib.php b/main/inc/lib/course.lib.php index 994bdb84e6..da39956276 100644 --- a/main/inc/lib/course.lib.php +++ b/main/inc/lib/course.lib.php @@ -2157,7 +2157,7 @@ class CourseManager { $tbl_course_rel_user = Database::get_main_table(TABLE_MAIN_COURSE_USER); $tbl_user = Database::get_main_table(TABLE_MAIN_USER); - $sql = "SELECT course_code FROM $tbl_course_rel_user WHERE id_user = $user_id AND relation_type = 1 "; + $sql = "SELECT course_code FROM $tbl_course_rel_user WHERE user_id = $user_id AND relation_type = 1 "; $result = Database::query($sql,__FILE__,__LINE__); $existing_courses = array(); while($row = Database::fetch_array($result)){ @@ -2167,7 +2167,7 @@ class CourseManager { //Deleting existing session_rel_user with relation ship = 1 only foreach ($existing_courses as $existing_course) { $existing_course = Database::escape_string($existing_course); - $sql = "DELETE FROM $tbl_course_rel_user WHERE course_code = $existing_course AND id_user=$user_id AND relation_type = 1 "; + $sql = "DELETE FROM $tbl_course_rel_user WHERE course_code = '$existing_course' AND user_id = $user_id AND relation_type = 1 "; Database::query($sql,__FILE__,__LINE__); } @@ -2175,6 +2175,7 @@ class CourseManager { // for each session $course_code = Database::escape_string($course_code); $insert_sql = "INSERT IGNORE INTO $tbl_course_rel_user(course_code,user_id,relation_type) VALUES('$course_code','$user_id','1')"; + Database::query($insert_sql,__FILE__,__LINE__); } } From c3a5b1b8ee22c4c36ea20731f19f67c85fa72a4e Mon Sep 17 00:00:00 2001 From: Julio Montoya Date: Fri, 29 Jan 2010 17:37:16 -0500 Subject: [PATCH 6/6] Minor - Update license.txt --- license.txt | 1 + main/user/subscribe_class.php | 22 +--------------------- 2 files changed, 2 insertions(+), 21 deletions(-) diff --git a/license.txt b/license.txt index 87bcb9bdf4..184778d763 100644 --- a/license.txt +++ b/license.txt @@ -7,6 +7,7 @@ Copyright (c) 2003-2007 Ghent University (UGent) Copyright (c) 2001 Universite catholique de Louvain (UCL) Copyright (c) 2003-2008 Vrije Universiteit Brussel (VUB) Copyright (c) 2004-2008 Hoogeschool Gent (HoGent) +Copyright (c) Bart Mollet, Hogeschool Gent Copyright (c) Facultad de Matematicas, UADY (México) (Message plugin) For a full list of contributors detaining copyrights over parts of diff --git a/main/user/subscribe_class.php b/main/user/subscribe_class.php index 756163fd57..bfbe8b95d4 100755 --- a/main/user/subscribe_class.php +++ b/main/user/subscribe_class.php @@ -1,26 +1,6 @@