Remove unused build_datetime_from_array, fix dates.

1.10.x
Julio Montoya 9 years ago
parent a5b4f26fa9
commit 8b3b37451d
  1. 8
      main/attendance/attendance_controller.php
  2. 203
      main/inc/lib/attendance.lib.php
  3. 11
      main/inc/lib/thematic.lib.php

@ -379,7 +379,7 @@ class AttendanceController
$repeat_type = $_POST['repeat_type'];
if (($end_datetime > $start_datetime) && $checkdate) {
$affected_rows = $attendance->attendance_repeat_calendar_add(
$attendance->attendance_repeat_calendar_add(
$attendance_id,
$start_datetime,
$end_datetime,
@ -401,7 +401,7 @@ class AttendanceController
$datetimezone = api_get_utc_datetime($datetime);
if (!empty($datetime)) {
$attendance->set_date_time($datetimezone);
$affected_rows = $attendance->attendance_calendar_add($attendance_id, $groupList);
$attendance->attendance_calendar_add($attendance_id, $groupList);
$action = 'calendar_list';
} else {
$data['error_date'] = true;
@ -416,10 +416,10 @@ class AttendanceController
$data['calendar_id'] = $calendar_id;
if (strtoupper($_SERVER['REQUEST_METHOD']) == "POST") {
if (!isset($_POST['cancel'])) {
$datetime = $attendance->build_datetime_from_array($_POST['date_time']);
$datetime = $_POST['date_time'];
$datetimezone = api_get_utc_datetime($datetime);
$attendance->set_date_time($datetimezone);
$affected_rows = $attendance->attendance_calendar_edit($calendar_id, $attendance_id);
$attendance->attendance_calendar_edit($calendar_id, $attendance_id);
$data['calendar_id'] = 0;
$action = 'calendar_list';
} else {

@ -296,8 +296,8 @@ class Attendance
$course_code = $_course['code'];
$course_id = $_course['real_id'];
$title_gradebook= $this->attendance_qualify_title;
$value_calification = 0;
$weight_calification = floatval($this->attendance_weight);
$value_calification = 0;
$weight_calification = floatval($this->attendance_weight);
$params = [
'c_id' => $course_id,
@ -326,7 +326,12 @@ class Attendance
// add link to gradebook
if ($link_to_gradebook && !empty($this->category_id)) {
$description = '';
$link_info = GradebookUtils::is_resource_in_course_gradebook($course_code,7,$last_id,$session_id);
$link_info = GradebookUtils::is_resource_in_course_gradebook(
$course_code,
7,
$last_id,
$session_id
);
$link_id = $link_info['id'];
if (!$link_info) {
GradebookUtils::add_resource_to_course_gradebook(
@ -357,35 +362,51 @@ class Attendance
public function attendance_edit($attendance_id, $link_to_gradebook = false)
{
$_course = api_get_course_info();
$tbl_attendance = Database :: get_course_table(TABLE_ATTENDANCE);
$table_link = Database :: get_main_table(TABLE_MAIN_GRADEBOOK_LINK);
$session_id = api_get_session_id();
$user_id = api_get_user_id();
$attendance_id = intval($attendance_id);
$course_code = $_course['code'];
$course_id = $_course['real_id'];
$title_gradebook = Database::escape_string($this->attendance_qualify_title);
$tbl_attendance = Database:: get_course_table(TABLE_ATTENDANCE);
$table_link = Database:: get_main_table(TABLE_MAIN_GRADEBOOK_LINK);
$session_id = api_get_session_id();
$user_id = api_get_user_id();
$attendance_id = intval($attendance_id);
$course_code = $_course['code'];
$course_id = $_course['real_id'];
$title_gradebook = $this->attendance_qualify_title;
$value_calification = 0;
$weight_calification= floatval($this->attendance_weight);
$weight_calification = floatval($this->attendance_weight);
if (!empty($attendance_id)) {
$sql = "UPDATE $tbl_attendance
SET name ='".Database::escape_string($this->name)."',
description = '".Database::escape_string($this->description)."',
attendance_qualify_title = '".$title_gradebook."',
attendance_weight = '".$weight_calification."'
WHERE c_id = $course_id AND id = '$attendance_id'";
Database::query($sql);
$params = [
'name' => $this->name,
'description' => $this->description,
'attendance_qualify_title' => $title_gradebook,
'attendance_weight' => $weight_calification
];
Database::update(
$tbl_attendance,
$params,
['c_id = ? AND id = ?' => [$course_id, $attendance_id]]
);
api_item_property_update($_course, TOOL_ATTENDANCE, $attendance_id,"AttendanceUpdated", $user_id);
api_item_property_update(
$_course,
TOOL_ATTENDANCE,
$attendance_id,
"AttendanceUpdated",
$user_id
);
// add link to gradebook
if ($link_to_gradebook && !empty($this->category_id)) {
$description = '';
$link_id = is_resource_in_course_gradebook($course_code, 7, $attendance_id, $session_id);
$link_id = GradebookUtils::is_resource_in_course_gradebook(
$course_code,
7,
$attendance_id,
$session_id
);
if (!$link_id) {
add_resource_to_course_gradebook(
GradebookUtils::add_resource_to_course_gradebook(
$this->category_id,
$course_code,
7,
@ -426,7 +447,13 @@ class Attendance
$affected_rows = Database::affected_rows($result);
if (!empty($affected_rows)) {
// update row item property table
api_item_property_update($_course, TOOL_ATTENDANCE, $id,"restore", $user_id);
api_item_property_update(
$_course,
TOOL_ATTENDANCE,
$id,
"restore",
$user_id
);
}
}
} else {
@ -437,7 +464,13 @@ class Attendance
$affected_rows = Database::affected_rows($result);
if (!empty($affected_rows)) {
// update row item property table
api_item_property_update($_course, TOOL_ATTENDANCE, $attendance_id,"restore", $user_id);
api_item_property_update(
$_course,
TOOL_ATTENDANCE,
$attendance_id,
"restore",
$user_id
);
}
}
@ -453,8 +486,8 @@ class Attendance
{
$_course = api_get_course_info();
$tbl_attendance = Database :: get_course_table(TABLE_ATTENDANCE);
$user_id = api_get_user_id();
$course_id = $_course['real_id'];
$user_id = api_get_user_id();
$course_id = $_course['real_id'];
if (is_array($attendance_id)) {
foreach ($attendance_id as $id) {
$id = intval($id);
@ -464,7 +497,13 @@ class Attendance
$affected_rows = Database::affected_rows($result);
if (!empty($affected_rows)) {
// update row item property table
api_item_property_update($_course, TOOL_ATTENDANCE, $id, "delete", $user_id);
api_item_property_update(
$_course,
TOOL_ATTENDANCE,
$id,
"delete",
$user_id
);
}
}
} else {
@ -484,13 +523,15 @@ class Attendance
);
}
}
return $affected_rows;
}
/**
* Changes visibility
* @param int|array $attendanceId one or many attendances id
* @param status
* @param int|array $attendanceId one or many attendances id
* @param int status
*
* @return int affected rows
*/
public function changeVisibility($attendanceId, $status = 1)
@ -555,8 +596,8 @@ class Attendance
$result = Database::query($upd);
$affected_rows = Database::affected_rows($result);
if ($affected_rows && $lock) {
//save attendance sheet log
$lastedit_date = Date('Y-m-d H:i:s');
// Save attendance sheet log
$lastedit_date = api_get_utc_datetime();
$lastedit_type = self::LOCKED_ATTENDANCE_LOG_TYPE;
$lastedit_user_id = api_get_user_id();
$this->save_attendance_sheet_log(
@ -680,8 +721,6 @@ class Attendance
{
$tbl_attendance_sheet = Database::get_course_table(TABLE_ATTENDANCE_SHEET);
$tbl_attendance_calendar= Database::get_course_table(TABLE_ATTENDANCE_CALENDAR);
$tbl_attendance_result = Database::get_course_table(TABLE_ATTENDANCE_RESULT);
$tbl_attendance = Database::get_course_table(TABLE_ATTENDANCE);
$calendar_id = intval($calendar_id);
$attendance_id = intval($attendance_id);
@ -766,7 +805,7 @@ class Attendance
if ($affected_rows) {
//save attendance sheet log
$lastedit_date = Date('Y-m-d H:i:s');
$lastedit_date = api_get_utc_datetime();
$lastedit_user_id = api_get_user_id();
$calendar_date_value = $calendar_data['date_time'];
$this->save_attendance_sheet_log(
@ -789,15 +828,20 @@ class Attendance
*/
public function update_users_results($user_ids, $attendance_id)
{
$tbl_attendance_sheet = Database::get_course_table(TABLE_ATTENDANCE_SHEET);
$tbl_attendance_calendar= Database::get_course_table(TABLE_ATTENDANCE_CALENDAR);
$tbl_attendance_result = Database::get_course_table(TABLE_ATTENDANCE_RESULT);
$tbl_attendance = Database::get_course_table(TABLE_ATTENDANCE);
$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);
// fill results about presence of students
$attendance_calendar = $this->get_attendance_calendar($attendance_id, 'all', null, null, true);
$attendance_calendar = $this->get_attendance_calendar(
$attendance_id,
'all',
null,
null,
true
);
$calendar_ids = array();
// get all dates from calendar by current attendance
foreach ($attendance_calendar as $cal) {
@ -875,8 +919,13 @@ class Attendance
* @param string Calendar datetime value (optional, when event type is 'done_attendance_sheet')
* @return int Affected rows
*/
public function save_attendance_sheet_log($attendance_id, $lastedit_date, $lastedit_type, $lastedit_user_id, $calendar_date_value = null)
{
public function save_attendance_sheet_log(
$attendance_id,
$lastedit_date,
$lastedit_type,
$lastedit_user_id,
$calendar_date_value = null
) {
$course_id = api_get_course_int_id();
// define table
@ -884,28 +933,30 @@ class Attendance
// protect data
$attendance_id = intval($attendance_id);
$lastedit_date = Database::escape_string($lastedit_date);
$lastedit_type = Database::escape_string($lastedit_type);
$lastedit_user_id = intval($lastedit_user_id);
if (isset($calendar_date_value)) {
$calendar_date_value = Database::escape_string($calendar_date_value);
$calendar_date_value = $calendar_date_value;
} else {
$calendar_date_value = '';
}
// save data
$ins = "INSERT INTO $tbl_attendance_sheet_log (c_id, attendance_id, lastedit_date, lastedit_type, lastedit_user_id, calendar_date_value)
VALUES ($course_id, $attendance_id, '$lastedit_date', '$lastedit_type', $lastedit_user_id, '$calendar_date_value')";
$result = Database::query($ins);
$insertId = Database::insert_id();
$sql = "UPDATE $tbl_attendance_sheet_log SET id = iid WHERE iid = $insertId";
Database::query($sql);
$params = [
'c_id' => $course_id,
'attendance_id' => $attendance_id,
'lastedit_date' => $lastedit_date,
'lastedit_type' => $lastedit_type,
'lastedit_user_id' => $lastedit_user_id,
'calendar_date_value' => $calendar_date_value,
];
$insertId = Database::insert($tbl_attendance_sheet_log, $params);
if ($insertId) {
$sql = "UPDATE $tbl_attendance_sheet_log SET id = iid WHERE iid = $insertId";
Database::query($sql);
}
return Database::affected_rows($result);
return $insertId;
}
/**
@ -920,7 +971,11 @@ class Attendance
$course_id = api_get_course_int_id();
$sql = "SELECT count(done_attendance) as count
FROM $tbl_attendance_calendar
WHERE c_id = $course_id AND attendance_id = '$attendance_id' AND done_attendance=1";
WHERE
c_id = $course_id AND
attendance_id = '$attendance_id' AND
done_attendance = 1
";
$rs = Database::query($sql);
$row = Database::fetch_array($rs);
$count = $row['count'];
@ -941,7 +996,6 @@ class Attendance
$user_id = intval($user_id);
$attendance_id = intval($attendance_id);
$results = array();
$attendance_data = $this->get_attendance_by_id($attendance_id);
$calendar_count = self::get_number_of_attendance_calendar($attendance_id, $groupId, NULL, $user_id);
// $total_done_attendance = $attendance_data['attendance_qualify_max'];
$total_done_attendance = self::get_number_of_attendance_calendar($attendance_id, $groupId, true, $user_id);
@ -1068,6 +1122,7 @@ class Attendance
$results['faults'] = $total_faults;
$results['total'] = $total_weight;
$results['porcent'] = $porcent;
return $results;
}
@ -1188,6 +1243,7 @@ class Attendance
$row = Database::fetch_array($rs);
$next_calendar_datetime = api_get_local_time($row['date_time']);
}
return $next_calendar_datetime;
}
@ -1235,6 +1291,7 @@ class Attendance
$row = Database::fetch_array($rs);
$score = $row['score'];
}
return $score;
}
@ -1258,6 +1315,7 @@ class Attendance
$data = $row;
}
}
return $data;
}
@ -1278,9 +1336,8 @@ class Attendance
$groupId = null,
$showAll = false
) {
global $dateFormatShort, $timeNoSecFormat;
$tbl_attendance_calendar = Database::get_course_table(TABLE_ATTENDANCE_CALENDAR);
$tbl_acrg = Database::get_course_table(TABLE_ATTENDANCE_CALENDAR_REL_GROUP);
$tbl_acrg = Database::get_course_table(TABLE_ATTENDANCE_CALENDAR_REL_GROUP);
$attendance_id = intval($attendance_id);
$course_id = api_get_course_int_id();
$groupCondition = null;
@ -1305,10 +1362,11 @@ class Attendance
$sql = "SELECT c.* FROM $tbl_attendance_calendar c
INNER JOIN $tbl_acrg g
ON c.c_id = g.c_id AND c.id = g.calendar_id
WHERE c.c_id = $course_id AND
g.group_id = '$groupId' AND
c.attendance_id = '$attendance_id'
";
WHERE
c.c_id = $course_id AND
g.group_id = '$groupId' AND
c.attendance_id = '$attendance_id'
";
}
if (!in_array($type, array('today', 'all', 'all_done', 'all_not_done','calendar_id'))) {
@ -1355,6 +1413,7 @@ class Attendance
}
}
}
return $data;
}
@ -1549,7 +1608,7 @@ class Attendance
/**
* @param int $calendarId
* @param int $courseId
* @param int $courseId
* @param array $groupList
*/
public function addAttendanceCalendarToGroup($calendarId, $courseId, $groupList)
@ -1627,6 +1686,7 @@ class Attendance
* @param int $calendarId
* @param int $courseId
* @param int $groupId
*
* @return array
*/
public function deleteAttendanceCalendarGroup($calendarId, $courseId)
@ -1659,7 +1719,7 @@ class Attendance
// save start date
$datetimezone = api_get_utc_datetime($start_date);
$this->set_date_time($datetimezone);
$res = $this->attendance_calendar_add($attendance_id, $groupList);
$this->attendance_calendar_add($attendance_id, $groupList);
// 86400 = 24 hours in seconds
// 604800 = 1 week in seconds
@ -1741,12 +1801,12 @@ class Attendance
date_time = '".Database::escape_string($this->date_time)."' AND
attendance_id = '$attendance_id'";
$rs = Database::query($sql);
if (Database::num_rows($rs) == 0) {
$sql = "UPDATE $tbl_attendance_calendar
SET date_time='".Database::escape_string($this->date_time)."'
WHERE c_id = $course_id AND id = '".intval($calendar_id)."'";
$result = Database::query($sql);
$affected_rows = Database::affected_rows($result);
Database::query($sql);
}
// update locked attendance
@ -1816,17 +1876,6 @@ class Attendance
return $affected_rows;
}
/**
* buid a string datetime from array
* @param array array containing data e.g:
* $array('Y'=>'2010', 'F' => '02', 'd' => '10', 'H' => '12', 'i' => '30')
* @return string date and time e.g: '2010-02-10 12:30:00'
*/
public function build_datetime_from_array($array)
{
return return_datetime_from_array($array);
}
/** Setters for fields of attendances tables **/
public function set_session_id($session_id)
{

@ -1482,15 +1482,4 @@ class Thematic
return $question;
}
/**
* buid a string datetime from array
* @param array array containing data
* e.g: $array('Y'=>'2010', 'F' => '02', 'd' => '10', 'H' => '12', 'i' => '30')
* @return string date and time e.g: '2010-02-10 12:30:00'
*/
public function build_datetime_from_array($array)
{
return return_datetime_from_array($array);
}
}

Loading…
Cancel
Save