parent
c7cfcebf0a
commit
cc59da47b5
@ -0,0 +1,124 @@ |
||||
<?php
|
||||
|
||||
$reports_modules['scorm'] = array (); |
||||
|
||||
|
||||
function reports_modules_scorm_init() { |
||||
} |
||||
|
||||
function reports_modules_scorm_init_forEachCourses($course_code, $course_id, $course_db) { |
||||
global $reports_modules; |
||||
|
||||
$reports_modules_scorm_toolid = reports_getToolId(TOOL_LEARNPATH); |
||||
|
||||
// package level |
||||
array_push($reports_modules['scorm'], |
||||
array('keys_query' => |
||||
'select '.$course_id.' as course_id, '. |
||||
$reports_modules_scorm_toolid.' as tool_id, '. |
||||
'lp.id as child_id, lp.name as child_name, '. |
||||
"'".$course_db."'".' as course_db from '. |
||||
Database::get_course_table(TABLE_LP_MAIN, $course_db). |
||||
' lp', |
||||
'values_query_function' => 'reports_modules_scorm_packageVal')); |
||||
|
||||
// sco level |
||||
array_push($reports_modules['scorm'], |
||||
array('keys_query' => |
||||
'select '.$course_id.' as course_id, '. |
||||
$reports_modules_scorm_toolid.' as tool_id, '. |
||||
'lp.id as child_id, lp.name as child_name, '. |
||||
'lpi.id as subchild_id, lpi.title as subchild_name, '. |
||||
"'".$course_db."'".' as course_db from '. |
||||
Database::get_course_table(TABLE_LP_MAIN, $course_db). |
||||
' lp,'. |
||||
Database::get_course_table(TABLE_LP_ITEM, $course_db). |
||||
' lpi where lp.id = lpi.lp_id', |
||||
'values_query_function' => 'reports_modules_scorm_scoVal')); |
||||
|
||||
// objectives level |
||||
array_push($reports_modules['scorm'], |
||||
array('keys_query' => |
||||
'select distinct '.$course_id.' as course_id, '. |
||||
$reports_modules_scorm_toolid.' as tool_id, '. |
||||
'lp.id as child_id, lp.name as child_name, '. |
||||
'lpi.id as subchild_id, '. |
||||
'lpi.title as subchild_name, '. |
||||
'null as subsubchild_id, '. |
||||
'lpivo.objective_id as subsubchild_name, '. |
||||
"'".$course_db."'".' as course_db from '. |
||||
Database::get_course_table(TABLE_LP_MAIN, $course_db). |
||||
' lp,'. |
||||
Database::get_course_table(TABLE_LP_ITEM, $course_db). |
||||
' lpi, '. |
||||
Database::get_course_table(TABLE_LP_ITEM_VIEW, $course_db). |
||||
' lpiv, '. |
||||
Database::get_course_table(TABLE_LP_IV_OBJECTIVE, $course_db). |
||||
' lpivo '. |
||||
'where lp.id = lpi.lp_id '. |
||||
'and lpi.id = lpiv.lp_item_id '. |
||||
'and lpiv.id = lpivo.lp_iv_id ', |
||||
'values_query_function' => 'reports_modules_scorm_objVal')); |
||||
} |
||||
|
||||
function reports_modules_scorm_packageVal($scorm, $key_id) { |
||||
return array('type'=> 'sql', 'sql' => |
||||
'select '.$key_id.', user_id as uid, '. |
||||
'session_id, view_count as attempt, null as score, '. |
||||
'progress as progress, '. |
||||
'null as time from '. |
||||
Database::get_course_table(TABLE_LP_VIEW, $scorm['course_db']). |
||||
' where lp_id = '.$scorm['child_id']); |
||||
} |
||||
|
||||
function reports_modules_scorm_scoVal($scorm, $key_id) { |
||||
return array('type'=> 'sql', 'sql' => |
||||
'select '.$key_id.', lpv.user_id as uid, '. |
||||
'lpv.session_id, lpiv.view_count as attempt, '. |
||||
'lpiv.score as score, '. |
||||
'(case lpiv.status '. |
||||
'when "incomplete" then 0 '. |
||||
'when "completed" then 1 '. |
||||
'when "passed" then 2 '. |
||||
'when "failed" then 3 '. |
||||
'when "browsed" then 4 '. |
||||
'when "not attempted" then 5 '. |
||||
'else 6 '. |
||||
'end) as progress, '. |
||||
'lpiv.total_time as time from '. |
||||
Database::get_course_table(TABLE_LP_VIEW, $scorm['course_db']). |
||||
' lpv, '. |
||||
Database::get_course_table(TABLE_LP_ITEM_VIEW, $scorm['course_db']). |
||||
' lpiv '. |
||||
' where lpv.lp_id = '.$scorm['child_id']. |
||||
' and lpiv.lp_item_id = '.$scorm['subchild_id']. |
||||
' and lpiv.lp_view_id = lpv.id'); |
||||
} |
||||
|
||||
function reports_modules_scorm_objectiveVal($scorm, $key_id) { |
||||
return array('type'=> 'sql', 'sql' => |
||||
'select '.$key_id.', lpv.user_id as uid, '. |
||||
'lpv.session_id, lpiv.view_count as attempt, '. |
||||
'lpivo.score_row as score, '. |
||||
'(case lpivo.status '. |
||||
'when "incomplete" then 0 '. |
||||
'when "completed" then 1 '. |
||||
'when "passed" then 2 '. |
||||
'when "failed" then 3 '. |
||||
'when "browsed" then 4 '. |
||||
'when "not attempted" then 5 '. |
||||
'else 6 '. |
||||
'end) as progress, '. |
||||
'null as time from '. |
||||
Database::get_course_table(TABLE_LP_VIEW, $scorm['course_db']). |
||||
' lpv, '. |
||||
Database::get_course_table(TABLE_LP_ITEM_VIEW, $scorm['course_db']). |
||||
' lpiv, '. |
||||
Database::get_course_table(TABLE_LP_IV_OBJECTIVE, $scorm['course_db']). |
||||
' lpivo '. |
||||
' where lpv.lp_id = '.$scorm['child_id']. |
||||
' and lpiv.lp_item_id = '.$scorm['subchild_id']. |
||||
' and lpivo.objective_id = '.$scorm['subsubchild_name']. |
||||
' and lpiv.lp_view_id = lpv.id'. |
||||
' and lpivo.lp_iv_id=lpiv.id'); |
||||
} |
Loading…
Reference in new issue