|
@@ -267,15 +267,17 @@ function get_work_assignment_by_id($id, $courseId = null)
|
|
|
* @param int $id
|
|
|
* @param array $my_folder_data
|
|
|
* @param string $add_in_where_query
|
|
|
+ * @param int $course_id
|
|
|
+ * @param int $session_id
|
|
|
*
|
|
|
* @return array
|
|
|
*/
|
|
|
-function getWorkList($id, $my_folder_data, $add_in_where_query = null)
|
|
|
+function getWorkList($id, $my_folder_data, $add_in_where_query = null, $course_id = 0, $session_id = 0)
|
|
|
{
|
|
|
$work_table = Database::get_course_table(TABLE_STUDENT_PUBLICATION);
|
|
|
|
|
|
- $course_id = api_get_course_int_id();
|
|
|
- $session_id = api_get_session_id();
|
|
|
+ $course_id = $course_id ? $course_id : api_get_course_int_id();
|
|
|
+ $session_id = $session_id ? $session_id : api_get_session_id();
|
|
|
$condition_session = api_get_session_condition($session_id);
|
|
|
$group_id = api_get_group_id();
|
|
|
|
|
@@ -358,11 +360,13 @@ function getWorkList($id, $my_folder_data, $add_in_where_query = null)
|
|
|
|
|
|
/**
|
|
|
* @param int $userId
|
|
|
+ * @param int $courseId
|
|
|
+ * @param int $sessionId
|
|
|
* @return array
|
|
|
*/
|
|
|
-function getWorkPerUser($userId)
|
|
|
+function getWorkPerUser($userId, $courseId = 0, $sessionId = 0)
|
|
|
{
|
|
|
- $works = getWorkList(null, null, null);
|
|
|
+ $works = getWorkList(null, null, null, $courseId, $sessionId);
|
|
|
$result = array();
|
|
|
if (!empty($works)) {
|
|
|
foreach ($works as $workData) {
|
|
@@ -375,7 +379,10 @@ function getWorkPerUser($userId)
|
|
|
null,
|
|
|
$workId,
|
|
|
null,
|
|
|
- $userId
|
|
|
+ $userId,
|
|
|
+ false,
|
|
|
+ $courseId,
|
|
|
+ $sessionId
|
|
|
);
|
|
|
}
|
|
|
}
|
|
@@ -1835,6 +1842,8 @@ function get_work_user_list_from_documents(
|
|
|
* @param array $where_condition
|
|
|
* @param int $studentId
|
|
|
* @param bool $getCount
|
|
|
+ * @param int $courseId
|
|
|
+ * @param int $sessionId
|
|
|
* @return array
|
|
|
*/
|
|
|
function get_work_user_list(
|
|
@@ -1845,15 +1854,18 @@ function get_work_user_list(
|
|
|
$work_id,
|
|
|
$where_condition = null,
|
|
|
$studentId = null,
|
|
|
- $getCount = false
|
|
|
+ $getCount = false,
|
|
|
+ $courseId = 0,
|
|
|
+ $sessionId = 0
|
|
|
) {
|
|
|
$work_table = Database::get_course_table(TABLE_STUDENT_PUBLICATION);
|
|
|
$user_table = Database::get_main_table(TABLE_MAIN_USER);
|
|
|
|
|
|
- $session_id = api_get_session_id();
|
|
|
+ $session_id = $sessionId ? $sessionId : api_get_session_id();
|
|
|
$group_id = api_get_group_id();
|
|
|
$course_info = api_get_course_info();
|
|
|
- $course_id = $course_info['real_id'];
|
|
|
+ $course_info = empty($course_info) ? api_get_course_info_by_id($courseId) : $course_info;
|
|
|
+ $course_id = isset($course_info['real_id']) ? $course_info['real_id'] : $courseId;
|
|
|
|
|
|
$work_id = intval($work_id);
|
|
|
$column = !empty($column) ? Database::escape_string($column) : 'sent_date';
|
|
@@ -1864,10 +1876,10 @@ function get_work_user_list(
|
|
|
$direction = 'desc';
|
|
|
}
|
|
|
|
|
|
- $work_data = get_work_data_by_id($work_id);
|
|
|
+ $work_data = get_work_data_by_id($work_id, $courseId, $sessionId);
|
|
|
$is_allowed_to_edit = api_is_allowed_to_edit() || api_is_coach();
|
|
|
$condition_session = api_get_session_condition($session_id, true, false, 'work.session_id');
|
|
|
- $locked = api_resource_is_locked_by_gradebook($work_id, LINK_STUDENTPUBLICATION);
|
|
|
+ $locked = api_resource_is_locked_by_gradebook($work_id, LINK_STUDENTPUBLICATION, $course_info['code']);
|
|
|
|
|
|
$isDrhOfCourse = CourseManager::isUserSubscribedInCourseAsDrh(
|
|
|
api_get_user_id(),
|
|
@@ -1927,7 +1939,7 @@ function get_work_user_list(
|
|
|
}
|
|
|
|
|
|
$user_condition = "INNER JOIN $user_table u ON (work.user_id = u.user_id) ";
|
|
|
- $work_assignment = get_work_assignment_by_id($work_id);
|
|
|
+ $work_assignment = get_work_assignment_by_id($work_id, $courseId);
|
|
|
|
|
|
if (!empty($studentId)) {
|
|
|
$where_condition.= " AND u.user_id = ".intval($studentId);
|