pregress overview report BT#7016

1.9.x
César Perales 12 years ago
parent 823657dca7
commit 74df296437
  1. 5
      main/inc/ajax/model.ajax.php
  2. 27
      main/inc/lib/sessionmanager.lib.php
  3. 10
      main/mySpace/index.php
  4. 4
      main/mySpace/myspace.lib.php

@ -709,11 +709,12 @@ switch ($action) {
'surveys_progress' ,
);
$sessionId = 0;
if (isset($_GET['session_id']) && !empty($_GET['session_id']))
if (!empty($_GET['course_id']) && !empty($_GET['session_id']))
{
$sessionId = intval($_GET['session_id']);
$courseId = intval($_GET['course_id']);
}
$result = SessionManager::get_session_progress($sessionId,
$result = SessionManager::get_session_progress($sessionId, $courseId,
array(
'where' => $where_condition,
'order' => "$sidx $sord",

@ -678,7 +678,7 @@ class SessionManager
* @param array options order and limit keys
* @return array table with user name, lp name, progress
*/
public static function get_session_progress($sessionId, $options)
public static function get_session_progress($sessionId, $courseId, $options)
{
//tables
@ -693,11 +693,7 @@ class SessionManager
$table_stats_default = Database::get_statistic_table(TABLE_STATISTIC_TRACK_E_DEFAULT);
$table_stats_access = Database::get_statistic_table(TABLE_STATISTIC_TRACK_E_ACCESS);
$courses = SessionManager::get_course_list_by_session_id($sessionId);
//TODO let select course
$course = current($courses);
//TODO fix this
$course_info = array('real_id' => $course['id']);
$course = api_get_course_info_by_id($courseId);
//getting all the students of the course
//we are not using this because it only returns user ids
@ -730,7 +726,6 @@ class SessionManager
FROM $session_course_user s
INNER JOIN $user u ON u.user_id = s.id_user
$where $order $limit";
$sql_query = sprintf($sql, $course['code'], $sessionId);
$rs = Database::query($sql_query);
@ -744,7 +739,7 @@ class SessionManager
*/
$sql = "SELECT * FROM $tbl_course_lp
WHERE c_id = %s "; //AND session_id = %s
$sql_query = sprintf($sql, $course_info['real_id']);
$sql_query = sprintf($sql, $course['id']);
$result = Database::query($sql_query);
$lessons_total = 0;
while ($row = Database::fetch_array($result))
@ -773,7 +768,7 @@ class SessionManager
AND parent_id = 0
AND active IN (1, 0)
AND session_id = %s";
$sql_query = sprintf($sql, $course_info['real_id'], $sessionId);
$sql_query = sprintf($sql, $course['real_id'], $sessionId);
$result = Database::query($sql_query);
$row = Database::fetch_array($result);
$assignments_total = $row['count'];
@ -783,7 +778,7 @@ class SessionManager
*/
$sql = "SELECT count(distinct page_id) as count FROM $wiki
WHERE c_id = %s and session_id = %s";
$sql_query = sprintf($sql, $course_info['real_id'], $sessionId);
$sql_query = sprintf($sql, $course['real_id'], $sessionId);
$result = Database::query($sql_query);
$row = Database::fetch_array($result);
$wiki_total = $row['count'];
@ -798,7 +793,7 @@ class SessionManager
$survey_data = array();
foreach ($survey_list as $survey)
{
$user_list = survey_manager::get_people_who_filled_survey($survey['survey_id'], false, $course_info['real_id']);
$user_list = survey_manager::get_people_who_filled_survey($survey['survey_id'], false, $course['real_id']);
foreach ($user_list as $user_id)
{
isset($survey_user_list[$user_id]) ? $survey_user_list[$user_id]++ : $survey_user_list[$user_id] = 1;
@ -811,7 +806,7 @@ class SessionManager
$sql = "SELECT count(*) as count
FROM $forum f
where f.c_id = %s and f.session_id = %s";
$sql_query = sprintf($sql, $course_info['real_id'], $sessionId);
$sql_query = sprintf($sql, $course['real_id'], $sessionId);
$result = Database::query($sql_query);
$row = Database::fetch_array($result);
$forums_total = $row['count'];
@ -853,7 +848,7 @@ class SessionManager
$sql = "SELECT count(*) as count
FROM $wiki
where c_id = %s and session_id = %s and user_id = %s";
$sql_query = sprintf($sql, $course_info['real_id'], $sessionId, $user['user_id']);
$sql_query = sprintf($sql, $course['real_id'], $sessionId, $user['user_id']);
$result = Database::query($sql_query);
$row = Database::fetch_array($result);
$wiki_revisions = $row['count'];
@ -865,7 +860,7 @@ class SessionManager
AND default_event_type = 'wiki_page_view'
AND default_value_type = 'wiki_page_id'
AND c_id = %s";
$sql_query = sprintf($sql, $user['user_id'], $course['code'], $course_info['real_id']);
$sql_query = sprintf($sql, $user['user_id'], $course['code'], $course['real_id']);
$result = Database::query($sql_query);
$row = Database::fetch_array($result);
@ -883,7 +878,7 @@ class SessionManager
$sql = "SELECT count(distinct f.forum_id) as count FROM $forum_post p
INNER JOIN $forum f ON f.forum_id = p.forum_id
WHERE p.poster_id = %s and f.session_id = %s and p.c_id = %s";
$sql_query = sprintf($sql, $user['user_id'], $sessionId, $course_info['real_id']);
$sql_query = sprintf($sql, $user['user_id'], $sessionId, $course['real_id']);
$result = Database::query($sql_query);
$row = Database::fetch_array($result);
@ -1018,7 +1013,7 @@ class SessionManager
INNER JOIN $user u ON a.user_id = u.user_id
INNER JOIN $course c ON a.course_code = c.code
$where $order $limit";
$result = Database::query(sprintf($sql, $sessionId, $courseId));
$clicks = Tracking::get_total_clicks_by_session();

@ -628,7 +628,7 @@ if ($is_platform_admin && in_array($view, array('admin')) && $display != 'yourst
});
</script>';
//Course filter
if (in_array($display, array('accessoverview', 'lpprogressoverview')))
if (in_array($display, array('accessoverview','lpprogressoverview', 'progressoverview', 'exerciseprogress')))
{
$courseFilter = new FormValidator('course_filter', 'get', '', '', array('class'=> 'form-search'), false);
$url = api_get_path(WEB_AJAX_PATH).'course.ajax.php?a=search_course_by_session&session_id=' . $_GET['session_id'];
@ -725,7 +725,13 @@ if ($is_platform_admin && in_array($view, array('admin')) && $display != 'yourst
}
} else if($display == 'progressoverview') {
if (!empty($_GET['session_id'])) {
echo MySpace::display_tracking_progress_overview(intval($_GET['session_id']));
if (!empty($_GET['course_id']))
{
echo MySpace::display_tracking_progress_overview(intval($_GET['session_id']), intval($_GET['course_id']));
} else
{
Display::display_warning_message(get_lang('ChooseCourse'));
}
} else {
Display::display_warning_message(get_lang('ChooseSession'));
}

@ -400,7 +400,7 @@ class MySpace {
* Display a sortable table that contains an overview off all the progress of the user in a session
* @author César Perales <cesar.perales@beeznest.com>, Beeznest Team
*/
function display_tracking_progress_overview($sessionId = 0) {
function display_tracking_progress_overview($sessionId = 0, $courseId = 0) {
//The order is important you need to check the the $column variable in the model.ajax.php file
$columns = array(
@ -502,7 +502,7 @@ class MySpace {
$action_links = '';
// jqgrid will use this URL to do the selects
$url = api_get_path(WEB_AJAX_PATH).'model.ajax.php?a=get_session_progress&session_id=' . intval($sessionId);
$url = api_get_path(WEB_AJAX_PATH).'model.ajax.php?a=get_session_progress&session_id=' . intval($sessionId) . '&course_id=' . intval($courseId);
$tableId = 'progressOverview';
$table = Display::grid_js($tableId, $url, $columns, $column_model, $extra_params, array(), $action_links, true);

Loading…
Cancel
Save