12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364656667686970 |
- <?php
- $reports_template['exercicesMultiCourses'] = array(
- 'description' => 'Result of each test per student',
- 'getSQL' => 'reports_template_exercicesMultiCourses_getSQL',
- 'wizard' =>
- '
- <span id="exercicesMultiCourses" class="step">
- <span class="font_normal_07em_black">Result of each test per student</span><br />
- <!-- <label for="scoremin">Score min</label><br />
- <input class="input_field_25em" name="scoremin" id="scoremin" value="0"><br />
- <label for="scoremax">Score max</label><br />
- <input class="input_field_25em" name="scoremax" id="scoremax" value="0"><br />
- --> <label for="tattempt">How to treat Attempts</label><br />
- <select name="tattempt" id="tattempt">
- <!-- <option value="first">take only the first one</option>
- <option value="last">take only the last one</option>
- --> <option value="avg">take the average value</option>
- <option value="min">take the minimum value</option>
- <option value="max">take the maximum value</option>
- </select><br />
- <!-- <label name="gcourses">Do you want to group quiz per courses</label><br />
- <select name="gcourses" id="gcourses">
- <option value="nogroup">Do not group</option>
- <option value="average">group and take the average value</option>
- <option value="min">group and take the minimum value</option>
- <option value="max">group and take the maximum value</option>
- </select></br>
- --> <input type="hidden" class="link" value="format" />
- </span>
- ');
- 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;
- }
|