|
@@ -1696,7 +1696,8 @@ function get_work_user_list_from_documents(
|
|
|
}
|
|
|
|
|
|
if ($getCount) {
|
|
|
- $select = " SELECT count() as count ";
|
|
|
+ $select1 = " SELECT count(u.user_id) as count ";
|
|
|
+ $select2 = " SELECT count(u.user_id) as count ";
|
|
|
} else {
|
|
|
$select1 = " SELECT DISTINCT u.firstname, u.lastname, u.user_id, w.title, w.parent_id, w.document_id document_id, w.id, qualification, qualificator_id";
|
|
|
$select2 = " SELECT DISTINCT u.firstname, u.lastname, u.user_id, d.title, w.parent_id, d.id document_id, 0, 0, 0";
|
|
@@ -1705,13 +1706,11 @@ function get_work_user_list_from_documents(
|
|
|
$documentTable = Database::get_course_table(TABLE_DOCUMENT);
|
|
|
$workTable = Database::get_course_table(TABLE_STUDENT_PUBLICATION);
|
|
|
$workRelDocument = Database::get_course_table(TABLE_STUDENT_PUBLICATION_REL_DOCUMENT);
|
|
|
-
|
|
|
$userTable = Database::get_main_table(TABLE_MAIN_USER);
|
|
|
|
|
|
$courseId = api_get_course_int_id();
|
|
|
$sessionId = api_get_session_id();
|
|
|
|
|
|
- $userCondition = null;
|
|
|
if (empty($studentId)) {
|
|
|
$studentId = api_get_user_id();
|
|
|
}
|
|
@@ -1720,7 +1719,8 @@ function get_work_user_list_from_documents(
|
|
|
|
|
|
$userCondition = " AND u.user_id = $studentId ";
|
|
|
$sessionCondition = " AND w.session_id = $sessionId ";
|
|
|
- $workCondition = " AND w.parent_id = $workId";
|
|
|
+ $workCondition = " AND w_rel.work_id = $workId";
|
|
|
+ $workParentCondition = " AND w.parent_id = $workId";
|
|
|
|
|
|
$sql = " (
|
|
|
$select1 FROM $userTable u
|
|
@@ -1730,7 +1730,7 @@ function get_work_user_list_from_documents(
|
|
|
$userCondition
|
|
|
$sessionCondition
|
|
|
$whereCondition
|
|
|
- $workCondition
|
|
|
+ $workParentCondition
|
|
|
|
|
|
) UNION (
|
|
|
$select2 FROM $workTable w
|
|
@@ -1739,6 +1739,7 @@ function get_work_user_list_from_documents(
|
|
|
INNER JOIN $userTable u ON (u.user_id = $studentId)
|
|
|
WHERE
|
|
|
w.c_id = $courseId
|
|
|
+ $workCondition
|
|
|
$sessionCondition AND
|
|
|
d.id NOT IN
|
|
|
(SELECT w.document_id id FROM $workTable w
|
|
@@ -1748,7 +1749,7 @@ function get_work_user_list_from_documents(
|
|
|
filetype = 'file' AND
|
|
|
active = 1
|
|
|
$sessionCondition
|
|
|
- $workCondition
|
|
|
+ $workParentCondition
|
|
|
)
|
|
|
)
|
|
|
";
|
|
@@ -1765,7 +1766,6 @@ function get_work_user_list_from_documents(
|
|
|
$result = Database::query($sql);
|
|
|
|
|
|
$currentUserId = api_get_user_id();
|
|
|
-
|
|
|
$work_data = get_work_data_by_id($workId);
|
|
|
|
|
|
$qualificationExists = false;
|
|
@@ -2100,7 +2100,7 @@ function get_work_user_list_from_documents(
|
|
|
* @param int $studentId
|
|
|
* @return array
|
|
|
*/
|
|
|
-function get_work_user_list($start, $limit, $column, $direction, $work_id, $where_condition, $studentId = null)
|
|
|
+function get_work_user_list($start, $limit, $column, $direction, $work_id, $where_condition, $studentId = null, $getCount = false)
|
|
|
{
|
|
|
$work_table = Database::get_course_table(TABLE_STUDENT_PUBLICATION);
|
|
|
$iprop_table = Database::get_course_table(TABLE_ITEM_PROPERTY);
|
|
@@ -2146,9 +2146,13 @@ function get_work_user_list($start, $limit, $column, $direction, $work_id, $wher
|
|
|
|
|
|
$extra_conditions .= " AND parent_id = ".$work_id." ";
|
|
|
|
|
|
- $select = 'DISTINCT u.user_id, work.id as id, title as title, description, url, sent_date, contains_file, has_properties, view_properties,
|
|
|
+ $select = 'SELECT DISTINCT u.user_id, work.id as id, title as title, description, url, sent_date, contains_file, has_properties, view_properties,
|
|
|
qualification, weight, allow_text_assignment, u.firstname, u.lastname, u.username, parent_id, accepted, qualificator_id';
|
|
|
|
|
|
+ if ($getCount) {
|
|
|
+ $select = "SELECT DISTINCT count(u.user_id) as count ";
|
|
|
+ }
|
|
|
+
|
|
|
$user_condition = "INNER JOIN $user_table u ON (work.user_id = u.user_id) ";
|
|
|
$work_condition = "$iprop_table prop INNER JOIN $work_table work ON (prop.ref = work.id AND prop.c_id = $course_id AND work.c_id = $course_id ) ";
|
|
|
|
|
@@ -2158,16 +2162,20 @@ function get_work_user_list($start, $limit, $column, $direction, $work_id, $wher
|
|
|
$where_condition.= " AND u.user_id = ".intval($studentId);
|
|
|
}
|
|
|
|
|
|
- $sql = "SELECT $select
|
|
|
+ $sql = " $select
|
|
|
FROM $work_condition $user_condition
|
|
|
- WHERE $extra_conditions $where_condition $condition_session ";
|
|
|
-
|
|
|
+ WHERE $extra_conditions $where_condition $condition_session ";
|
|
|
$sql .= " ORDER BY $column $direction ";
|
|
|
$sql .= " LIMIT $start, $limit";
|
|
|
|
|
|
$result = Database::query($sql);
|
|
|
$works = array();
|
|
|
|
|
|
+ if ($getCount) {
|
|
|
+ $work = Database::fetch_array($result, 'ASSOC');
|
|
|
+ return $work['count'];
|
|
|
+ }
|
|
|
+
|
|
|
while ($work = Database::fetch_array($result, 'ASSOC')) {
|
|
|
$item_id = $work['id'];
|
|
|
|