|
@@ -1345,37 +1345,49 @@ class Attendance
|
|
|
* @param int $groupId
|
|
|
* @return int number of dates in attendance calendar
|
|
|
*/
|
|
|
- public static function get_number_of_attendance_calendar($attendance_id, $groupId = 0)
|
|
|
- {
|
|
|
- $tbl_attendance_calendar = Database::get_course_table(TABLE_ATTENDANCE_CALENDAR);
|
|
|
- $calendarRelGroup = Database::get_course_table(TABLE_ATTENDANCE_CALENDAR_REL_GROUP);
|
|
|
- $attendance_id = intval($attendance_id);
|
|
|
- $groupId = intval($groupId);
|
|
|
-
|
|
|
- $groupCondition = " group_id = $groupId ";
|
|
|
- if (empty($groupId)) {
|
|
|
- $groupCondition = "group_id IS NULL OR group_id = 0 ";
|
|
|
- }
|
|
|
-
|
|
|
- $course_id = api_get_course_int_id();
|
|
|
- $sql = "SELECT count(a.id)
|
|
|
+ public static function get_number_of_attendance_calendar($attendance_id, $groupId = 0)
|
|
|
+ {
|
|
|
+ $tbl_attendance_calendar = Database::get_course_table(TABLE_ATTENDANCE_CALENDAR);
|
|
|
+ $calendarRelGroup = Database::get_course_table(TABLE_ATTENDANCE_CALENDAR_REL_GROUP);
|
|
|
+ $attendance_id = intval($attendance_id);
|
|
|
+ $groupId = intval($groupId);
|
|
|
+ $course_id = api_get_course_int_id();
|
|
|
+
|
|
|
+ if (empty($groupId)) {
|
|
|
+ $sql = "SELECT count(a.id)
|
|
|
+ FROM $tbl_attendance_calendar a
|
|
|
+ WHERE
|
|
|
+ c_id = $course_id AND
|
|
|
+ attendance_id = '$attendance_id' AND
|
|
|
+ id NOT IN (
|
|
|
+ SELECT calendar_id FROM $calendarRelGroup
|
|
|
+ WHERE
|
|
|
+ c_id = $course_id AND
|
|
|
+ group_id != 0 AND
|
|
|
+ group_id IS NOT NULL
|
|
|
+ )
|
|
|
+ ";
|
|
|
+ } else {
|
|
|
+ $sql = "SELECT count(a.id)
|
|
|
FROM $tbl_attendance_calendar a
|
|
|
INNER JOIN $calendarRelGroup g
|
|
|
ON (a.id = g.calendar_id AND a.c_id = g.c_id)
|
|
|
WHERE
|
|
|
a.c_id = $course_id AND
|
|
|
attendance_id = '$attendance_id' AND
|
|
|
- $groupCondition
|
|
|
+ group_id = $groupId
|
|
|
";
|
|
|
+ }
|
|
|
|
|
|
- $rs = Database::query($sql);
|
|
|
- $row = Database::fetch_row($rs);
|
|
|
- $count = $row[0];
|
|
|
+ $rs = Database::query($sql);
|
|
|
+ $row = Database::fetch_row($rs);
|
|
|
+ $count = $row[0];
|
|
|
|
|
|
- return $count;
|
|
|
- }
|
|
|
+ return $count;
|
|
|
+ }
|
|
|
|
|
|
- /**
|
|
|
+
|
|
|
+ /**
|
|
|
* Get count dates inside attendance calendar by attendance id
|
|
|
* @param int $attendance_id
|
|
|
* @return int count of dates
|