Improvement of Student info: Now the client is allow to activate the options (‘progress’,’score’,’certificate’) individually.

pull/2487/head
Rafa 9 years ago
parent 8fbbe40f19
commit e5b740666c
  1. 260
      main/inc/lib/userportal.lib.php
  2. 4
      main/install/configuration.dist.php

@ -1168,69 +1168,94 @@ class IndexManager
//Course option (show student progress)
//This code will add new variables (Progress, Score, Certificate)
if (api_get_configuration_value('my_course_progress') === true && api_is_student() === true) {
if (isset(api_get_configuration_value('course_student_info')['progress']) ||
isset(api_get_configuration_value('course_student_info')['score']) ||
isset(api_get_configuration_value('course_student_info')['certificate'])) {
foreach ($specialCourses as $key => $specialCourseInfo) {
$progress = Tracking::get_avg_student_progress(
$user_id,
$specialCourseInfo['course_code']
);
$percentage_score = Tracking::get_avg_student_score(
$user_id,
$specialCourseInfo['course_code'],
array()
);
$specialCourses[$key]['student_info']['progress'] = ($progress === false)? null : $progress;
$specialCourses[$key]['student_info']['score'] = $percentage_score;
if (isset(api_get_configuration_value('course_student_info')['progress']) &&
api_get_configuration_value('course_student_info')['progress'] === true) {
$progress = Tracking::get_avg_student_progress(
$user_id,
$specialCourseInfo['course_code']
);
$specialCourses[$key]['student_info']['progress'] = ($progress === false)? null : $progress;
}
$category = Category::load(
null,
null,
$specialCourseInfo['course_code'],
null,
null,
null
);
$specialCourses[$key]['student_info']['certificate'] = null;
if (isset($category[0])) {
if ($category[0]->is_certificate_available($user_id)) {
$specialCourses[$key]['student_info']['certificate'] = Display::label(get_lang('Yes'), 'success');
} else {
$specialCourses[$key]['student_info']['certificate'] = Display::label(get_lang('No'));
if (isset(api_get_configuration_value('course_student_info')['score']) &&
api_get_configuration_value('course_student_info')['score'] === true) {
$percentage_score = Tracking::get_avg_student_score(
$user_id,
$specialCourseInfo['course_code'],
array()
);
$specialCourses[ $key ]['student_info']['score'] = $percentage_score;
}
if (isset(api_get_configuration_value('course_student_info')['certificate']) &&
api_get_configuration_value('course_student_info')['certificate'] === true) {
$category = Category::load(
null,
null,
$specialCourseInfo['course_code'],
null,
null,
null
);
$specialCourses[ $key ]['student_info']['certificate'] = null;
if ( isset( $category[0] ) ) {
if ( $category[0]->is_certificate_available( $user_id ) ) {
$specialCourses[ $key ]['student_info']['certificate'] = Display::label( get_lang( 'Yes' ), 'success' );
} else {
$specialCourses[ $key ]['student_info']['certificate'] = Display::label( get_lang( 'No' ) );
}
}
}
}
if (isset($courses['in_category']) && isset($courses['not_category'])) {
foreach ($courses['in_category'] as $key1 => $value) {
if (isset($courses['in_category'][$key1]['courses'])) {
foreach ($courses['in_category'][$key1]['courses'] as $key2 => $courseInCatInfo) {
$progress = Tracking::get_avg_student_progress(
$user_id,
$courseInCatInfo['course_code']
);
$percentage_score = Tracking::get_avg_student_score(
$user_id,
$specialCourseInfo['course_code'],
array()
);
$courses['in_category'][$key1]['courses'][$key2]['student_info']['progress'] = ($progress === false)? null : $progress;
$courses['in_category'][$key1]['courses'][$key2]['student_info']['score'] = $percentage_score;
if (isset(api_get_configuration_value('course_student_info')['progress']) &&
api_get_configuration_value('course_student_info')['progress'] === true) {
$progress = Tracking::get_avg_student_progress(
$user_id,
$courseInCatInfo['course_code']
);
$courses['in_category'][$key1]['courses'][$key2]['student_info']['progress'] = ($progress === false)? null : $progress;
}
$category = Category::load(
null,
null,
$courseInCatInfo['course_code'],
null,
null,
null
);
$courses['in_category'][ $key1 ]['student_info']['certificate'] = null;
if (isset($category[0])) {
if ($category[0]->is_certificate_available($user_id)) {
$courses['in_category'][ $key1 ]['student_info']['certificate'] = Display::label(get_lang('Yes'), 'success');
} else {
$courses['in_category'][ $key1 ]['student_info']['certificate'] = Display::label(get_lang('No'));
if (isset(api_get_configuration_value('course_student_info')['score']) &&
api_get_configuration_value('course_student_info')['score'] === true) {
$percentage_score = Tracking::get_avg_student_score(
$user_id,
$specialCourseInfo['course_code'],
array()
);
$courses['in_category'][$key1]['courses'][$key2]['student_info']['score'] = $percentage_score;
}
if (isset(api_get_configuration_value('course_student_info')['certificate']) &&
api_get_configuration_value('course_student_info')['certificate'] === true) {
$category = Category::load(
null,
null,
$courseInCatInfo['course_code'],
null,
null,
null
);
$courses['in_category'][ $key1 ]['student_info']['certificate'] = null;
if ( isset( $category[0] ) ) {
if ( $category[0]->is_certificate_available( $user_id ) ) {
$courses['in_category'][ $key1 ]['student_info']['certificate'] = Display::label( get_lang( 'Yes' ), 'success' );
} else {
$courses['in_category'][ $key1 ]['student_info']['certificate'] = Display::label( get_lang( 'No' ) );
}
}
}
@ -1238,32 +1263,43 @@ class IndexManager
}
}
foreach ($courses['not_category'] as $key => $courseNotInCatInfo) {
$progress = Tracking::get_avg_student_progress(
$user_id,
$courseNotInCatInfo['course_code']
);
$percentage_score = Tracking::get_avg_student_score(
$user_id,
$courseNotInCatInfo['course_code'],
array()
);
$courses['not_category'][ $key ]['student_info']['progress'] = ($progress === false)? null : $progress;
$courses['not_category'][ $key ]['student_info']['score'] = $percentage_score;
$category = Category::load(
null,
null,
$courseNotInCatInfo['course_code'],
null,
null,
null
);
$courses['not_category'][ $key ]['student_info']['certificate'] = null;
if (isset($category[0])) {
if ($category[0]->is_certificate_available($user_id)) {
$courses['not_category'][ $key ]['student_info']['certificate'] = Display::label(get_lang('Yes'), 'success');
} else {
$courses['not_category'][ $key ]['student_info']['certificate'] = Display::label(get_lang('No'));
if (isset(api_get_configuration_value('course_student_info')['progress']) &&
api_get_configuration_value('course_student_info')['progress'] === true) {
$progress = Tracking::get_avg_student_progress(
$user_id,
$courseNotInCatInfo['course_code']
);
$courses['not_category'][ $key ]['student_info']['progress'] = ($progress === false)? null : $progress;
}
if (isset(api_get_configuration_value('course_student_info')['score']) &&
api_get_configuration_value('course_student_info')['score'] === true) {
$percentage_score = Tracking::get_avg_student_score(
$user_id,
$courseNotInCatInfo['course_code'],
array()
);
$courses['not_category'][ $key ]['student_info']['score'] = $percentage_score;
}
if (isset(api_get_configuration_value('course_student_info')['certificate']) &&
api_get_configuration_value('course_student_info')['certificate'] === true) {
$category = Category::load(
null,
null,
$courseNotInCatInfo['course_code'],
null,
null,
null
);
$courses['not_category'][ $key ]['student_info']['certificate'] = null;
if (isset($category[0])) {
if ($category[0]->is_certificate_available($user_id)) {
$courses['not_category'][ $key ]['student_info']['certificate'] = Display::label(get_lang('Yes'), 'success');
} else {
$courses['not_category'][ $key ]['student_info']['certificate'] = Display::label(get_lang('No'));
}
}
}
@ -1394,38 +1430,52 @@ class IndexManager
//Course option (show student progress)
//This code will add new variables (Progress, Score, Certificate)
if (api_get_configuration_value('my_course_progress') === true && api_is_student() === true) {
$progress = Tracking::get_avg_student_progress(
$user_id,
$course['course_code'],
array(),
$session_id
);
$percentage_score = Tracking::get_avg_student_score(
$user_id,
$course['course_code'],
array(),
$session_id
);
$course_session['student_info']['progress'] = ($progress === false)? null : $progress;
$course_session['student_info']['score'] = $percentage_score;
if (isset(api_get_configuration_value('course_student_info')['progress']) ||
isset(api_get_configuration_value('course_student_info')['score']) ||
isset(api_get_configuration_value('course_student_info')['certificate'])) {
$category = Category::load(
null,
null,
$course['course_code'],
null,
null,
$session_id
);
$course_session['student_info']['certificate'] = null;
if (isset($category[0])) {
if ($category[0]->is_certificate_available($user_id)) {
$course_session['student_info']['certificate'] = Display::label(get_lang('Yes'), 'success');
} else {
$course_session['student_info']['certificate'] = Display::label(get_lang('No'));
if (isset(api_get_configuration_value('course_student_info')['progress']) &&
api_get_configuration_value('course_student_info')['progress'] === true) {
$progress = Tracking::get_avg_student_progress(
$user_id,
$course['course_code'],
array(),
$session_id
);
$course_session['student_info']['progress'] = ($progress === false)? null : $progress;
}
if (isset(api_get_configuration_value('course_student_info')['score']) &&
api_get_configuration_value('course_student_info')['score'] === true) {
$percentage_score = Tracking::get_avg_student_score(
$user_id,
$course['course_code'],
array(),
$session_id
);
$course_session['student_info']['score'] = $percentage_score;
}
if (isset(api_get_configuration_value('course_student_info')['certificate']) &&
api_get_configuration_value('course_student_info')['certificate'] === true) {
$category = Category::load(
null,
null,
$course['course_code'],
null,
null,
$session_id
);
$course_session['student_info']['certificate'] = null;
if (isset($category[0])) {
if ($category[0]->is_certificate_available($user_id)) {
$course_session['student_info']['certificate'] = Display::label(get_lang('Yes'), 'success');
} else {
$course_session['student_info']['certificate'] = Display::label(get_lang('No'));
}
}
}
}
$html_courses_session[] = $course_session;

@ -284,7 +284,9 @@ $_configuration['system_stable'] = NEW_VERSION_STABLE;
// Prevents the duplicate upload in assignments
// $_configuration['assignment_prevent_duplicate_upload'] = false;
//Show student progress in My courses page
//$_configuration['my_course_progress'] = false;
//$_configuration['course_student_info']['score'] = false;
//$_configuration['course_student_info']['progress'] = false;
//$_configuration['course_student_info']['certificate'] = false;
// Set ConsideredWorkingTime work extra field variable to show in MyStudents page works report
// (with internal id 'work_time' as below) and enable the following line to show in MyStudents page works report
// $_configuration['considered_working_time'] = 'work_time';

Loading…
Cancel
Save