@@ -17,10 +17,10 @@ |
||
| 17 | 17 | { |
| 18 | 18 | |
| 19 | 19 | /** |
| 20 | - * Store for User objects. Interact with the database. |
|
| 21 | - * |
|
| 22 | - * @return UserStore |
|
| 23 | - */ |
|
| 20 | + * Store for User objects. Interact with the database. |
|
| 21 | + * |
|
| 22 | + * @return UserStore |
|
| 23 | + */ |
|
| 24 | 24 | public static function store() |
| 25 | 25 | { |
| 26 | 26 | static $result = false; |
@@ -17,10 +17,10 @@ |
||
| 17 | 17 | { |
| 18 | 18 | |
| 19 | 19 | /** |
| 20 | - * Store for Admin objects. Interact with the database. |
|
| 21 | - * |
|
| 22 | - * @return AdminStore |
|
| 23 | - */ |
|
| 20 | + * Store for Admin objects. Interact with the database. |
|
| 21 | + * |
|
| 22 | + * @return AdminStore |
|
| 23 | + */ |
|
| 24 | 24 | public static function store() |
| 25 | 25 | { |
| 26 | 26 | static $result = false; |
@@ -53,10 +53,10 @@ |
||
| 53 | 53 | $table_header[] = array('tag', true); |
| 54 | 54 | $table_header[] = array('attributes', false); |
| 55 | 55 | foreach ($tags as $tag => & $attributes) { |
| 56 | - $row = array(); |
|
| 57 | - $row[] = '<kbd>'.$tag.'</kbd>'; |
|
| 58 | - $row[] = '<kbd> '.implode(', ', array_keys($attributes)).'</kbd>'; |
|
| 59 | - $table_data[] = $row; |
|
| 56 | + $row = array(); |
|
| 57 | + $row[] = '<kbd>'.$tag.'</kbd>'; |
|
| 58 | + $row[] = '<kbd> '.implode(', ', array_keys($attributes)).'</kbd>'; |
|
| 59 | + $table_data[] = $row; |
|
| 60 | 60 | } |
| 61 | 61 | Display::display_sortable_table($table_header, $table_data, array(), array(), array('fullpage' => intval($_GET['fullpage']))); |
| 62 | 62 | ?> |
@@ -41,9 +41,9 @@ |
||
| 41 | 41 | $form->display(); |
| 42 | 42 | } |
| 43 | 43 | } else { |
| 44 | - $faq_content = @(string)file_get_contents(api_get_path(SYS_APP_PATH).'home/'.$faq_file); |
|
| 45 | - $faq_content = api_to_system_encoding($faq_content, api_detect_encoding(strip_tags($faq_content))); |
|
| 46 | - echo $faq_content; |
|
| 44 | + $faq_content = @(string)file_get_contents(api_get_path(SYS_APP_PATH).'home/'.$faq_file); |
|
| 45 | + $faq_content = api_to_system_encoding($faq_content, api_detect_encoding(strip_tags($faq_content))); |
|
| 46 | + echo $faq_content; |
|
| 47 | 47 | } |
| 48 | 48 | |
| 49 | 49 | Display::display_footer(); |
@@ -134,14 +134,14 @@ |
||
| 134 | 134 | <select class="input_field_12em link required" name="type" id="type"> |
| 135 | 135 | <?php |
| 136 | 136 | foreach ($reports_template as $key => $value) { |
| 137 | - echo '<option value="'.$key.'">'.$value['description'].'</option>'; |
|
| 137 | + echo '<option value="'.$key.'">'.$value['description'].'</option>'; |
|
| 138 | 138 | } |
| 139 | 139 | ?> |
| 140 | 140 | </select><br /> |
| 141 | 141 | </span> |
| 142 | 142 | <?php |
| 143 | 143 | foreach ($reports_template as $key => $value) { |
| 144 | - echo $value['wizard']; |
|
| 144 | + echo $value['wizard']; |
|
| 145 | 145 | } |
| 146 | 146 | ?> |
| 147 | 147 | <span id="format" class="step submit_step"> |
@@ -2,62 +2,62 @@ |
||
| 2 | 2 | |
| 3 | 3 | // get fields informations |
| 4 | 4 | function multiquery_query($array) { |
| 5 | - $result = array(); |
|
| 6 | - $field = 0; |
|
| 7 | - for ($i = 0; $i <sizeof($array); $i++) { |
|
| 8 | - // mysql handler |
|
| 9 | - $result[$i]['mysql'] = mysql_query($array[$i]); |
|
| 10 | - |
|
| 11 | - if (! $result[$i]['mysql']) |
|
| 12 | - die("error in query $i : ".$array[$i]); |
|
| 13 | - |
|
| 14 | - // fields |
|
| 15 | - $result[$i]['num_fields'] = mysql_num_fields($result[$i]['mysql']); |
|
| 16 | - for ($j = 0; $j < $result[$i]['num_fields']; $j++) { |
|
| 17 | - $name = mysql_field_name($result[$i]['mysql'], $j); |
|
| 18 | - $result['field'][$field]['query']=$i; |
|
| 19 | - $result['field'][$field]['name']=$name; |
|
| 20 | - $result['field'][$field]['id']=$j; |
|
| 21 | - $result['field_assoc'][$name][$field]; |
|
| 22 | - $field++; |
|
| 23 | - } |
|
| 24 | - } |
|
| 25 | - $result['num_queries'] = sizeof($array); |
|
| 26 | - // rows |
|
| 27 | - $numberOfResult = mysql_num_rows($result[0]['mysql']); |
|
| 28 | - for ($i = 1; $i <$result['num_queries']; $i++) |
|
| 29 | - if ($numberOfResult != mysql_num_rows($result[$i]['mysql'])) |
|
| 30 | - die("wrong number of row: $numberOfResult vs ". |
|
| 31 | - mysql_num_rows($result[$i]['mysql'])." on query $i"); |
|
| 32 | - |
|
| 33 | - $result['num_rows'] = $numberOfResult; |
|
| 34 | - $result['num_fields'] = $field; |
|
| 35 | - |
|
| 36 | - return $result; |
|
| 5 | + $result = array(); |
|
| 6 | + $field = 0; |
|
| 7 | + for ($i = 0; $i <sizeof($array); $i++) { |
|
| 8 | + // mysql handler |
|
| 9 | + $result[$i]['mysql'] = mysql_query($array[$i]); |
|
| 10 | + |
|
| 11 | + if (! $result[$i]['mysql']) |
|
| 12 | + die("error in query $i : ".$array[$i]); |
|
| 13 | + |
|
| 14 | + // fields |
|
| 15 | + $result[$i]['num_fields'] = mysql_num_fields($result[$i]['mysql']); |
|
| 16 | + for ($j = 0; $j < $result[$i]['num_fields']; $j++) { |
|
| 17 | + $name = mysql_field_name($result[$i]['mysql'], $j); |
|
| 18 | + $result['field'][$field]['query']=$i; |
|
| 19 | + $result['field'][$field]['name']=$name; |
|
| 20 | + $result['field'][$field]['id']=$j; |
|
| 21 | + $result['field_assoc'][$name][$field]; |
|
| 22 | + $field++; |
|
| 23 | + } |
|
| 24 | + } |
|
| 25 | + $result['num_queries'] = sizeof($array); |
|
| 26 | + // rows |
|
| 27 | + $numberOfResult = mysql_num_rows($result[0]['mysql']); |
|
| 28 | + for ($i = 1; $i <$result['num_queries']; $i++) |
|
| 29 | + if ($numberOfResult != mysql_num_rows($result[$i]['mysql'])) |
|
| 30 | + die("wrong number of row: $numberOfResult vs ". |
|
| 31 | + mysql_num_rows($result[$i]['mysql'])." on query $i"); |
|
| 32 | + |
|
| 33 | + $result['num_rows'] = $numberOfResult; |
|
| 34 | + $result['num_fields'] = $field; |
|
| 35 | + |
|
| 36 | + return $result; |
|
| 37 | 37 | } |
| 38 | 38 | |
| 39 | 39 | function multiquery_num_rows(&$mq_h) { |
| 40 | - return $mq_h['num_rows']; |
|
| 40 | + return $mq_h['num_rows']; |
|
| 41 | 41 | } |
| 42 | 42 | |
| 43 | 43 | function multiquery_num_fields(&$mq_h) { |
| 44 | - return $mq_h['num_fields']; |
|
| 44 | + return $mq_h['num_fields']; |
|
| 45 | 45 | } |
| 46 | 46 | |
| 47 | 47 | function multiquery_field_name(&$mq_h, $id) { |
| 48 | - return $mq_h['field'][$id]['name']; |
|
| 48 | + return $mq_h['field'][$id]['name']; |
|
| 49 | 49 | } |
| 50 | 50 | |
| 51 | 51 | function multiquery_fetch_row(&$mq_h) { |
| 52 | - $result = array(); |
|
| 53 | - $pos = 0; |
|
| 54 | - for ($i = 0; $i < $mq_h['num_queries']; $i++) { |
|
| 55 | - $row = mysql_fetch_row($mq_h[$i]['mysql']); |
|
| 56 | - if (!$row) return false; // last line |
|
| 57 | - for ($j = 0; $j < sizeof($row); $j++) { |
|
| 58 | - $result[$pos] = $row[$j]; |
|
| 59 | - $pos++; |
|
| 60 | - } |
|
| 61 | - } |
|
| 62 | - return $result; |
|
| 52 | + $result = array(); |
|
| 53 | + $pos = 0; |
|
| 54 | + for ($i = 0; $i < $mq_h['num_queries']; $i++) { |
|
| 55 | + $row = mysql_fetch_row($mq_h[$i]['mysql']); |
|
| 56 | + if (!$row) return false; // last line |
|
| 57 | + for ($j = 0; $j < sizeof($row); $j++) { |
|
| 58 | + $result[$pos] = $row[$j]; |
|
| 59 | + $pos++; |
|
| 60 | + } |
|
| 61 | + } |
|
| 62 | + return $result; |
|
| 63 | 63 | } |
@@ -7,27 +7,27 @@ |
||
| 7 | 7 | } |
| 8 | 8 | |
| 9 | 9 | function reports_modules_quiz_init_forEachCourses($course_code, $course_id, $course_db) { |
| 10 | - global $reports_modules; |
|
| 10 | + global $reports_modules; |
|
| 11 | 11 | |
| 12 | - $reports_modules_quiz_toolid = reports_getToolId(TOOL_QUIZ); |
|
| 12 | + $reports_modules_quiz_toolid = reports_getToolId(TOOL_QUIZ); |
|
| 13 | 13 | |
| 14 | - array_push($reports_modules['quiz'], |
|
| 15 | - array('keys_query' => |
|
| 16 | - 'select '.$course_id.' as course_id, '. |
|
| 17 | - $reports_modules_quiz_toolid.' as tool_id, '. |
|
| 18 | - 'q.id as child_id, q.title as child_name, '. |
|
| 19 | - "'".$course_code."'".' as course_code from '.Database::get_course_table(TABLE_QUIZ_TEST).' q ', |
|
| 20 | - 'values_query_function' => 'reports_modules_quiz_quizVal')); |
|
| 14 | + array_push($reports_modules['quiz'], |
|
| 15 | + array('keys_query' => |
|
| 16 | + 'select '.$course_id.' as course_id, '. |
|
| 17 | + $reports_modules_quiz_toolid.' as tool_id, '. |
|
| 18 | + 'q.id as child_id, q.title as child_name, '. |
|
| 19 | + "'".$course_code."'".' as course_code from '.Database::get_course_table(TABLE_QUIZ_TEST).' q ', |
|
| 20 | + 'values_query_function' => 'reports_modules_quiz_quizVal')); |
|
| 21 | 21 | } |
| 22 | 22 | |
| 23 | 23 | function reports_modules_quiz_quizVal($quiz, $key_id) { |
| 24 | - $courseId = api_get_course_int_id($quiz['course_code']); |
|
| 25 | - return array('type'=> 'sql', 'sql' => |
|
| 26 | - 'select '.$key_id.', exe_user_id as uid, '. |
|
| 27 | - 'session_id, -1 as attempt, exe_result as score, '. |
|
| 28 | - REPORTS_PROGRESS_COMPLETED.' as progress, '. |
|
| 29 | - 'exe_duration as time, exe_date as ts from '. |
|
| 30 | - Database::get_main_table(TABLE_STATISTIC_TRACK_E_EXERCISES). |
|
| 31 | - ' where c_id = ' . $courseId . |
|
| 32 | - ' and exe_exo_id='.$quiz['child_id']); |
|
| 24 | + $courseId = api_get_course_int_id($quiz['course_code']); |
|
| 25 | + return array('type'=> 'sql', 'sql' => |
|
| 26 | + 'select '.$key_id.', exe_user_id as uid, '. |
|
| 27 | + 'session_id, -1 as attempt, exe_result as score, '. |
|
| 28 | + REPORTS_PROGRESS_COMPLETED.' as progress, '. |
|
| 29 | + 'exe_duration as time, exe_date as ts from '. |
|
| 30 | + Database::get_main_table(TABLE_STATISTIC_TRACK_E_EXERCISES). |
|
| 31 | + ' where c_id = ' . $courseId . |
|
| 32 | + ' and exe_exo_id='.$quiz['child_id']); |
|
| 33 | 33 | } |
@@ -7,117 +7,117 @@ |
||
| 7 | 7 | } |
| 8 | 8 | |
| 9 | 9 | function reports_modules_scorm_init_forEachCourses($course_code, $course_id, $course_db) { |
| 10 | - global $reports_modules; |
|
| 10 | + global $reports_modules; |
|
| 11 | 11 | |
| 12 | - $reports_modules_scorm_toolid = reports_getToolId(TOOL_LEARNPATH); |
|
| 12 | + $reports_modules_scorm_toolid = reports_getToolId(TOOL_LEARNPATH); |
|
| 13 | 13 | |
| 14 | - // package level |
|
| 15 | - array_push($reports_modules['scorm'], |
|
| 16 | - array('keys_query' => |
|
| 17 | - 'select '.$course_id.' as course_id, '. |
|
| 18 | - $reports_modules_scorm_toolid.' as tool_id, '. |
|
| 19 | - 'lp.id as child_id, lp.name as child_name, '. |
|
| 20 | - "'".$course_db."'".' as course_db from '. |
|
| 21 | - Database::get_course_table(TABLE_LP_MAIN).' lp', |
|
| 22 | - 'values_query_function' => 'reports_modules_scorm_packageVal')); |
|
| 14 | + // package level |
|
| 15 | + array_push($reports_modules['scorm'], |
|
| 16 | + array('keys_query' => |
|
| 17 | + 'select '.$course_id.' as course_id, '. |
|
| 18 | + $reports_modules_scorm_toolid.' as tool_id, '. |
|
| 19 | + 'lp.id as child_id, lp.name as child_name, '. |
|
| 20 | + "'".$course_db."'".' as course_db from '. |
|
| 21 | + Database::get_course_table(TABLE_LP_MAIN).' lp', |
|
| 22 | + 'values_query_function' => 'reports_modules_scorm_packageVal')); |
|
| 23 | 23 | |
| 24 | - // sco level |
|
| 25 | - array_push($reports_modules['scorm'], |
|
| 26 | - array('keys_query' => |
|
| 27 | - 'select '.$course_id.' as course_id, '. |
|
| 28 | - $reports_modules_scorm_toolid.' as tool_id, '. |
|
| 29 | - 'lp.id as child_id, lp.name as child_name, '. |
|
| 30 | - 'lpi.id as subchild_id, lpi.title as subchild_name, '. |
|
| 31 | - "'".$course_db."'".' as course_db from '. |
|
| 32 | - Database::get_course_table(TABLE_LP_MAIN, $course_db). |
|
| 33 | - ' lp,'. |
|
| 34 | - Database::get_course_table(TABLE_LP_ITEM, $course_db). |
|
| 35 | - ' lpi where lp.id = lpi.lp_id', |
|
| 36 | - 'values_query_function' => 'reports_modules_scorm_scoVal')); |
|
| 24 | + // sco level |
|
| 25 | + array_push($reports_modules['scorm'], |
|
| 26 | + array('keys_query' => |
|
| 27 | + 'select '.$course_id.' as course_id, '. |
|
| 28 | + $reports_modules_scorm_toolid.' as tool_id, '. |
|
| 29 | + 'lp.id as child_id, lp.name as child_name, '. |
|
| 30 | + 'lpi.id as subchild_id, lpi.title as subchild_name, '. |
|
| 31 | + "'".$course_db."'".' as course_db from '. |
|
| 32 | + Database::get_course_table(TABLE_LP_MAIN, $course_db). |
|
| 33 | + ' lp,'. |
|
| 34 | + Database::get_course_table(TABLE_LP_ITEM, $course_db). |
|
| 35 | + ' lpi where lp.id = lpi.lp_id', |
|
| 36 | + 'values_query_function' => 'reports_modules_scorm_scoVal')); |
|
| 37 | 37 | |
| 38 | - // objectives level |
|
| 39 | - array_push($reports_modules['scorm'], |
|
| 40 | - array('keys_query' => |
|
| 41 | - 'select distinct '.$course_id.' as course_id, '. |
|
| 42 | - $reports_modules_scorm_toolid.' as tool_id, '. |
|
| 43 | - 'lp.id as child_id, lp.name as child_name, '. |
|
| 44 | - 'lpi.id as subchild_id, '. |
|
| 45 | - 'lpi.title as subchild_name, '. |
|
| 46 | - 'null as subsubchild_id, '. |
|
| 47 | - 'lpivo.objective_id as subsubchild_name, '. |
|
| 48 | - "'".$course_db."'".' as course_db from '. |
|
| 49 | - Database::get_course_table(TABLE_LP_MAIN, $course_db). |
|
| 50 | - ' lp,'. |
|
| 51 | - Database::get_course_table(TABLE_LP_ITEM, $course_db). |
|
| 52 | - ' lpi, '. |
|
| 53 | - Database::get_course_table(TABLE_LP_ITEM_VIEW, $course_db). |
|
| 54 | - ' lpiv, '. |
|
| 55 | - Database::get_course_table(TABLE_LP_IV_OBJECTIVE, $course_db). |
|
| 56 | - ' lpivo '. |
|
| 57 | - 'where lp.id = lpi.lp_id '. |
|
| 58 | - 'and lpi.id = lpiv.lp_item_id '. |
|
| 59 | - 'and lpiv.id = lpivo.lp_iv_id ', |
|
| 60 | - 'values_query_function' => 'reports_modules_scorm_objVal')); |
|
| 38 | + // objectives level |
|
| 39 | + array_push($reports_modules['scorm'], |
|
| 40 | + array('keys_query' => |
|
| 41 | + 'select distinct '.$course_id.' as course_id, '. |
|
| 42 | + $reports_modules_scorm_toolid.' as tool_id, '. |
|
| 43 | + 'lp.id as child_id, lp.name as child_name, '. |
|
| 44 | + 'lpi.id as subchild_id, '. |
|
| 45 | + 'lpi.title as subchild_name, '. |
|
| 46 | + 'null as subsubchild_id, '. |
|
| 47 | + 'lpivo.objective_id as subsubchild_name, '. |
|
| 48 | + "'".$course_db."'".' as course_db from '. |
|
| 49 | + Database::get_course_table(TABLE_LP_MAIN, $course_db). |
|
| 50 | + ' lp,'. |
|
| 51 | + Database::get_course_table(TABLE_LP_ITEM, $course_db). |
|
| 52 | + ' lpi, '. |
|
| 53 | + Database::get_course_table(TABLE_LP_ITEM_VIEW, $course_db). |
|
| 54 | + ' lpiv, '. |
|
| 55 | + Database::get_course_table(TABLE_LP_IV_OBJECTIVE, $course_db). |
|
| 56 | + ' lpivo '. |
|
| 57 | + 'where lp.id = lpi.lp_id '. |
|
| 58 | + 'and lpi.id = lpiv.lp_item_id '. |
|
| 59 | + 'and lpiv.id = lpivo.lp_iv_id ', |
|
| 60 | + 'values_query_function' => 'reports_modules_scorm_objVal')); |
|
| 61 | 61 | } |
| 62 | 62 | |
| 63 | 63 | function reports_modules_scorm_packageVal($scorm, $key_id) { |
| 64 | - return array('type'=> 'sql', 'sql' => |
|
| 65 | - 'select '.$key_id.', user_id as uid, '. |
|
| 66 | - 'session_id, view_count as attempt, null as score, '. |
|
| 67 | - 'progress as progress, '. |
|
| 68 | - 'null as time, null as ts from '. |
|
| 69 | - Database::get_course_table(TABLE_LP_VIEW, $scorm['course_db']). |
|
| 70 | - ' where lp_id = '.$scorm['child_id']); |
|
| 64 | + return array('type'=> 'sql', 'sql' => |
|
| 65 | + 'select '.$key_id.', user_id as uid, '. |
|
| 66 | + 'session_id, view_count as attempt, null as score, '. |
|
| 67 | + 'progress as progress, '. |
|
| 68 | + 'null as time, null as ts from '. |
|
| 69 | + Database::get_course_table(TABLE_LP_VIEW, $scorm['course_db']). |
|
| 70 | + ' where lp_id = '.$scorm['child_id']); |
|
| 71 | 71 | } |
| 72 | 72 | |
| 73 | 73 | function reports_modules_scorm_scoVal($scorm, $key_id) { |
| 74 | - return array('type'=> 'sql', 'sql' => |
|
| 75 | - 'select '.$key_id.', lpv.user_id as uid, '. |
|
| 76 | - 'lpv.session_id, lpiv.view_count as attempt, '. |
|
| 77 | - 'lpiv.score as score, '. |
|
| 78 | - '(case lpiv.status '. |
|
| 79 | - 'when "incomplete" then 0 '. |
|
| 80 | - 'when "completed" then 1 '. |
|
| 81 | - 'when "passed" then 2 '. |
|
| 82 | - 'when "failed" then 3 '. |
|
| 83 | - 'when "browsed" then 4 '. |
|
| 84 | - 'when "not attempted" then 5 '. |
|
| 85 | - 'else 6 '. |
|
| 86 | - 'end) as progress, '. |
|
| 87 | - 'lpiv.total_time as time, null as ts from '. |
|
| 88 | - Database::get_course_table(TABLE_LP_VIEW, $scorm['course_db']). |
|
| 89 | - ' lpv, '. |
|
| 90 | - Database::get_course_table(TABLE_LP_ITEM_VIEW, $scorm['course_db']). |
|
| 91 | - ' lpiv '. |
|
| 92 | - ' where lpv.lp_id = '.$scorm['child_id']. |
|
| 93 | - ' and lpiv.lp_item_id = '.$scorm['subchild_id']. |
|
| 94 | - ' and lpiv.lp_view_id = lpv.id'); |
|
| 74 | + return array('type'=> 'sql', 'sql' => |
|
| 75 | + 'select '.$key_id.', lpv.user_id as uid, '. |
|
| 76 | + 'lpv.session_id, lpiv.view_count as attempt, '. |
|
| 77 | + 'lpiv.score as score, '. |
|
| 78 | + '(case lpiv.status '. |
|
| 79 | + 'when "incomplete" then 0 '. |
|
| 80 | + 'when "completed" then 1 '. |
|
| 81 | + 'when "passed" then 2 '. |
|
| 82 | + 'when "failed" then 3 '. |
|
| 83 | + 'when "browsed" then 4 '. |
|
| 84 | + 'when "not attempted" then 5 '. |
|
| 85 | + 'else 6 '. |
|
| 86 | + 'end) as progress, '. |
|
| 87 | + 'lpiv.total_time as time, null as ts from '. |
|
| 88 | + Database::get_course_table(TABLE_LP_VIEW, $scorm['course_db']). |
|
| 89 | + ' lpv, '. |
|
| 90 | + Database::get_course_table(TABLE_LP_ITEM_VIEW, $scorm['course_db']). |
|
| 91 | + ' lpiv '. |
|
| 92 | + ' where lpv.lp_id = '.$scorm['child_id']. |
|
| 93 | + ' and lpiv.lp_item_id = '.$scorm['subchild_id']. |
|
| 94 | + ' and lpiv.lp_view_id = lpv.id'); |
|
| 95 | 95 | } |
| 96 | 96 | |
| 97 | 97 | function reports_modules_scorm_objVal($scorm, $key_id) { |
| 98 | - return array('type'=> 'sql', 'sql' => |
|
| 99 | - 'select '.$key_id.', lpv.user_id as uid, '. |
|
| 100 | - 'lpv.session_id, lpiv.view_count as attempt, '. |
|
| 101 | - 'lpivo.score_raw as score, '. |
|
| 102 | - '(case lpivo.status '. |
|
| 103 | - 'when "incomplete" then 0 '. |
|
| 104 | - 'when "completed" then 1 '. |
|
| 105 | - 'when "passed" then 2 '. |
|
| 106 | - 'when "failed" then 3 '. |
|
| 107 | - 'when "browsed" then 4 '. |
|
| 108 | - 'when "not attempted" then 5 '. |
|
| 109 | - 'else 6 '. |
|
| 110 | - 'end) as progress, '. |
|
| 111 | - 'null as time, null as ts from '. |
|
| 112 | - Database::get_course_table(TABLE_LP_VIEW, $scorm['course_db']). |
|
| 113 | - ' lpv, '. |
|
| 114 | - Database::get_course_table(TABLE_LP_ITEM_VIEW, $scorm['course_db']). |
|
| 115 | - ' lpiv, '. |
|
| 116 | - Database::get_course_table(TABLE_LP_IV_OBJECTIVE, $scorm['course_db']). |
|
| 117 | - ' lpivo '. |
|
| 118 | - ' where lpv.lp_id = '.$scorm['child_id']. |
|
| 119 | - ' and lpiv.lp_item_id = '.$scorm['subchild_id']. |
|
| 120 | - ' and lpivo.objective_id = "'.$scorm['subsubchild_name'].'" '. |
|
| 121 | - ' and lpiv.lp_view_id = lpv.id'. |
|
| 122 | - ' and lpivo.lp_iv_id=lpiv.id'); |
|
| 98 | + return array('type'=> 'sql', 'sql' => |
|
| 99 | + 'select '.$key_id.', lpv.user_id as uid, '. |
|
| 100 | + 'lpv.session_id, lpiv.view_count as attempt, '. |
|
| 101 | + 'lpivo.score_raw as score, '. |
|
| 102 | + '(case lpivo.status '. |
|
| 103 | + 'when "incomplete" then 0 '. |
|
| 104 | + 'when "completed" then 1 '. |
|
| 105 | + 'when "passed" then 2 '. |
|
| 106 | + 'when "failed" then 3 '. |
|
| 107 | + 'when "browsed" then 4 '. |
|
| 108 | + 'when "not attempted" then 5 '. |
|
| 109 | + 'else 6 '. |
|
| 110 | + 'end) as progress, '. |
|
| 111 | + 'null as time, null as ts from '. |
|
| 112 | + Database::get_course_table(TABLE_LP_VIEW, $scorm['course_db']). |
|
| 113 | + ' lpv, '. |
|
| 114 | + Database::get_course_table(TABLE_LP_ITEM_VIEW, $scorm['course_db']). |
|
| 115 | + ' lpiv, '. |
|
| 116 | + Database::get_course_table(TABLE_LP_IV_OBJECTIVE, $scorm['course_db']). |
|
| 117 | + ' lpivo '. |
|
| 118 | + ' where lpv.lp_id = '.$scorm['child_id']. |
|
| 119 | + ' and lpiv.lp_item_id = '.$scorm['subchild_id']. |
|
| 120 | + ' and lpivo.objective_id = "'.$scorm['subsubchild_name'].'" '. |
|
| 121 | + ' and lpiv.lp_view_id = lpv.id'. |
|
| 122 | + ' and lpivo.lp_iv_id=lpiv.id'); |
|
| 123 | 123 | } |
@@ -7,23 +7,23 @@ |
||
| 7 | 7 | } |
| 8 | 8 | |
| 9 | 9 | function reports_modules_course_init_forEachCourses($course_code, $course_id, $course_db) { |
| 10 | - global $reports_modules; |
|
| 10 | + global $reports_modules; |
|
| 11 | 11 | |
| 12 | 12 | // $reports_modules_course_toolid = reports_getToolId(TOOL_QUIZ); |
| 13 | 13 | |
| 14 | - array_push($reports_modules['course'], |
|
| 15 | - array('keys_query' => |
|
| 16 | - 'select '.$course_id.' as course_id, "'.$course_code.'" as course_code', |
|
| 17 | - 'values_query_function' => 'reports_modules_course_val')); |
|
| 14 | + array_push($reports_modules['course'], |
|
| 15 | + array('keys_query' => |
|
| 16 | + 'select '.$course_id.' as course_id, "'.$course_code.'" as course_code', |
|
| 17 | + 'values_query_function' => 'reports_modules_course_val')); |
|
| 18 | 18 | } |
| 19 | 19 | |
| 20 | 20 | function reports_modules_course_val($course, $key_id) { |
| 21 | - return array('type'=> 'sql', 'sql' => |
|
| 22 | - 'select '.$key_id.', user_id as uid, '. |
|
| 23 | - '-1 as session_id, -1 as attempt, null as score, '. |
|
| 24 | - 'NULL as progress, '. |
|
| 25 | - '(sum(logout_course_date) - sum(login_course_date)) as time, null as ts from '. |
|
| 26 | - Database::get_main_table(TABLE_STATISTIC_TRACK_E_COURSE_ACCESS). |
|
| 27 | - ' where c_id = ' . $course['real_id'] . |
|
| 28 | - ' group by user_id'); |
|
| 21 | + return array('type'=> 'sql', 'sql' => |
|
| 22 | + 'select '.$key_id.', user_id as uid, '. |
|
| 23 | + '-1 as session_id, -1 as attempt, null as score, '. |
|
| 24 | + 'NULL as progress, '. |
|
| 25 | + '(sum(logout_course_date) - sum(login_course_date)) as time, null as ts from '. |
|
| 26 | + Database::get_main_table(TABLE_STATISTIC_TRACK_E_COURSE_ACCESS). |
|
| 27 | + ' where c_id = ' . $course['real_id'] . |
|
| 28 | + ' group by user_id'); |
|
| 29 | 29 | } |