| @@ 585-599 (lines=15) @@ | ||
| 582 | ||
| 583 | </script>'; |
|
| 584 | ||
| 585 | function get_courses_list_by_user_id_based_in_exercises($user_id) { |
|
| 586 | $TABLETRACK_EXERCICES = Database::get_main_table(TABLE_STATISTIC_TRACK_E_EXERCISES); |
|
| 587 | $user_id = intval($user_id); |
|
| 588 | $sql = "SELECT DISTINCT exe_user_id, c_id, session_id |
|
| 589 | FROM $TABLETRACK_EXERCICES |
|
| 590 | WHERE exe_user_id = $user_id |
|
| 591 | ORDER by exe_user_id, c_id ASC"; |
|
| 592 | ||
| 593 | $res = Database::query($sql); |
|
| 594 | $course_list = array(); |
|
| 595 | while ($row = Database::fetch_array($res,'ASSOC')) { |
|
| 596 | $course_list []= $row; |
|
| 597 | } |
|
| 598 | return $course_list; |
|
| 599 | } |
|
| 600 | ||
| 601 | ||
| 602 | Display::display_header(get_lang('MoveUserStats')); |
|
| @@ 99-110 (lines=12) @@ | ||
| 96 | * @param string Comment to set |
|
| 97 | * @return Doctrine\DBAL\Driver\Statement|null Result of the database operation (Database::query will output some message directly on error anyway) |
|
| 98 | */ |
|
| 99 | function SetComment($path, $comment) |
|
| 100 | { |
|
| 101 | $dbTable = Database::get_course_table(TABLE_DOCUMENT); |
|
| 102 | $path = Database::escape_string($path); |
|
| 103 | $comment = Database::escape_string($comment); |
|
| 104 | $course_id = api_get_course_int_id(); |
|
| 105 | $query = "UPDATE $dbTable SET comment='$comment' |
|
| 106 | WHERE $course_id AND path='$path'"; |
|
| 107 | $result = Database::query($query); |
|
| 108 | ||
| 109 | return $result; |
|
| 110 | } |
|
| 111 | ||
| 112 | /** |
|
| 113 | * Reads the file contents into a string. |
|
| @@ 967-983 (lines=17) @@ | ||
| 964 | * @param int attendance id |
|
| 965 | * @return int number of done attendances |
|
| 966 | */ |
|
| 967 | public static function get_done_attendance_calendar($attendance_id) |
|
| 968 | { |
|
| 969 | $tbl_attendance_calendar = Database::get_course_table(TABLE_ATTENDANCE_CALENDAR); |
|
| 970 | $attendance_id = intval($attendance_id); |
|
| 971 | $course_id = api_get_course_int_id(); |
|
| 972 | $sql = "SELECT count(done_attendance) as count |
|
| 973 | FROM $tbl_attendance_calendar |
|
| 974 | WHERE |
|
| 975 | c_id = $course_id AND |
|
| 976 | attendance_id = '$attendance_id' AND |
|
| 977 | done_attendance = 1 |
|
| 978 | "; |
|
| 979 | $rs = Database::query($sql); |
|
| 980 | $row = Database::fetch_array($rs); |
|
| 981 | $count = $row['count']; |
|
| 982 | return $count; |
|
| 983 | } |
|
| 984 | ||
| 985 | /** |
|
| 986 | * Get results of faults (absents) by user |
|
| @@ 103-117 (lines=15) @@ | ||
| 100 | * retrieves the user defined course categories |
|
| 101 | * @return array containing all the IDs of the user defined courses categories, sorted by the "sort" field |
|
| 102 | */ |
|
| 103 | public function get_user_course_categories() |
|
| 104 | { |
|
| 105 | $user_id = api_get_user_id(); |
|
| 106 | $table_category = Database::get_main_table(TABLE_USER_COURSE_CATEGORY); |
|
| 107 | $sql = "SELECT * FROM " . $table_category . " |
|
| 108 | WHERE user_id=$user_id |
|
| 109 | ORDER BY sort ASC"; |
|
| 110 | $result = Database::query($sql); |
|
| 111 | $output = array(); |
|
| 112 | while ($row = Database::fetch_array($result)) { |
|
| 113 | $output[] = $row; |
|
| 114 | } |
|
| 115 | ||
| 116 | return $output; |
|
| 117 | } |
|
| 118 | ||
| 119 | /** |
|
| 120 | * This function get all the courses in the particular user category; |
|
| @@ 215-225 (lines=11) @@ | ||
| 212 | * @param string $course_code |
|
| 213 | * @return array An array with all classes (keys: 'id','code','name') |
|
| 214 | */ |
|
| 215 | public static function get_classes_in_course($course_code) { |
|
| 216 | $table_class = Database :: get_main_table(TABLE_MAIN_CLASS); |
|
| 217 | $table_course_class = Database :: get_main_table(TABLE_MAIN_COURSE_CLASS); |
|
| 218 | $sql = "SELECT cl.* FROM $table_class cl, $table_course_class cc WHERE cc.course_code = '".Database::escape_string($course_code)."' AND cc.class_id = cl.id"; |
|
| 219 | $res = Database::query($sql); |
|
| 220 | $classes = array (); |
|
| 221 | while ($class = Database::fetch_array($res, 'ASSOC')) { |
|
| 222 | $classes[] = $class; |
|
| 223 | } |
|
| 224 | return $classes; |
|
| 225 | } |
|
| 226 | } |
|
| 227 | ||
| @@ 652-666 (lines=15) @@ | ||
| 649 | * @param string $course_code The course (default = current course) |
|
| 650 | * @return array |
|
| 651 | */ |
|
| 652 | public static function get_categories($course_code = null) |
|
| 653 | { |
|
| 654 | $course_info = api_get_course_info($course_code); |
|
| 655 | $course_id = $course_info['real_id']; |
|
| 656 | $table_group_cat = Database :: get_course_table(TABLE_GROUP_CATEGORY); |
|
| 657 | $sql = "SELECT * FROM $table_group_cat |
|
| 658 | WHERE c_id = $course_id |
|
| 659 | ORDER BY display_order"; |
|
| 660 | $res = Database::query($sql); |
|
| 661 | $cats = array (); |
|
| 662 | while ($cat = Database::fetch_array($res)) { |
|
| 663 | $cats[] = $cat; |
|
| 664 | } |
|
| 665 | return $cats; |
|
| 666 | } |
|
| 667 | ||
| 668 | /** |
|
| 669 | * Get a group category |
|
| @@ 4961-4977 (lines=17) @@ | ||
| 4958 | * @param string $officialCode |
|
| 4959 | * @return array |
|
| 4960 | */ |
|
| 4961 | public static function getUsersByOfficialCode($officialCode) |
|
| 4962 | { |
|
| 4963 | $user = Database::get_main_table(TABLE_MAIN_USER); |
|
| 4964 | $officialCode = Database::escape_string($officialCode); |
|
| 4965 | ||
| 4966 | $sql = "SELECT DISTINCT id |
|
| 4967 | FROM $user |
|
| 4968 | WHERE official_code = '$officialCode' |
|
| 4969 | "; |
|
| 4970 | $result = Database::query($sql); |
|
| 4971 | ||
| 4972 | $users = array(); |
|
| 4973 | while ($row = Database::fetch_array($result)) { |
|
| 4974 | $users[] = $row['id']; |
|
| 4975 | } |
|
| 4976 | return $users; |
|
| 4977 | } |
|
| 4978 | ||
| 4979 | /** |
|
| 4980 | * Calc the expended time (in seconds) by a user in a course |
|
| @@ 4879-4897 (lines=19) @@ | ||
| 4876 | * @param int $sessionId |
|
| 4877 | * @return array |
|
| 4878 | */ |
|
| 4879 | public static function getCoachesBySession($sessionId) |
|
| 4880 | { |
|
| 4881 | $table = Database::get_main_table(TABLE_MAIN_SESSION_COURSE_USER); |
|
| 4882 | $sessionId = intval($sessionId); |
|
| 4883 | ||
| 4884 | $sql = "SELECT DISTINCT user_id |
|
| 4885 | FROM $table |
|
| 4886 | WHERE session_id = '$sessionId' AND status = 2"; |
|
| 4887 | $result = Database::query($sql); |
|
| 4888 | ||
| 4889 | $coaches = array(); |
|
| 4890 | if (Database::num_rows($result) > 0) { |
|
| 4891 | while ($row = Database::fetch_array($result)) { |
|
| 4892 | $coaches[] = $row['user_id']; |
|
| 4893 | } |
|
| 4894 | } |
|
| 4895 | ||
| 4896 | return $coaches; |
|
| 4897 | } |
|
| 4898 | ||
| 4899 | /** |
|
| 4900 | * @param int $userId |
|
| @@ 6047-6065 (lines=19) @@ | ||
| 6044 | * @param int $sessionId The session id |
|
| 6045 | * @return array |
|
| 6046 | */ |
|
| 6047 | public static function getTotalUserCoursesInSession($sessionId) |
|
| 6048 | { |
|
| 6049 | $tableUser = Database::get_main_table(TABLE_MAIN_USER); |
|
| 6050 | $tableSessionRelCourseRelUser = Database::get_main_table(TABLE_MAIN_SESSION_COURSE_USER); |
|
| 6051 | $sql = "SELECT COUNT(1) as count, u.id, scu.status status_in_session, u.status user_status |
|
| 6052 | FROM $tableSessionRelCourseRelUser scu |
|
| 6053 | INNER JOIN $tableUser u ON scu.user_id = u.id |
|
| 6054 | WHERE scu.session_id = " . intval($sessionId) ." |
|
| 6055 | GROUP BY u.id"; |
|
| 6056 | ||
| 6057 | $result = Database::query($sql); |
|
| 6058 | ||
| 6059 | $list = array(); |
|
| 6060 | while ($data = Database::fetch_assoc($result)) { |
|
| 6061 | $list[] = $data; |
|
| 6062 | } |
|
| 6063 | ||
| 6064 | return $list; |
|
| 6065 | } |
|
| 6066 | ||
| 6067 | ||
| 6068 | /** |
|
| @@ 7596-7614 (lines=19) @@ | ||
| 7593 | * |
|
| 7594 | * @return array |
|
| 7595 | */ |
|
| 7596 | public static function getCoursesInSession($sessionId) |
|
| 7597 | { |
|
| 7598 | $listResultsCourseId = array(); |
|
| 7599 | $tblSessionRelCourse = Database::get_main_table(TABLE_MAIN_SESSION_COURSE); |
|
| 7600 | $tblCourse = Database::get_main_table(TABLE_MAIN_COURSE); |
|
| 7601 | ||
| 7602 | // list of course in this session |
|
| 7603 | $sql = "SELECT session_id, c.id |
|
| 7604 | FROM $tblSessionRelCourse src |
|
| 7605 | LEFT JOIN $tblCourse c |
|
| 7606 | ON c.id = src.c_id |
|
| 7607 | WHERE session_id = ".intval($sessionId); |
|
| 7608 | $res = Database::query($sql); |
|
| 7609 | while ($data = Database::fetch_assoc($res)) { |
|
| 7610 | $listResultsCourseId[] = $data['id']; |
|
| 7611 | } |
|
| 7612 | ||
| 7613 | return $listResultsCourseId; |
|
| 7614 | } |
|
| 7615 | ||
| 7616 | /** |
|
| 7617 | * Return an array of courses in session for user |
|
| @@ 4872-4884 (lines=13) @@ | ||
| 4869 | * The function that retrieves all the possible settings for a certain config setting |
|
| 4870 | * @author Patrick Cool <[email protected]>, Ghent University |
|
| 4871 | */ |
|
| 4872 | function api_get_settings_options($var) { |
|
| 4873 | $table_settings_options = Database :: get_main_table(TABLE_MAIN_SETTINGS_OPTIONS); |
|
| 4874 | $var = Database::escape_string($var); |
|
| 4875 | $sql = "SELECT * FROM $table_settings_options |
|
| 4876 | WHERE variable = '$var' |
|
| 4877 | ORDER BY id"; |
|
| 4878 | $result = Database::query($sql); |
|
| 4879 | $settings_options_array = array(); |
|
| 4880 | while ($row = Database::fetch_array($result, 'ASSOC')) { |
|
| 4881 | $settings_options_array[] = $row; |
|
| 4882 | } |
|
| 4883 | return $settings_options_array; |
|
| 4884 | } |
|
| 4885 | ||
| 4886 | /** |
|
| 4887 | * @param array $params |
|
| @@ 4078-4094 (lines=17) @@ | ||
| 4075 | * @author Patrick Cool <[email protected]>, Ghent University |
|
| 4076 | * @version September 2007 |
|
| 4077 | */ |
|
| 4078 | public static function get_invitations($survey_code) |
|
| 4079 | { |
|
| 4080 | $course_id = api_get_course_int_id(); |
|
| 4081 | // Database table definition |
|
| 4082 | $table_survey_invitation = Database :: get_course_table(TABLE_SURVEY_INVITATION); |
|
| 4083 | ||
| 4084 | $sql = "SELECT * FROM $table_survey_invitation |
|
| 4085 | WHERE |
|
| 4086 | c_id = $course_id AND |
|
| 4087 | survey_code = '".Database::escape_string($survey_code)."'"; |
|
| 4088 | $result = Database::query($sql); |
|
| 4089 | $return = array(); |
|
| 4090 | while ($row = Database::fetch_array($result)) { |
|
| 4091 | $return[$row['user']] = $row; |
|
| 4092 | } |
|
| 4093 | return $return; |
|
| 4094 | } |
|
| 4095 | ||
| 4096 | /** |
|
| 4097 | * This function displays the form for searching a survey |
|
| @@ 5414-5427 (lines=14) @@ | ||
| 5411 | * @param $courseId |
|
| 5412 | * @return array |
|
| 5413 | */ |
|
| 5414 | public static function getCourseSettings($courseId) |
|
| 5415 | { |
|
| 5416 | $settingTable = Database::get_course_table(TABLE_COURSE_SETTING); |
|
| 5417 | $courseId = intval($courseId); |
|
| 5418 | $sql = "SELECT * FROM $settingTable WHERE c_id = $courseId"; |
|
| 5419 | $result = Database::query($sql); |
|
| 5420 | $settings = array(); |
|
| 5421 | if (Database::num_rows($result)) { |
|
| 5422 | while ($row = Database::fetch_array($result, 'ASSOC')) { |
|
| 5423 | $settings[$row['variable']] = $row; |
|
| 5424 | } |
|
| 5425 | } |
|
| 5426 | return $settings; |
|
| 5427 | } |
|
| 5428 | ||
| 5429 | /** |
|
| 5430 | * this function gets all the users of the course, |
|
| @@ 3961-3975 (lines=15) @@ | ||
| 3958 | * @author Patrick Cool <[email protected]>, Ghent University |
|
| 3959 | * @version february 2006, dokeos 1.8 |
|
| 3960 | */ |
|
| 3961 | function get_unaproved_messages($forum_id) |
|
| 3962 | { |
|
| 3963 | $table_posts = Database :: get_course_table(TABLE_FORUM_POST); |
|
| 3964 | $course_id = api_get_course_int_id(); |
|
| 3965 | ||
| 3966 | $return_array = array(); |
|
| 3967 | $sql = "SELECT DISTINCT thread_id FROM $table_posts |
|
| 3968 | WHERE c_id = $course_id AND forum_id='".Database::escape_string($forum_id)."' AND visible='0'"; |
|
| 3969 | $result = Database::query($sql); |
|
| 3970 | while ($row = Database::fetch_array($result)) { |
|
| 3971 | $return_array[] = $row['thread_id']; |
|
| 3972 | } |
|
| 3973 | ||
| 3974 | return $return_array; |
|
| 3975 | } |
|
| 3976 | ||
| 3977 | /** |
|
| 3978 | * This function sends the notification mails to everybody who stated that they wanted to be informed when a new post |
|