'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).' 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, null as ts 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, null as ts 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_objVal($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_raw 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, null as ts 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' ); }