|
@@ -37,6 +37,7 @@ class Attendance
|
|
|
/**
|
|
|
* Get the total number of attendance inside current course and current session
|
|
|
* @param int $active
|
|
|
+ * @return int
|
|
|
* @see SortableTable#get_total_number_of_items()
|
|
|
*/
|
|
|
public static function get_number_of_attendances($active = -1)
|
|
@@ -270,17 +271,17 @@ class Attendance
|
|
|
|
|
|
/**
|
|
|
* Get the attendances by id to display on the current page
|
|
|
- * @param int $attendance_id
|
|
|
+ * @param int $attendanceId
|
|
|
* @return array attendance data
|
|
|
*/
|
|
|
- public function get_attendance_by_id($attendance_id)
|
|
|
+ public function get_attendance_by_id($attendanceId)
|
|
|
{
|
|
|
$tbl_attendance = Database::get_course_table(TABLE_ATTENDANCE);
|
|
|
- $attendance_id = intval($attendance_id);
|
|
|
+ $attendanceId = intval($attendanceId);
|
|
|
$course_id = api_get_course_int_id();
|
|
|
$attendance_data = array();
|
|
|
$sql = "SELECT * FROM $tbl_attendance
|
|
|
- WHERE c_id = $course_id AND id = '$attendance_id'";
|
|
|
+ WHERE c_id = $course_id AND id = '$attendanceId'";
|
|
|
$res = Database::query($sql);
|
|
|
if (Database::num_rows($res) > 0) {
|
|
|
while ($row = Database::fetch_array($res)) {
|
|
@@ -372,7 +373,7 @@ class Attendance
|
|
|
* @param bool true for adding link in gradebook or false otherwise (optional)
|
|
|
* @return int last id
|
|
|
*/
|
|
|
- public function attendance_edit($attendance_id, $link_to_gradebook = false)
|
|
|
+ public function attendance_edit($attendanceId, $link_to_gradebook = false)
|
|
|
{
|
|
|
$_course = api_get_course_info();
|
|
|
$tbl_attendance = Database::get_course_table(TABLE_ATTENDANCE);
|
|
@@ -380,14 +381,14 @@ class Attendance
|
|
|
|
|
|
$session_id = api_get_session_id();
|
|
|
$user_id = api_get_user_id();
|
|
|
- $attendance_id = intval($attendance_id);
|
|
|
+ $attendanceId = intval($attendanceId);
|
|
|
$course_code = $_course['code'];
|
|
|
$course_id = $_course['real_id'];
|
|
|
$title_gradebook = $this->attendance_qualify_title;
|
|
|
$value_calification = 0;
|
|
|
$weight_calification = api_float_val($this->attendance_weight);
|
|
|
|
|
|
- if (!empty($attendance_id)) {
|
|
|
+ if (!empty($attendanceId)) {
|
|
|
$params = [
|
|
|
'name' => $this->name,
|
|
|
'description' => $this->description,
|
|
@@ -397,13 +398,13 @@ class Attendance
|
|
|
Database::update(
|
|
|
$tbl_attendance,
|
|
|
$params,
|
|
|
- ['c_id = ? AND id = ?' => [$course_id, $attendance_id]]
|
|
|
+ ['c_id = ? AND id = ?' => [$course_id, $attendanceId]]
|
|
|
);
|
|
|
|
|
|
api_item_property_update(
|
|
|
$_course,
|
|
|
TOOL_ATTENDANCE,
|
|
|
- $attendance_id,
|
|
|
+ $attendanceId,
|
|
|
"AttendanceUpdated",
|
|
|
$user_id
|
|
|
);
|
|
@@ -414,7 +415,7 @@ class Attendance
|
|
|
$link_info = GradebookUtils::isResourceInCourseGradebook(
|
|
|
$course_code,
|
|
|
7,
|
|
|
- $attendance_id,
|
|
|
+ $attendanceId,
|
|
|
$session_id
|
|
|
);
|
|
|
if (!$link_info) {
|
|
@@ -422,7 +423,7 @@ class Attendance
|
|
|
$this->category_id,
|
|
|
$course_code,
|
|
|
7,
|
|
|
- $attendance_id,
|
|
|
+ $attendanceId,
|
|
|
$title_gradebook,
|
|
|
$weight_calification,
|
|
|
$value_calification,
|
|
@@ -435,7 +436,7 @@ class Attendance
|
|
|
}
|
|
|
}
|
|
|
|
|
|
- return $attendance_id;
|
|
|
+ return $attendanceId;
|
|
|
}
|
|
|
|
|
|
return null;
|
|
@@ -446,14 +447,14 @@ class Attendance
|
|
|
* @param int|array one or many attendances id
|
|
|
* @return int affected rows
|
|
|
*/
|
|
|
- public function attendance_restore($attendance_id)
|
|
|
+ public function attendance_restore($attendanceId)
|
|
|
{
|
|
|
$_course = api_get_course_info();
|
|
|
$tbl_attendance = Database::get_course_table(TABLE_ATTENDANCE);
|
|
|
$user_id = api_get_user_id();
|
|
|
$course_id = $_course['real_id'];
|
|
|
- if (is_array($attendance_id)) {
|
|
|
- foreach ($attendance_id as $id) {
|
|
|
+ if (is_array($attendanceId)) {
|
|
|
+ foreach ($attendanceId as $id) {
|
|
|
$id = intval($id);
|
|
|
$sql = "UPDATE $tbl_attendance SET active = 1
|
|
|
WHERE c_id = $course_id AND id = '$id'";
|
|
@@ -471,9 +472,9 @@ class Attendance
|
|
|
}
|
|
|
}
|
|
|
} else {
|
|
|
- $attendance_id = intval($attendance_id);
|
|
|
+ $attendanceId = intval($attendanceId);
|
|
|
$sql = "UPDATE $tbl_attendance SET active = 1
|
|
|
- WHERE c_id = $course_id AND id = '$attendance_id'";
|
|
|
+ WHERE c_id = $course_id AND id = '$attendanceId'";
|
|
|
$result = Database::query($sql);
|
|
|
$affected_rows = Database::affected_rows($result);
|
|
|
if (!empty($affected_rows)) {
|
|
@@ -481,7 +482,7 @@ class Attendance
|
|
|
api_item_property_update(
|
|
|
$_course,
|
|
|
TOOL_ATTENDANCE,
|
|
|
- $attendance_id,
|
|
|
+ $attendanceId,
|
|
|
'restore',
|
|
|
$user_id
|
|
|
);
|
|
@@ -493,18 +494,18 @@ class Attendance
|
|
|
|
|
|
/**
|
|
|
* Delete attendances
|
|
|
- * @param int|array $attendance_id one or many attendances id
|
|
|
+ * @param int|array $attendanceId one or many attendances id
|
|
|
* @return int affected rows
|
|
|
*/
|
|
|
- public function attendance_delete($attendance_id)
|
|
|
+ public function attendance_delete($attendanceId)
|
|
|
{
|
|
|
$_course = api_get_course_info();
|
|
|
$tbl_attendance = Database::get_course_table(TABLE_ATTENDANCE);
|
|
|
$user_id = api_get_user_id();
|
|
|
$course_id = $_course['real_id'];
|
|
|
|
|
|
- if (is_array($attendance_id)) {
|
|
|
- foreach ($attendance_id as $id) {
|
|
|
+ if (is_array($attendanceId)) {
|
|
|
+ foreach ($attendanceId as $id) {
|
|
|
$id = intval($id);
|
|
|
$sql = "UPDATE $tbl_attendance SET active = 2
|
|
|
WHERE c_id = $course_id AND id = '$id'";
|
|
@@ -522,9 +523,9 @@ class Attendance
|
|
|
}
|
|
|
}
|
|
|
} else {
|
|
|
- $attendance_id = intval($attendance_id);
|
|
|
+ $attendanceId = intval($attendanceId);
|
|
|
$sql = "UPDATE $tbl_attendance SET active = 2
|
|
|
- WHERE c_id = $course_id AND id = '$attendance_id'";
|
|
|
+ WHERE c_id = $course_id AND id = '$attendanceId'";
|
|
|
|
|
|
$result = Database::query($sql);
|
|
|
$affected_rows = Database::affected_rows($result);
|
|
@@ -533,7 +534,7 @@ class Attendance
|
|
|
api_item_property_update(
|
|
|
$_course,
|
|
|
TOOL_ATTENDANCE,
|
|
|
- $attendance_id,
|
|
|
+ $attendanceId,
|
|
|
"delete",
|
|
|
$user_id
|
|
|
);
|
|
@@ -609,20 +610,20 @@ class Attendance
|
|
|
*
|
|
|
* @return int
|
|
|
*/
|
|
|
- public function lock_attendance($attendance_id, $lock = true)
|
|
|
+ public function lock_attendance($attendanceId, $lock = true)
|
|
|
{
|
|
|
$tbl_attendance = Database::get_course_table(TABLE_ATTENDANCE);
|
|
|
$course_id = api_get_course_int_id();
|
|
|
- $attendance_id = intval($attendance_id);
|
|
|
+ $attendanceId = intval($attendanceId);
|
|
|
$locked = ($lock) ? 1 : 0;
|
|
|
$upd = "UPDATE $tbl_attendance SET locked = $locked
|
|
|
- WHERE c_id = $course_id AND id = $attendance_id";
|
|
|
+ WHERE c_id = $course_id AND id = $attendanceId";
|
|
|
$result = Database::query($upd);
|
|
|
$affected_rows = Database::affected_rows($result);
|
|
|
if ($affected_rows && $lock) {
|
|
|
// Save attendance sheet log
|
|
|
$this->saveAttendanceSheetLog(
|
|
|
- $attendance_id,
|
|
|
+ $attendanceId,
|
|
|
api_get_utc_datetime(),
|
|
|
self::LOCKED_ATTENDANCE_LOG_TYPE,
|
|
|
api_get_user_id()
|
|
@@ -633,11 +634,11 @@ class Attendance
|
|
|
|
|
|
/**
|
|
|
* Get registered users inside current course
|
|
|
- * @param int $attendance_id attendance id for showing attendance result field (optional)
|
|
|
+ * @param int $attendanceId attendance id for showing attendance result field (optional)
|
|
|
* @param int $groupId
|
|
|
* @return array users data
|
|
|
*/
|
|
|
- public function get_users_rel_course($attendance_id = 0, $groupId = 0)
|
|
|
+ public function get_users_rel_course($attendanceId = 0, $groupId = 0)
|
|
|
{
|
|
|
$current_session_id = api_get_session_id();
|
|
|
$current_course_id = api_get_course_id();
|
|
@@ -709,10 +710,10 @@ class Attendance
|
|
|
continue;
|
|
|
}
|
|
|
|
|
|
- if (!empty($attendance_id)) {
|
|
|
+ if (!empty($attendanceId)) {
|
|
|
$user_faults = $this->get_faults_of_user(
|
|
|
$uid,
|
|
|
- $attendance_id,
|
|
|
+ $attendanceId,
|
|
|
$groupId
|
|
|
);
|
|
|
$value['attendance_result'] = $user_faults['faults'].'/'.$user_faults['total'].' ('.$user_faults['faults_porcent'].'%)';
|
|
@@ -743,16 +744,16 @@ class Attendance
|
|
|
* add attendances sheet inside table
|
|
|
* @param int $calendar_id attendance calendar id
|
|
|
* @param array $users_present present users during current class
|
|
|
- * @param int $attendance_id
|
|
|
+ * @param int $attendanceId
|
|
|
* @return int affected rows
|
|
|
*/
|
|
|
- public function attendance_sheet_add($calendar_id, $users_present, $attendance_id)
|
|
|
+ public function attendance_sheet_add($calendar_id, $users_present, $attendanceId)
|
|
|
{
|
|
|
$tbl_attendance_sheet = Database::get_course_table(TABLE_ATTENDANCE_SHEET);
|
|
|
$tbl_attendance_calendar = Database::get_course_table(TABLE_ATTENDANCE_CALENDAR);
|
|
|
|
|
|
$calendar_id = intval($calendar_id);
|
|
|
- $attendance_id = intval($attendance_id);
|
|
|
+ $attendanceId = intval($attendanceId);
|
|
|
$users = $this->get_users_rel_course();
|
|
|
$course_id = api_get_course_int_id();
|
|
|
|
|
@@ -830,12 +831,12 @@ class Attendance
|
|
|
Database::query($sql);
|
|
|
|
|
|
// save users' results
|
|
|
- $this->updateUsersResults($user_ids, $attendance_id);
|
|
|
+ $this->updateUsersResults($user_ids, $attendanceId);
|
|
|
|
|
|
if ($affected_rows) {
|
|
|
//save attendance sheet log
|
|
|
$this->saveAttendanceSheetLog(
|
|
|
- $attendance_id,
|
|
|
+ $attendanceId,
|
|
|
api_get_utc_datetime(),
|
|
|
$lastedit_type,
|
|
|
api_get_user_id(),
|
|
@@ -849,18 +850,18 @@ class Attendance
|
|
|
/**
|
|
|
* update users' attendance results
|
|
|
* @param array $user_ids registered users inside current course
|
|
|
- * @param int $attendance_id
|
|
|
+ * @param int $attendanceId
|
|
|
*/
|
|
|
- public function updateUsersResults($user_ids, $attendance_id)
|
|
|
+ public function updateUsersResults($user_ids, $attendanceId)
|
|
|
{
|
|
|
$tbl_attendance_sheet = Database::get_course_table(TABLE_ATTENDANCE_SHEET);
|
|
|
$tbl_attendance_result = Database::get_course_table(TABLE_ATTENDANCE_RESULT);
|
|
|
$tbl_attendance = Database::get_course_table(TABLE_ATTENDANCE);
|
|
|
$course_id = api_get_course_int_id();
|
|
|
- $attendance_id = intval($attendance_id);
|
|
|
+ $attendanceId = intval($attendanceId);
|
|
|
// fill results about presence of students
|
|
|
$attendance_calendar = $this->get_attendance_calendar(
|
|
|
- $attendance_id,
|
|
|
+ $attendanceId,
|
|
|
'all',
|
|
|
null,
|
|
|
null,
|
|
@@ -894,7 +895,7 @@ class Attendance
|
|
|
WHERE
|
|
|
c_id = $course_id AND
|
|
|
user_id = '$uid' AND
|
|
|
- attendance_id = '$attendance_id' ";
|
|
|
+ attendance_id = '$attendanceId' ";
|
|
|
$rs_check_result = Database::query($sql);
|
|
|
|
|
|
if (Database::num_rows($rs_check_result) > 0) {
|
|
@@ -904,14 +905,14 @@ class Attendance
|
|
|
WHERE
|
|
|
c_id = $course_id AND
|
|
|
user_id='$uid' AND
|
|
|
- attendance_id='$attendance_id'";
|
|
|
+ attendance_id='$attendanceId'";
|
|
|
Database::query($sql);
|
|
|
} else {
|
|
|
// insert new result
|
|
|
$sql = "INSERT INTO $tbl_attendance_result SET
|
|
|
c_id = $course_id ,
|
|
|
user_id = '$uid',
|
|
|
- attendance_id = '$attendance_id',
|
|
|
+ attendance_id = '$attendanceId',
|
|
|
score = '$count_presences'";
|
|
|
Database::query($sql);
|
|
|
|
|
@@ -925,10 +926,10 @@ class Attendance
|
|
|
}
|
|
|
|
|
|
// update attendance qualify max
|
|
|
- $count_done_calendar = self::get_done_attendance_calendar($attendance_id);
|
|
|
+ $count_done_calendar = self::get_done_attendance_calendar($attendanceId);
|
|
|
$sql = "UPDATE $tbl_attendance SET
|
|
|
attendance_qualify_max = '$count_done_calendar'
|
|
|
- WHERE c_id = $course_id AND id = '$attendance_id'";
|
|
|
+ WHERE c_id = $course_id AND id = '$attendanceId'";
|
|
|
Database::query($sql);
|
|
|
}
|
|
|
|
|
@@ -942,7 +943,7 @@ class Attendance
|
|
|
* @return int Affected rows
|
|
|
*/
|
|
|
public function saveAttendanceSheetLog(
|
|
|
- $attendance_id,
|
|
|
+ $attendanceId,
|
|
|
$lastedit_date,
|
|
|
$lastedit_type,
|
|
|
$lastedit_user_id,
|
|
@@ -954,7 +955,7 @@ class Attendance
|
|
|
$tbl_attendance_sheet_log = Database::get_course_table(TABLE_ATTENDANCE_SHEET_LOG);
|
|
|
|
|
|
// protect data
|
|
|
- $attendance_id = intval($attendance_id);
|
|
|
+ $attendanceId = intval($attendanceId);
|
|
|
$lastedit_user_id = intval($lastedit_user_id);
|
|
|
|
|
|
if (isset($calendar_date_value)) {
|
|
@@ -966,7 +967,7 @@ class Attendance
|
|
|
// save data
|
|
|
$params = [
|
|
|
'c_id' => $course_id,
|
|
|
- 'attendance_id' => $attendance_id,
|
|
|
+ 'attendance_id' => $attendanceId,
|
|
|
'lastedit_date' => $lastedit_date,
|
|
|
'lastedit_type' => $lastedit_type,
|
|
|
'lastedit_user_id' => $lastedit_user_id,
|
|
@@ -986,16 +987,16 @@ class Attendance
|
|
|
* @param int attendance id
|
|
|
* @return int number of done attendances
|
|
|
*/
|
|
|
- public static function get_done_attendance_calendar($attendance_id)
|
|
|
+ public static function get_done_attendance_calendar($attendanceId)
|
|
|
{
|
|
|
$table = Database::get_course_table(TABLE_ATTENDANCE_CALENDAR);
|
|
|
- $attendance_id = intval($attendance_id);
|
|
|
+ $attendanceId = intval($attendanceId);
|
|
|
$course_id = api_get_course_int_id();
|
|
|
$sql = "SELECT count(done_attendance) as count
|
|
|
FROM $table
|
|
|
WHERE
|
|
|
c_id = $course_id AND
|
|
|
- attendance_id = '$attendance_id' AND
|
|
|
+ attendance_id = '$attendanceId' AND
|
|
|
done_attendance = 1
|
|
|
";
|
|
|
$rs = Database::query($sql);
|
|
@@ -1008,33 +1009,33 @@ class Attendance
|
|
|
/**
|
|
|
* Get results of faults (absents) by user
|
|
|
* @param int $user_id
|
|
|
- * @param int $attendance_id
|
|
|
+ * @param int $attendanceId
|
|
|
* @param int $groupId
|
|
|
*
|
|
|
* @return array results containing number of faults, total done attendance,
|
|
|
* percent of faults and color depend on result (red, orange)
|
|
|
*/
|
|
|
- public function get_faults_of_user($user_id, $attendance_id, $groupId = null)
|
|
|
+ public function get_faults_of_user($user_id, $attendanceId, $groupId = null)
|
|
|
{
|
|
|
$user_id = intval($user_id);
|
|
|
- $attendance_id = intval($attendance_id);
|
|
|
+ $attendanceId = intval($attendanceId);
|
|
|
$results = array();
|
|
|
$calendar_count = self::get_number_of_attendance_calendar(
|
|
|
- $attendance_id,
|
|
|
+ $attendanceId,
|
|
|
$groupId,
|
|
|
null,
|
|
|
$user_id
|
|
|
);
|
|
|
// $total_done_attendance = $attendance_data['attendance_qualify_max'];
|
|
|
$total_done_attendance = self::get_number_of_attendance_calendar(
|
|
|
- $attendance_id,
|
|
|
+ $attendanceId,
|
|
|
$groupId,
|
|
|
true,
|
|
|
$user_id
|
|
|
);
|
|
|
$attendance_user_score = $this->get_user_score(
|
|
|
$user_id,
|
|
|
- $attendance_id,
|
|
|
+ $attendanceId,
|
|
|
$groupId
|
|
|
);
|
|
|
|
|
@@ -1169,20 +1170,20 @@ class Attendance
|
|
|
|
|
|
/**
|
|
|
* Get registered users' attendance sheet inside current course
|
|
|
- * @param int $attendance_id
|
|
|
+ * @param int $attendanceId
|
|
|
* @param int $user_id for showing data for only one user (optional)
|
|
|
* @param int $groupId
|
|
|
* @return array users attendance sheet data
|
|
|
*/
|
|
|
public function get_users_attendance_sheet(
|
|
|
- $attendance_id,
|
|
|
+ $attendanceId,
|
|
|
$user_id = 0,
|
|
|
$groupId = 0
|
|
|
) {
|
|
|
$tbl_attendance_sheet = Database::get_course_table(TABLE_ATTENDANCE_SHEET);
|
|
|
$tbl_attendance_calendar = Database::get_course_table(TABLE_ATTENDANCE_CALENDAR);
|
|
|
$attendance_calendar = $this->get_attendance_calendar(
|
|
|
- $attendance_id,
|
|
|
+ $attendanceId,
|
|
|
'all',
|
|
|
null,
|
|
|
$groupId
|
|
@@ -1248,16 +1249,16 @@ class Attendance
|
|
|
* @param int attendance id
|
|
|
* @return int attendance calendar id
|
|
|
*/
|
|
|
- public function get_next_attendance_calendar_id($attendance_id)
|
|
|
+ public function get_next_attendance_calendar_id($attendanceId)
|
|
|
{
|
|
|
$table = Database::get_course_table(TABLE_ATTENDANCE_CALENDAR);
|
|
|
- $attendance_id = intval($attendance_id);
|
|
|
+ $attendanceId = intval($attendanceId);
|
|
|
$course_id = api_get_course_int_id();
|
|
|
|
|
|
$sql = "SELECT id FROM $table
|
|
|
WHERE
|
|
|
c_id = $course_id AND
|
|
|
- attendance_id = '$attendance_id' AND
|
|
|
+ attendance_id = '$attendanceId' AND
|
|
|
done_attendance = 0
|
|
|
ORDER BY date_time
|
|
|
LIMIT 1";
|
|
@@ -1276,15 +1277,15 @@ class Attendance
|
|
|
* @param int attendance id
|
|
|
* @return int UNIX time format datetime
|
|
|
*/
|
|
|
- public function getNextAttendanceCalendarDatetime($attendance_id)
|
|
|
+ public function getNextAttendanceCalendarDatetime($attendanceId)
|
|
|
{
|
|
|
$table = Database::get_course_table(TABLE_ATTENDANCE_CALENDAR);
|
|
|
$course_id = api_get_course_int_id();
|
|
|
- $attendance_id = intval($attendance_id);
|
|
|
+ $attendanceId = intval($attendanceId);
|
|
|
$sql = "SELECT id, date_time FROM $table
|
|
|
WHERE
|
|
|
c_id = $course_id AND
|
|
|
- attendance_id = '$attendance_id' AND
|
|
|
+ attendance_id = '$attendanceId' AND
|
|
|
done_attendance = 0
|
|
|
ORDER BY date_time
|
|
|
LIMIT 1";
|
|
@@ -1299,20 +1300,20 @@ class Attendance
|
|
|
}
|
|
|
|
|
|
/**
|
|
|
- * Get user' score from current attendance
|
|
|
+ * Get user's score from current attendance
|
|
|
* @param int $user_id
|
|
|
- * @param int $attendance_id
|
|
|
+ * @param int $attendanceId
|
|
|
* @param int $groupId
|
|
|
* @return int score
|
|
|
*/
|
|
|
- public function get_user_score($user_id, $attendance_id, $groupId = 0)
|
|
|
+ public function get_user_score($user_id, $attendanceId, $groupId = 0)
|
|
|
{
|
|
|
$tbl_attendance_result = Database::get_course_table(TABLE_ATTENDANCE_RESULT);
|
|
|
$tbl_attendance_sheet = Database::get_course_table(TABLE_ATTENDANCE_SHEET);
|
|
|
$tbl_attendance_cal_rel_group = Database::get_course_table(TABLE_ATTENDANCE_CALENDAR_REL_GROUP);
|
|
|
$tbl_attendance_cal = Database::get_course_table(TABLE_ATTENDANCE_CALENDAR);
|
|
|
$user_id = intval($user_id);
|
|
|
- $attendance_id = intval($attendance_id);
|
|
|
+ $attendanceId = intval($attendanceId);
|
|
|
$groupId = (int) $groupId;
|
|
|
$course_id = api_get_course_int_id();
|
|
|
if (empty($groupId)) {
|
|
@@ -1320,7 +1321,7 @@ class Attendance
|
|
|
WHERE
|
|
|
c_id = $course_id AND
|
|
|
user_id='$user_id' AND
|
|
|
- attendance_id='$attendance_id'";
|
|
|
+ attendance_id='$attendanceId'";
|
|
|
} else {
|
|
|
$sql = "SELECT count(presence) as score FROM $tbl_attendance_sheet
|
|
|
WHERE
|
|
@@ -1334,7 +1335,7 @@ class Attendance
|
|
|
WHERE
|
|
|
crg.c_id = $course_id AND
|
|
|
crg.group_id = $groupId AND
|
|
|
- c.attendance_id = $attendance_id
|
|
|
+ c.attendance_id = $attendanceId
|
|
|
)
|
|
|
";
|
|
|
}
|
|
@@ -1374,7 +1375,7 @@ class Attendance
|
|
|
|
|
|
/**
|
|
|
* Get all attendance calendar data inside current attendance
|
|
|
- * @param int $attendance_id
|
|
|
+ * @param int $attendanceId
|
|
|
* @param string $type
|
|
|
* @param int $calendar_id
|
|
|
* @param int $groupId
|
|
@@ -1383,7 +1384,7 @@ class Attendance
|
|
|
* @return array attendance calendar data
|
|
|
*/
|
|
|
public function get_attendance_calendar(
|
|
|
- $attendance_id,
|
|
|
+ $attendanceId,
|
|
|
$type = 'all',
|
|
|
$calendar_id = null,
|
|
|
$groupId = 0,
|
|
@@ -1391,17 +1392,17 @@ class Attendance
|
|
|
) {
|
|
|
$tbl_attendance_calendar = Database::get_course_table(TABLE_ATTENDANCE_CALENDAR);
|
|
|
$tbl_acrg = Database::get_course_table(TABLE_ATTENDANCE_CALENDAR_REL_GROUP);
|
|
|
- $attendance_id = intval($attendance_id);
|
|
|
+ $attendanceId = intval($attendanceId);
|
|
|
$course_id = api_get_course_int_id();
|
|
|
|
|
|
if ($showAll) {
|
|
|
$sql = "SELECT * FROM $tbl_attendance_calendar c
|
|
|
- WHERE c_id = $course_id AND attendance_id = '$attendance_id'";
|
|
|
+ WHERE c_id = $course_id AND attendance_id = '$attendanceId'";
|
|
|
} else {
|
|
|
$sql = "SELECT * FROM $tbl_attendance_calendar c
|
|
|
WHERE
|
|
|
c_id = $course_id AND
|
|
|
- attendance_id = '$attendance_id' AND
|
|
|
+ attendance_id = '$attendanceId' AND
|
|
|
id NOT IN (
|
|
|
SELECT calendar_id FROM $tbl_acrg
|
|
|
WHERE c_id = $course_id AND group_id != 0 AND group_id IS NOT NULL
|
|
@@ -1417,7 +1418,7 @@ class Attendance
|
|
|
WHERE
|
|
|
c.c_id = $course_id AND
|
|
|
g.group_id = '$groupId' AND
|
|
|
- c.attendance_id = '$attendance_id'
|
|
|
+ c.attendance_id = '$attendanceId'
|
|
|
";
|
|
|
}
|
|
|
|
|
@@ -1471,12 +1472,14 @@ class Attendance
|
|
|
|
|
|
/**
|
|
|
* Get number of attendance calendar inside current attendance
|
|
|
- * @param int $attendance_id
|
|
|
+ * @param int $attendanceId
|
|
|
* @param int $groupId
|
|
|
+ * @param $done_attendance
|
|
|
+ * @param int $userId
|
|
|
* @return int number of dates in attendance calendar
|
|
|
*/
|
|
|
public static function get_number_of_attendance_calendar(
|
|
|
- $attendance_id,
|
|
|
+ $attendanceId,
|
|
|
$groupId = 0,
|
|
|
$done_attendance = null,
|
|
|
$userId = 0
|
|
@@ -1484,7 +1487,7 @@ class Attendance
|
|
|
$tbl_attendance_calendar = Database::get_course_table(TABLE_ATTENDANCE_CALENDAR);
|
|
|
$calendarRelGroup = Database::get_course_table(TABLE_ATTENDANCE_CALENDAR_REL_GROUP);
|
|
|
$tbl_groupRelUser = Database::get_course_table(TABLE_GROUP_USER);
|
|
|
- $attendance_id = intval($attendance_id);
|
|
|
+ $attendanceId = intval($attendanceId);
|
|
|
$groupId = intval($groupId);
|
|
|
$course_id = api_get_course_int_id();
|
|
|
|
|
@@ -1499,7 +1502,7 @@ class Attendance
|
|
|
WHERE
|
|
|
c_id = $course_id AND
|
|
|
$where_attendance
|
|
|
- attendance_id = '$attendance_id' AND
|
|
|
+ attendance_id = '$attendanceId' AND
|
|
|
id NOT IN (
|
|
|
SELECT calendar_id FROM $calendarRelGroup
|
|
|
WHERE
|
|
@@ -1516,7 +1519,7 @@ class Attendance
|
|
|
WHERE
|
|
|
a.c_id = $course_id AND
|
|
|
$where_attendance
|
|
|
- attendance_id = '$attendance_id' AND
|
|
|
+ attendance_id = '$attendanceId' AND
|
|
|
group_id = $groupId
|
|
|
";
|
|
|
}
|
|
@@ -1527,7 +1530,7 @@ class Attendance
|
|
|
WHERE
|
|
|
c_id = $course_id AND
|
|
|
$where_attendance
|
|
|
- attendance_id = '$attendance_id' AND
|
|
|
+ attendance_id = '$attendanceId' AND
|
|
|
id NOT IN (
|
|
|
SELECT calendar_id FROM $calendarRelGroup
|
|
|
WHERE
|
|
@@ -1549,7 +1552,7 @@ class Attendance
|
|
|
WHERE
|
|
|
a.c_id = $course_id AND
|
|
|
$where_attendance
|
|
|
- attendance_id = '$attendance_id' AND
|
|
|
+ attendance_id = '$attendanceId' AND
|
|
|
group_id = $groupId
|
|
|
";
|
|
|
}
|
|
@@ -1564,18 +1567,18 @@ class Attendance
|
|
|
|
|
|
/**
|
|
|
* Get count dates inside attendance calendar by attendance id
|
|
|
- * @param int $attendance_id
|
|
|
+ * @param int $attendanceId
|
|
|
* @return int count of dates
|
|
|
*/
|
|
|
- public static function get_count_dates_inside_attendance_calendar($attendance_id)
|
|
|
+ public static function get_count_dates_inside_attendance_calendar($attendanceId)
|
|
|
{
|
|
|
$tbl_attendance_calendar = Database::get_course_table(TABLE_ATTENDANCE_CALENDAR);
|
|
|
- $attendance_id = intval($attendance_id);
|
|
|
+ $attendanceId = intval($attendanceId);
|
|
|
$course_id = api_get_course_int_id();
|
|
|
$sql = "SELECT count(id) FROM $tbl_attendance_calendar
|
|
|
WHERE
|
|
|
c_id = $course_id AND
|
|
|
- attendance_id = '$attendance_id'";
|
|
|
+ attendance_id = '$attendanceId'";
|
|
|
$rs = Database::query($sql);
|
|
|
$count = 0;
|
|
|
if (Database::num_rows($rs) > 0) {
|
|
@@ -1587,15 +1590,15 @@ class Attendance
|
|
|
|
|
|
/**
|
|
|
* check if all calendar of an attendance is done
|
|
|
- * @param int $attendance_id
|
|
|
+ * @param int $attendanceId
|
|
|
* @return bool True if all calendar is done, otherwise false
|
|
|
*/
|
|
|
- public static function is_all_attendance_calendar_done($attendance_id)
|
|
|
+ public static function is_all_attendance_calendar_done($attendanceId)
|
|
|
{
|
|
|
- $attendance_id = intval($attendance_id);
|
|
|
- $done_calendar = self::get_done_attendance_calendar($attendance_id);
|
|
|
- $count_dates_in_calendar = self::get_count_dates_inside_attendance_calendar($attendance_id);
|
|
|
- $number_of_dates = self::get_number_of_attendance_calendar($attendance_id);
|
|
|
+ $attendanceId = intval($attendanceId);
|
|
|
+ $done_calendar = self::get_done_attendance_calendar($attendanceId);
|
|
|
+ $count_dates_in_calendar = self::get_count_dates_inside_attendance_calendar($attendanceId);
|
|
|
+ $number_of_dates = self::get_number_of_attendance_calendar($attendanceId);
|
|
|
|
|
|
$result = false;
|
|
|
if ($number_of_dates && (intval($count_dates_in_calendar) == intval($done_calendar))) {
|
|
@@ -1606,42 +1609,42 @@ class Attendance
|
|
|
|
|
|
/**
|
|
|
* check if an attendance is locked
|
|
|
- * @param int $attendance_id
|
|
|
+ * @param int $attendanceId
|
|
|
* @param bool
|
|
|
* @return bool
|
|
|
*/
|
|
|
- public static function is_locked_attendance($attendance_id)
|
|
|
+ public static function is_locked_attendance($attendanceId)
|
|
|
{
|
|
|
//use gradebook lock
|
|
|
- $result = api_resource_is_locked_by_gradebook($attendance_id, LINK_ATTENDANCE);
|
|
|
+ $result = api_resource_is_locked_by_gradebook($attendanceId, LINK_ATTENDANCE);
|
|
|
|
|
|
return $result;
|
|
|
}
|
|
|
|
|
|
/**
|
|
|
* Add new datetime inside attendance calendar table
|
|
|
- * @param int $attendance_id
|
|
|
- * @param array $groupList
|
|
|
- * @return int affected rows
|
|
|
+ * @param int $attendanceId
|
|
|
+ * @param array $groupList
|
|
|
+ * @return int affected rows
|
|
|
*/
|
|
|
- public function attendance_calendar_add($attendance_id, $groupList = array())
|
|
|
+ public function attendance_calendar_add($attendanceId, $groupList = array())
|
|
|
{
|
|
|
$tbl_attendance_calendar = Database::get_course_table(TABLE_ATTENDANCE_CALENDAR);
|
|
|
$affected_rows = 0;
|
|
|
- $attendance_id = intval($attendance_id);
|
|
|
+ $attendanceId = intval($attendanceId);
|
|
|
$course_id = api_get_course_int_id();
|
|
|
// check if datetime already exists inside the table
|
|
|
/*$sql = "SELECT id FROM $tbl_attendance_calendar
|
|
|
WHERE
|
|
|
c_id = $course_id AND
|
|
|
date_time='".Database::escape_string($this->date_time)."' AND
|
|
|
- attendance_id = '$attendance_id'";
|
|
|
+ attendance_id = '$attendanceId'";
|
|
|
$rs = Database::query($sql);
|
|
|
if (Database::num_rows($rs) == 0) {*/
|
|
|
$params = array(
|
|
|
'c_id' => $course_id,
|
|
|
'date_time' => $this->date_time,
|
|
|
- 'attendance_id' => $attendance_id,
|
|
|
+ 'attendance_id' => $attendanceId,
|
|
|
'done_attendance' => 0
|
|
|
);
|
|
|
$id = Database::insert($tbl_attendance_calendar, $params);
|
|
@@ -1655,11 +1658,11 @@ class Attendance
|
|
|
//}
|
|
|
|
|
|
// update locked attendance
|
|
|
- $is_all_calendar_done = self::is_all_attendance_calendar_done($attendance_id);
|
|
|
+ $is_all_calendar_done = self::is_all_attendance_calendar_done($attendanceId);
|
|
|
if (!$is_all_calendar_done) {
|
|
|
- self::lock_attendance($attendance_id, false);
|
|
|
+ self::lock_attendance($attendanceId, false);
|
|
|
} else {
|
|
|
- self::lock_attendance($attendance_id);
|
|
|
+ self::lock_attendance($attendanceId);
|
|
|
}
|
|
|
return $affected_rows;
|
|
|
}
|
|
@@ -1747,7 +1750,6 @@ class Attendance
|
|
|
* @param int $calendarId
|
|
|
* @param int $courseId
|
|
|
*
|
|
|
- * @return array
|
|
|
*/
|
|
|
public function deleteAttendanceCalendarGroup($calendarId, $courseId)
|
|
|
{
|
|
@@ -1762,24 +1764,24 @@ class Attendance
|
|
|
|
|
|
/**
|
|
|
* save repeated date inside attendance calendar table
|
|
|
- * @param int $attendance_id
|
|
|
+ * @param int $attendanceId
|
|
|
* @param int $start_date start date in tms
|
|
|
* @param int $end_date end date in tms
|
|
|
* @param string $repeat_type daily, weekly, monthlyByDate
|
|
|
* @param array $groupList
|
|
|
*/
|
|
|
public function attendance_repeat_calendar_add(
|
|
|
- $attendance_id,
|
|
|
+ $attendanceId,
|
|
|
$start_date,
|
|
|
$end_date,
|
|
|
$repeat_type,
|
|
|
$groupList = array()
|
|
|
) {
|
|
|
- $attendance_id = intval($attendance_id);
|
|
|
+ $attendanceId = intval($attendanceId);
|
|
|
// save start date
|
|
|
$datetimezone = api_get_utc_datetime($start_date);
|
|
|
$this->set_date_time($datetimezone);
|
|
|
- $this->attendance_calendar_add($attendance_id, $groupList);
|
|
|
+ $this->attendance_calendar_add($attendanceId, $groupList);
|
|
|
|
|
|
// 86400 = 24 hours in seconds
|
|
|
// 604800 = 1 week in seconds
|
|
@@ -1790,7 +1792,7 @@ class Attendance
|
|
|
for ($i = $start_date + 86400; ($i <= $end_date); $i += 86400) {
|
|
|
$datetimezone = api_get_utc_datetime($i);
|
|
|
$this->set_date_time($datetimezone);
|
|
|
- $this->attendance_calendar_add($attendance_id, $groupList);
|
|
|
+ $this->attendance_calendar_add($attendanceId, $groupList);
|
|
|
$j++;
|
|
|
}
|
|
|
break;
|
|
@@ -1799,7 +1801,7 @@ class Attendance
|
|
|
for ($i = $start_date + 604800; ($i <= $end_date); $i += 604800) {
|
|
|
$datetimezone = api_get_utc_datetime($i);
|
|
|
$this->set_date_time($datetimezone);
|
|
|
- $this->attendance_calendar_add($attendance_id, $groupList);
|
|
|
+ $this->attendance_calendar_add($attendanceId, $groupList);
|
|
|
$j++;
|
|
|
}
|
|
|
break;
|
|
@@ -1809,7 +1811,7 @@ class Attendance
|
|
|
for ($i = $start_date + 2419200; ($i <= $end_date); $i += 2419200) {
|
|
|
$datetimezone = api_get_utc_datetime($i);
|
|
|
$this->set_date_time($datetimezone);
|
|
|
- $this->attendance_calendar_add($attendance_id, $groupList);
|
|
|
+ $this->attendance_calendar_add($attendanceId, $groupList);
|
|
|
$j++;
|
|
|
}
|
|
|
break;
|
|
@@ -1822,18 +1824,18 @@ class Attendance
|
|
|
* @param int attendance id
|
|
|
* @return int affected rows
|
|
|
*/
|
|
|
- public function attendance_calendar_edit($calendar_id, $attendance_id)
|
|
|
+ public function attendance_calendar_edit($calendar_id, $attendanceId)
|
|
|
{
|
|
|
$tbl_attendance_calendar = Database::get_course_table(TABLE_ATTENDANCE_CALENDAR);
|
|
|
$affected_rows = 0;
|
|
|
- $attendance_id = intval($attendance_id);
|
|
|
+ $attendanceId = intval($attendanceId);
|
|
|
$course_id = api_get_course_int_id();
|
|
|
// check if datetime already exists inside the table
|
|
|
$sql = "SELECT id FROM $tbl_attendance_calendar
|
|
|
WHERE
|
|
|
c_id = $course_id AND
|
|
|
date_time = '".Database::escape_string($this->date_time)."' AND
|
|
|
- attendance_id = '$attendance_id'";
|
|
|
+ attendance_id = '$attendanceId'";
|
|
|
$rs = Database::query($sql);
|
|
|
|
|
|
if (Database::num_rows($rs) == 0) {
|
|
@@ -1844,11 +1846,11 @@ class Attendance
|
|
|
}
|
|
|
|
|
|
// update locked attendance
|
|
|
- $is_all_calendar_done = self::is_all_attendance_calendar_done($attendance_id);
|
|
|
+ $is_all_calendar_done = self::is_all_attendance_calendar_done($attendanceId);
|
|
|
if (!$is_all_calendar_done) {
|
|
|
- self::lock_attendance($attendance_id, false);
|
|
|
+ self::lock_attendance($attendanceId, false);
|
|
|
} else {
|
|
|
- self::lock_attendance($attendance_id);
|
|
|
+ self::lock_attendance($attendanceId);
|
|
|
}
|
|
|
|
|
|
return $affected_rows;
|
|
@@ -1863,20 +1865,20 @@ class Attendance
|
|
|
*/
|
|
|
public function attendance_calendar_delete(
|
|
|
$calendar_id,
|
|
|
- $attendance_id,
|
|
|
+ $attendanceId,
|
|
|
$all_delete = false
|
|
|
) {
|
|
|
$tbl_attendance_calendar = Database::get_course_table(TABLE_ATTENDANCE_CALENDAR);
|
|
|
$tbl_attendance_sheet = Database::get_course_table(TABLE_ATTENDANCE_SHEET);
|
|
|
|
|
|
- $attendance_id = intval($attendance_id);
|
|
|
+ $attendanceId = intval($attendanceId);
|
|
|
// get all registered users inside current course
|
|
|
$users = $this->get_users_rel_course();
|
|
|
$user_ids = array_keys($users);
|
|
|
$course_id = api_get_course_int_id();
|
|
|
$affected_rows = 0;
|
|
|
if ($all_delete) {
|
|
|
- $attendance_calendar = $this->get_attendance_calendar($attendance_id);
|
|
|
+ $attendance_calendar = $this->get_attendance_calendar($attendanceId);
|
|
|
// get all dates from calendar by current attendance
|
|
|
if (!empty($attendance_calendar)) {
|
|
|
foreach ($attendance_calendar as $cal) {
|
|
@@ -1908,7 +1910,7 @@ class Attendance
|
|
|
}
|
|
|
|
|
|
// update users' results
|
|
|
- $this->updateUsersResults($user_ids, $attendance_id);
|
|
|
+ $this->updateUsersResults($user_ids, $attendanceId);
|
|
|
|
|
|
return $affected_rows;
|
|
|
}
|