function reports_template_exercicesMultiCourses_getSQL()
{
    // foreach quiz
    $result = array();
    $columns = Database::query('select r.id as kid, c.title as course, ' . 'r.child_name as test from ' . Database::get_main_table(TABLE_MAIN_REPORTS_KEYS) . ' r, ' . Database::get_main_table(TABLE_MAIN_COURSE) . ' c ' . 'where r.course_id=c.id and r.tool_id=' . reports_getToolId(TOOL_QUIZ) . ' order by r.course_id, r.child_name');
    if (Database::num_rows($columns) == 0) {
        die('<b>' . get_lang('no data found') . '</b>');
    }
    $query = 'select u.lastname Name, u.firstname Firstname';
    $columns = Database::store_result($columns);
    if ($_REQUEST['tattempt'] == 'min' || $_REQUEST['tattempt'] == 'max') {
        $function = $_REQUEST['tattempt'];
    } else {
        $function = 'avg';
    }
    foreach ($columns as $key => $column) {
        $query .= ', ' . $function . '(k' . $key . '.score) as `' . $column['course'] . ' - ' . $column['test'] . '` ';
    }
    $query .= ' from ' . Database::get_main_table(TABLE_MAIN_USER) . ' u ';
    foreach ($columns as $key => $column) {
        // fixme sessions
        $query .= 'left outer join ' . Database::get_main_table(TABLE_MAIN_REPORTS_VALUES) . ' k' . $key . ' on k' . $key . '.key_id = ' . $column['kid'] . ' and k' . $key . '.user_id = u.user_id ';
    }
    $query .= ' group by ';
    foreach ($columns as $key => $column) {
        // grouping attempt
        $query .= 'k' . $key . '.attempt, ';
    }
    $query = substr($query, 0, -2);
    // removing last ', ';
    return $query;
}
예제 #2
0
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) . ' 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'));
}
예제 #3
0
function reports_modules_quiz_init_forEachCourses($course_code, $course_id, $course_db) {
	global $reports_modules;
	
	$reports_modules_quiz_toolid = reports_getToolId(TOOL_QUIZ);

	array_push($reports_modules['quiz'], 
	  array('keys_query' =>  
		'select '.$course_id.' as course_id, '.
		$reports_modules_quiz_toolid.' as tool_id, '.
		'q.id as child_id, q.title as child_name, '.
		"'".$course_code."'".' as course_code from '.Database::get_course_table(TABLE_QUIZ_TEST).' q ',
		'values_query_function' => 'reports_modules_quiz_quizVal'));		
}