Minor performance improvements

skala
Julio Montoya 16 years ago
parent 662af716a5
commit 321f44886e
  1. 48
      main/attendance/index.php
  2. 19
      main/inc/lib/attendance.lib.php

@ -5,6 +5,8 @@
* Template (front controller in MVC pattern) used for distpaching to the controllers depend on the current action
* @author Christian Fasanando <christian1827@gmail.com>
* @author Carlos Vargas (link to attendance tool )<litox84@gmail.com>
* @author Julio Montoya <gugli100@gmail.com> Bug fixing, sql improvements
*
* @package chamilo.attendance
*/
@ -179,25 +181,33 @@ if (isset($_POST['action']) && $_POST['action'] == 'attendance_delete_select') {
// distpacher actions to controller
switch ($action) {
case 'attendance_list' : $attendance_controller->attendance_list();
break;
case 'attendance_add' : $attendance_controller->attendance_add();
break;
case 'attendance_edit' : $attendance_controller->attendance_edit($attendance_id);
break;
case 'attendance_delete' : $attendance_controller->attendance_delete($attendance_id);
break;
case 'attendance_sheet_list' : $attendance_controller->attendance_sheet($action, $attendance_id, $student_id);
break;
case 'attendance_sheet_add' : $attendance_controller->attendance_sheet($action, $attendance_id);
break;
case 'calendar_list' :
case 'calendar_add' :
case 'calendar_edit' :
case 'calendar_all_delete' :
case 'calendar_delete' : $attendance_controller->attendance_calendar($action, $attendance_id, $calendar_id);
break;
default : $attendance_controller->attendance_list();
case 'attendance_list' :
$attendance_controller->attendance_list();
break;
case 'attendance_add' :
$attendance_controller->attendance_add();
break;
case 'attendance_edit' :
$attendance_controller->attendance_edit($attendance_id);
break;
case 'attendance_delete':
$attendance_controller->attendance_delete($attendance_id);
break;
case 'attendance_sheet_list':
$attendance_controller->attendance_sheet($action, $attendance_id, $student_id);
break;
case 'attendance_sheet_add' :
$attendance_controller->attendance_sheet($action, $attendance_id);
break;
case 'calendar_list' :
case 'calendar_add' :
case 'calendar_edit' :
case 'calendar_all_delete':
case 'calendar_delete' :
$attendance_controller->attendance_calendar($action, $attendance_id, $calendar_id);
break;
default :
$attendance_controller->attendance_list();
}
?>

@ -499,7 +499,8 @@ class Attendance
public function get_faults_average_inside_courses($user_id) {
// get all courses of current user
$courses = CourseManager::get_courses_list_by_user_id($user_id, true);
$courses = CourseManager::get_courses_list_by_user_id($user_id, true);
$user_id = intval($user_id);
$results = array();
$total_faults = $total_weight = $porcent = 0;
@ -507,13 +508,13 @@ class Attendance
//$course_code = $course['code'];
//$course_info = api_get_course_info($course_code);
$tbl_attendance_result = Database::get_course_table(TABLE_ATTENDANCE_RESULT, $course['db_name']);
$attendances_by_course = $this->get_attendances_list($course['db_name']);
foreach ($attendances_by_course as $attendance) {
// get total faults and total weight
$attendance_id = $attendance['id'];
foreach ($attendances_by_course as $attendance) {
// get total faults and total weight
$total_done_attendance = $attendance['attendance_qualify_max'];
$sql = "SELECT score FROM $tbl_attendance_result WHERE user_id='$user_id' AND attendance_id='$attendance_id'";
$sql = "SELECT score FROM $tbl_attendance_result WHERE user_id=$user_id AND attendance_id=".$attendance['id'];
$rs = Database::query($sql);
$score = 0;
if (Database::num_rows($rs) > 0) {
@ -553,10 +554,9 @@ class Attendance
$attendances_by_course = $this->get_attendances_list($course_info['dbName'], $session_id);
foreach ($attendances_by_course as $attendance) {
// get total faults and total weight
$attendance_id = $attendance['id'];
// Get total faults and total weight
$total_done_attendance = $attendance['attendance_qualify_max'];
$sql = "SELECT score FROM $tbl_attendance_result WHERE user_id='$user_id' AND attendance_id='$attendance_id'";
$sql = "SELECT score FROM $tbl_attendance_result WHERE user_id=$user_id AND attendance_id=".$attendance['id'];
$rs = Database::query($sql);
$score = 0;
if (Database::num_rows($rs) > 0) {
@ -587,8 +587,7 @@ class Attendance
global $dateTimeFormatLong;
$tbl_attendance_sheet = Database::get_course_table(TABLE_ATTENDANCE_SHEET);
$tbl_attendance_calendar= Database::get_course_table(TABLE_ATTENDANCE_CALENDAR);
$attendance_id = intval($attendance_id);
$attendance_calendar = $this->get_attendance_calendar($attendance_id);
$calendar_ids = array();
// get all dates from calendar by current attendance

Loading…
Cancel
Save