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. 25
      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' , 'surveys_progress' ,
); );
$sessionId = 0; $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']); $sessionId = intval($_GET['session_id']);
$courseId = intval($_GET['course_id']);
} }
$result = SessionManager::get_session_progress($sessionId, $result = SessionManager::get_session_progress($sessionId, $courseId,
array( array(
'where' => $where_condition, 'where' => $where_condition,
'order' => "$sidx $sord", 'order' => "$sidx $sord",

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

@ -628,7 +628,7 @@ if ($is_platform_admin && in_array($view, array('admin')) && $display != 'yourst
}); });
</script>'; </script>';
//Course filter //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); $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']; $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') { } else if($display == 'progressoverview') {
if (!empty($_GET['session_id'])) { 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 { } else {
Display::display_warning_message(get_lang('ChooseSession')); 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 * 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 * @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 //The order is important you need to check the the $column variable in the model.ajax.php file
$columns = array( $columns = array(
@ -502,7 +502,7 @@ class MySpace {
$action_links = ''; $action_links = '';
// jqgrid will use this URL to do the selects // 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'; $tableId = 'progressOverview';
$table = Display::grid_js($tableId, $url, $columns, $column_model, $extra_params, array(), $action_links, true); $table = Display::grid_js($tableId, $url, $columns, $column_model, $extra_params, array(), $action_links, true);

Loading…
Cancel
Save