Browse Source

Minor - Code style

Yannick Warnier 8 years ago
parent
commit
1fcaacc439

+ 25 - 17
main/reports/modules/course.php

@@ -1,29 +1,37 @@
 <?php
 
-$reports_modules['course'] = array ();
+$reports_modules['course'] = array();
 
 
-function reports_modules_course_init() {
+function reports_modules_course_init()
+{
 }
 
-function reports_modules_course_init_forEachCourses($course_code, $course_id, $course_db) {
-	global $reports_modules;
+function reports_modules_course_init_forEachCourses($course_code, $course_id, $course_db)
+{
+    global $reports_modules;
 
 //	$reports_modules_course_toolid = reports_getToolId(TOOL_QUIZ);
 
-	array_push($reports_modules['course'],
-	  array('keys_query' =>
-		'select '.$course_id.' as course_id, "'.$course_code.'" as course_code',
-		'values_query_function' => 'reports_modules_course_val'));
+    array_push($reports_modules['course'],
+        array(
+            'keys_query' =>
+                'select ' . $course_id . ' as course_id, "' . $course_code . '" as course_code',
+            'values_query_function' => 'reports_modules_course_val'
+        ));
 }
 
-function reports_modules_course_val($course, $key_id) {
-	return array('type'=> 'sql', 'sql' =>
-			'select '.$key_id.', user_id as uid, '.
-			'-1 as session_id, -1 as attempt, null as score, '.
-			'NULL as progress, '.
-			'(sum(logout_course_date) - sum(login_course_date)) as time, null as ts from '.
-			Database::get_main_table(TABLE_STATISTIC_TRACK_E_COURSE_ACCESS).
-			' where c_id = ' . $course['real_id'] .
-			' group by user_id');
+function reports_modules_course_val($course, $key_id)
+{
+    return array(
+        'type' => 'sql',
+        'sql' =>
+            'select ' . $key_id . ', user_id as uid, ' .
+            '-1 as session_id, -1 as attempt, null as score, ' .
+            'NULL as progress, ' .
+            '(sum(logout_course_date) - sum(login_course_date)) as time, null as ts from ' .
+            Database::get_main_table(TABLE_STATISTIC_TRACK_E_COURSE_ACCESS) .
+            ' where c_id = ' . $course['real_id'] .
+            ' group by user_id'
+    );
 }

+ 32 - 24
main/reports/modules/quiz.php

@@ -1,33 +1,41 @@
-<?php 
+<?php
 
-$reports_modules['quiz'] = array ();
+$reports_modules['quiz'] = array();
 
 
-function reports_modules_quiz_init() {
+function reports_modules_quiz_init()
+{
 }
 
-function reports_modules_quiz_init_forEachCourses($course_code, $course_id, $course_db) {
-	global $reports_modules;
-	
-	$reports_modules_quiz_toolid = reports_getToolId(TOOL_QUIZ);
+function reports_modules_quiz_init_forEachCourses($course_code, $course_id, $course_db)
+{
+    global $reports_modules;
 
-	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'));		
+    $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'
+        ));
 }
 
-function reports_modules_quiz_quizVal($quiz, $key_id) {
-	$courseId = api_get_course_int_id($quiz['course_code']);
-	return array('type'=> 'sql', 'sql' => 
-			'select '.$key_id.', exe_user_id as uid, '.
-			'session_id, -1 as attempt, exe_result as score, '.
-			REPORTS_PROGRESS_COMPLETED.' as progress, '.
-			'exe_duration as time, exe_date as ts from '.
-			Database::get_main_table(TABLE_STATISTIC_TRACK_E_EXERCISES).
-			' where c_id = ' . $courseId .
-			' and exe_exo_id='.$quiz['child_id']);
+function reports_modules_quiz_quizVal($quiz, $key_id)
+{
+    $courseId = api_get_course_int_id($quiz['course_code']);
+    return array(
+        'type' => 'sql',
+        'sql' =>
+            'select ' . $key_id . ', exe_user_id as uid, ' .
+            'session_id, -1 as attempt, exe_result as score, ' .
+            REPORTS_PROGRESS_COMPLETED . ' as progress, ' .
+            'exe_duration as time, exe_date as ts from ' .
+            Database::get_main_table(TABLE_STATISTIC_TRACK_E_EXERCISES) .
+            ' where c_id = ' . $courseId .
+            ' and exe_exo_id=' . $quiz['child_id']
+    );
 }

+ 128 - 108
main/reports/modules/scorm.php

@@ -1,123 +1,143 @@
-<?php 
+<?php
 
-$reports_modules['scorm'] = array ();
+$reports_modules['scorm'] = array();
 
 
-function reports_modules_scorm_init() {
+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);
+function reports_modules_scorm_init_forEachCourses($course_code, $course_id, $course_db)
+{
+    global $reports_modules;
 
-	// 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'));		
+    $reports_modules_scorm_toolid = reports_getToolId(TOOL_LEARNPATH);
 
-	// 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'));		
+    // 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'
+        ));
 
-	// 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'));		
+    // 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_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_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');
+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'
+    );
 }

+ 61 - 51
main/reports/multiquery.lib.php

@@ -1,63 +1,73 @@
 <?php
 
 // get fields informations
-function multiquery_query($array) {
-	$result = array();
-	$field = 0;
-	for ($i = 0; $i <sizeof($array); $i++) {
-		// mysql handler
-		$result[$i]['mysql'] = mysql_query($array[$i]);
-
-		if (! $result[$i]['mysql'])
-			die("error in query $i : ".$array[$i]);
-
-		// fields
-		$result[$i]['num_fields'] = mysql_num_fields($result[$i]['mysql']);
-		for ($j = 0; $j < $result[$i]['num_fields']; $j++) {
-			$name = mysql_field_name($result[$i]['mysql'], $j);
-			$result['field'][$field]['query']=$i;
-			$result['field'][$field]['name']=$name;
-			$result['field'][$field]['id']=$j;
-			$result['field_assoc'][$name][$field];
-			$field++;
-		}
-	}
-	$result['num_queries'] = sizeof($array);
-	// rows
-	$numberOfResult = mysql_num_rows($result[0]['mysql']);
-	for ($i = 1; $i <$result['num_queries']; $i++) 
-		if ($numberOfResult != mysql_num_rows($result[$i]['mysql']))
-			die("wrong number of row: $numberOfResult vs ".
-				mysql_num_rows($result[$i]['mysql'])." on query $i");
-
-	$result['num_rows'] = $numberOfResult;
-	$result['num_fields'] = $field;
-
-	return $result;
+function multiquery_query($array)
+{
+    $result = array();
+    $field = 0;
+    for ($i = 0; $i < sizeof($array); $i++) {
+        // mysql handler
+        $result[$i]['mysql'] = mysql_query($array[$i]);
+
+        if (!$result[$i]['mysql']) {
+            die("error in query $i : " . $array[$i]);
+        }
+
+        // fields
+        $result[$i]['num_fields'] = mysql_num_fields($result[$i]['mysql']);
+        for ($j = 0; $j < $result[$i]['num_fields']; $j++) {
+            $name = mysql_field_name($result[$i]['mysql'], $j);
+            $result['field'][$field]['query'] = $i;
+            $result['field'][$field]['name'] = $name;
+            $result['field'][$field]['id'] = $j;
+            $result['field_assoc'][$name][$field];
+            $field++;
+        }
+    }
+    $result['num_queries'] = sizeof($array);
+    // rows
+    $numberOfResult = mysql_num_rows($result[0]['mysql']);
+    for ($i = 1; $i < $result['num_queries']; $i++) {
+        if ($numberOfResult != mysql_num_rows($result[$i]['mysql'])) {
+            die("wrong number of row: $numberOfResult vs " .
+                mysql_num_rows($result[$i]['mysql']) . " on query $i");
+        }
+    }
+
+    $result['num_rows'] = $numberOfResult;
+    $result['num_fields'] = $field;
+
+    return $result;
 }
 
-function multiquery_num_rows(&$mq_h) {
-	return $mq_h['num_rows'];
+function multiquery_num_rows(&$mq_h)
+{
+    return $mq_h['num_rows'];
 }
 
-function multiquery_num_fields(&$mq_h) {
-	return $mq_h['num_fields'];
+function multiquery_num_fields(&$mq_h)
+{
+    return $mq_h['num_fields'];
 }
 
-function multiquery_field_name(&$mq_h, $id) {
-	return $mq_h['field'][$id]['name'];
+function multiquery_field_name(&$mq_h, $id)
+{
+    return $mq_h['field'][$id]['name'];
 }
 
-function multiquery_fetch_row(&$mq_h) {
-	$result = array();
-	$pos = 0;
-	for ($i = 0; $i < $mq_h['num_queries']; $i++) {
-		$row = mysql_fetch_row($mq_h[$i]['mysql']);
-		if (!$row) return false; // last line
-		for ($j = 0; $j < sizeof($row); $j++) {
-			$result[$pos] = $row[$j];
-			$pos++;
-		}
-	}
-	return $result;
+function multiquery_fetch_row(&$mq_h)
+{
+    $result = array();
+    $pos = 0;
+    for ($i = 0; $i < $mq_h['num_queries']; $i++) {
+        $row = mysql_fetch_row($mq_h[$i]['mysql']);
+        if (!$row) {
+            return false;
+        } // last line
+        for ($j = 0; $j < sizeof($row); $j++) {
+            $result[$pos] = $row[$j];
+            $pos++;
+        }
+    }
+    return $result;
 }

+ 176 - 152
main/reports/reports.php

@@ -2,16 +2,16 @@
 /* For licensing terms, see /license.txt */
 
 /**
-* Reports
-* @author Arnaud Ligot <arnaud@cblue.be>
-* @copyrights CBLUE SPRL 2011
-* @package chamilo.reports
-*/
+ * Reports
+ * @author Arnaud Ligot <arnaud@cblue.be>
+ * @copyrights CBLUE SPRL 2011
+ * @package chamilo.reports
+ */
 //exit;
 $cidReset = true;
 
 // including files
-require_once __DIR__.'/../inc/global.inc.php';
+require_once __DIR__ . '/../inc/global.inc.php';
 require_once 'reports.lib.php';
 require_once 'multiquery.lib.php';
 
@@ -24,7 +24,7 @@ api_block_anonymous_users();
 $this_section = SECTION_REPORTS;
 
 // setting the name of the tool
-$tool_name=get_lang('Reports');
+$tool_name = get_lang('Reports');
 
 // loading templates
 reports_loadTemplates();
@@ -34,101 +34,110 @@ $idsuffix = rand();
 
 // "Link" type
 if ($_REQUEST['format'] == 'link') {
-	// converting post vars to get uri
-	$params = '';
-	$kv = array();
-	foreach ($_POST as $key => $value)
-		if ($key != 'format')
-			$kv[] = $key.'='.urlencode($value);
-	$query_string = join("&", $kv);
-	die('<a href="reports.php?format=directlink&'.$query_string.'">'.get_lang('ReportTypeLink').'</a>');
+    // converting post vars to get uri
+    $params = '';
+    $kv = array();
+    foreach ($_POST as $key => $value) {
+        if ($key != 'format') {
+            $kv[] = $key . '=' . urlencode($value);
+        }
+    }
+    $query_string = join("&", $kv);
+    die('<a href="reports.php?format=directlink&' . $query_string . '">' . get_lang('ReportTypeLink') . '</a>');
 }
 
 if ($_REQUEST['format'] == 'directlink') {
-	foreach (array('jquery.dataTables.min.js') as $js)
-		$htmlHeadXtra[] = '<script src="'.api_get_path(WEB_LIBRARY_PATH).'javascript/'.$js.'" type="text/javascript" language="javascript"></script>'."\n";
+    foreach (array('jquery.dataTables.min.js') as $js) {
+        $htmlHeadXtra[] = '<script src="' . api_get_path(WEB_LIBRARY_PATH) . 'javascript/' . $js . '" type="text/javascript" language="javascript"></script>' . "\n";
+    }
 
-	$htmlCSSXtra[] = 'dataTable.css';
+    $htmlCSSXtra[] = 'dataTable.css';
 
-?>
+    ?>
     <script type="text/javascript">
-		function setSubDataUri(elem, uri) {
-			$.ajax({
-				url: uri,
-				success: function(data) {
-					$(elem).closest('.result').nextAll().html('');
-					$(elem).closest('.result').next().html(data);
-				}
-			});
-		}
+        function setSubDataUri(elem, uri) {
+            $.ajax({
+                url: uri,
+                success: function (data) {
+                    $(elem).closest('.result').nextAll().html('');
+                    $(elem).closest('.result').next().html(data);
+                }
+            });
+        }
     </script>
-<?php
-	Display::display_header($tool_name);
-	echo '<div id="result" class="result">';
+    <?php
+    Display::display_header($tool_name);
+    echo '<div id="result" class="result">';
 }
 
 // outputing a link to csv file instead of outputing csv data directly
-if ($_REQUEST['format'] == 'csv')  {
-	// converting post vars to get uri
-	$params = '';
-	$kv = array();
-	foreach ($_POST as $key => $value)
-		if ($key != 'format')
-			$kv[] = $key.'='.urlencode($value);
-	$query_string = join("&", $kv);
-	die('<a href="reports.php?format=downloadcsv&'.$query_string.'">'.get_lang('DownloadFile').'</a>');
-} else if ($_REQUEST['format'] == 'downloadcsv') {
-	if ((strpos($_SERVER['HTTP_USER_AGENT'], 'MSIE') !== false) && (strpos($_SERVER['HTTP_USER_AGENT'], 'Opera') == false)) {
-		header("Pragma: must-revalidate");
-		header("Cache-Control: must-revalidate");
-		header("Content-type: application/vnd.ms-excel");
-	}
-	else {
-		header("Content-type: text/csv");
-	}
-	$date = date("Y-m-d");
-	$filename = "reporting-$date.csv";
-	header("Content-Disposition: attachment; filename=$filename");
-	$_REQUEST['format'] = 'csv';
+if ($_REQUEST['format'] == 'csv') {
+    // converting post vars to get uri
+    $params = '';
+    $kv = array();
+    foreach ($_POST as $key => $value) {
+        if ($key != 'format') {
+            $kv[] = $key . '=' . urlencode($value);
+        }
+    }
+    $query_string = join("&", $kv);
+    die('<a href="reports.php?format=downloadcsv&' . $query_string . '">' . get_lang('DownloadFile') . '</a>');
+} else {
+    if ($_REQUEST['format'] == 'downloadcsv') {
+        if ((strpos($_SERVER['HTTP_USER_AGENT'], 'MSIE') !== false) && (strpos($_SERVER['HTTP_USER_AGENT'],
+                    'Opera') == false)
+        ) {
+            header("Pragma: must-revalidate");
+            header("Cache-Control: must-revalidate");
+            header("Content-type: application/vnd.ms-excel");
+        } else {
+            header("Content-type: text/csv");
+        }
+        $date = date("Y-m-d");
+        $filename = "reporting-$date.csv";
+        header("Content-Disposition: attachment; filename=$filename");
+        $_REQUEST['format'] = 'csv';
+    }
 }
 
 
-
 if (is_array($reports_template[$_REQUEST['type']])) {
-	$query = $reports_template[$_REQUEST['type']]['getSQL']();
-	if (! is_array($query))
-		$query = array($query);
-	if ($_REQUEST['format'] == 'sql')
-		die(var_export($query, true));
-
-	$result = multiquery_query($query);
-
-
-	// check number of result
-	$numberOfResult = multiquery_num_rows($result);
-	if ($numberOfResult == 0) {
-		// This case should be taken care of by the display template itself, we should let the script run
-		//die(get_lang('NoDataAvailable'));
-	}
+    $query = $reports_template[$_REQUEST['type']]['getSQL']();
+    if (!is_array($query)) {
+        $query = array($query);
+    }
+    if ($_REQUEST['format'] == 'sql') {
+        die(var_export($query, true));
+    }
+
+    $result = multiquery_query($query);
+
+
+    // check number of result
+    $numberOfResult = multiquery_num_rows($result);
+    if ($numberOfResult == 0) {
+        // This case should be taken care of by the display template itself, we should let the script run
+        //die(get_lang('NoDataAvailable'));
+    }
 } else {
-	die('<b>'.get_lang('ErrorWhileBuildingReport').'</b>');
+    die('<b>' . get_lang('ErrorWhileBuildingReport') . '</b>');
 }
 
 if ($_REQUEST['format'] == 'html' || $_REQUEST['format'] == 'directlink') {
-	if (isset($reports_template[$_REQUEST['type']]['html_header'])) {
-		echo $reports_template[$_REQUEST['type']]['html_header'];
-	}
-	echo '<script type="text/javascript" charset="utf-8">
+    if (isset($reports_template[$_REQUEST['type']]['html_header'])) {
+        echo $reports_template[$_REQUEST['type']]['html_header'];
+    }
+    echo '<script type="text/javascript" charset="utf-8">
 			$(document).ready(function() {
 
-				$("#reportsData'.$idsuffix.'").dataTable({
+				$("#reportsData' . $idsuffix . '").dataTable({
 					"oLanguage":
 						{
 							"sProcessing":   "Traitement en cours...",
 							"sLengthMenu":   "Afficher _MENU_ éléments",
 							"sZeroRecords":  "Aucun élément à afficher",
-							"sInfo":         "Affichage de l'."'".'élement _START_ à _END_ sur _TOTAL_ éléments",
-							"sInfoEmpty":    "Affichage de l'."'".'élement 0 à 0 sur 0 éléments",
+							"sInfo":         "Affichage de l' . "'" . 'élement _START_ à _END_ sur _TOTAL_ éléments",
+							"sInfoEmpty":    "Affichage de l' . "'" . 'élement 0 à 0 sur 0 éléments",
 							"sInfoFiltered": "(filtré de _MAX_ éléments au total)",
 							"sInfoPostFix":  "",
 							"sSearch":       "Rechercher :",
@@ -143,50 +152,55 @@ if ($_REQUEST['format'] == 'html' || $_REQUEST['format'] == 'directlink') {
 				});
 			} );
 		</script>';
-	echo '<table id="reportsData'.$idsuffix.'" class="display">'; // FIXME style
-
-	// counting fields
-	$nfields = multiquery_num_fields($result);
-	$columns = array();
-	$columns_islink = array();
-	echo '<thead><tr>';
-	for ($i=0; $i < $nfields; $i++)	{
-		$columns[$i] = multiquery_field_name($result, $i);
-		if (substr($columns[$i], -5, 5) != '_link') {
-			$column_islink[$i] = false;
-			echo '<th>'.$columns[$i].'</th>';
-		} else
-			$columns_islink[$i] = true;
-	}
-
-	// checking resolving link column id
-	$columns_flip = array_flip($columns);
-	$columns_link = array();
-	for ($i=0; $i < $nfields; $i++)
-		if ($column_islink[$i] == false && array_key_exists($columns[$i].'_link', $columns_flip))
-			$columns_link[$i] = $columns_flip[$columns[$i].'_link'];
-		else
-			$columns_link[$i] = '';
-	echo '</tr></thead><tbody>';
-	while ($row = multiquery_fetch_row($result)) {
-		echo '<tr>';
-		for ($i = 0; $i<$nfields; $i++)
-			if (!$columns_islink[$i]){ // ignore links
-				if ($columns_link[$i] != '') // link is defined
-					if (substr($columns_link[$i],0,10) == 'javascript') {
-						echo '<td><a href="#" onclick="'.$row[$columns_link[$i]].'">'.$row[$i].'</a></td>';
-					}
-					else {
-						echo '<td><a href="'.$row[$columns_link[$i]].'">'.$row[$i].'</a></td>';
-					}
-				else
-					echo '<td>'.$row[$i].'</td>';
-			}
-		echo "</tr>\n";
-	}
-	echo '</tbody></table>';
-	if ($_REQUEST['format'] == 'directlink') {
-		echo '</div>
+    echo '<table id="reportsData' . $idsuffix . '" class="display">'; // FIXME style
+
+    // counting fields
+    $nfields = multiquery_num_fields($result);
+    $columns = array();
+    $columns_islink = array();
+    echo '<thead><tr>';
+    for ($i = 0; $i < $nfields; $i++) {
+        $columns[$i] = multiquery_field_name($result, $i);
+        if (substr($columns[$i], -5, 5) != '_link') {
+            $column_islink[$i] = false;
+            echo '<th>' . $columns[$i] . '</th>';
+        } else {
+            $columns_islink[$i] = true;
+        }
+    }
+
+    // checking resolving link column id
+    $columns_flip = array_flip($columns);
+    $columns_link = array();
+    for ($i = 0; $i < $nfields; $i++) {
+        if ($column_islink[$i] == false && array_key_exists($columns[$i] . '_link', $columns_flip)) {
+            $columns_link[$i] = $columns_flip[$columns[$i] . '_link'];
+        } else {
+            $columns_link[$i] = '';
+        }
+    }
+    echo '</tr></thead><tbody>';
+    while ($row = multiquery_fetch_row($result)) {
+        echo '<tr>';
+        for ($i = 0; $i < $nfields; $i++) {
+            if (!$columns_islink[$i]) { // ignore links
+                if ($columns_link[$i] != '') // link is defined
+                {
+                    if (substr($columns_link[$i], 0, 10) == 'javascript') {
+                        echo '<td><a href="#" onclick="' . $row[$columns_link[$i]] . '">' . $row[$i] . '</a></td>';
+                    } else {
+                        echo '<td><a href="' . $row[$columns_link[$i]] . '">' . $row[$i] . '</a></td>';
+                    }
+                } else {
+                    echo '<td>' . $row[$i] . '</td>';
+                }
+            }
+        }
+        echo "</tr>\n";
+    }
+    echo '</tbody></table>';
+    if ($_REQUEST['format'] == 'directlink') {
+        echo '</div>
 		<div id="result2" class="result" style="margin: 50px;">
 		</div>
 		<div id="result3" class="result" style="margin: 100px;">
@@ -194,36 +208,46 @@ if ($_REQUEST['format'] == 'html' || $_REQUEST['format'] == 'directlink') {
 		<div id="result4" class="result" style="margin: 150px;">
 		</div>';
 
-		Display::display_footer();
-
-	}
-} else if ($_REQUEST['format'] == 'csv') {
-	$nfields = multiquery_num_fields($result);
-	$columns = array();
-	$columns_islink = array();
-	for ($i=0; $i < $nfields; $i++)	{
-		$columns[$i] = multiquery_field_name($result, $i);
-		if (substr($columns[$i], -5, 5) != '_link') {
-			$column_islink[$i] = false;
-			echo csv_escaping($columns[$i]).',';
-		} else
-			$columns_islink[$i] = true;
-	}
-
-	echo "\n";
-	while ($row = multiquery_fetch_row($result)) {
-		for ($i = 0; $i<$nfields; $i++)
-			if (!$columns_islink[$i]) // ignore links
-				echo csv_escaping($row[$i]).',';  // fixme
-		echo "\n";
-	}
-} else die(get_lang('UnknownFormat'));
-
-function csv_escaping($value, $csv_separator = ',') {
-	$value = str_replace('"','""',$value);
-	if (strpos($value, '""') or strpos($value, $csv_separator) or $value != trim($value) ) {
-		$value = '"'.$value.'"';
-	}
-	return $value;
+        Display::display_footer();
+
+    }
+} else {
+    if ($_REQUEST['format'] == 'csv') {
+        $nfields = multiquery_num_fields($result);
+        $columns = array();
+        $columns_islink = array();
+        for ($i = 0; $i < $nfields; $i++) {
+            $columns[$i] = multiquery_field_name($result, $i);
+            if (substr($columns[$i], -5, 5) != '_link') {
+                $column_islink[$i] = false;
+                echo csv_escaping($columns[$i]) . ',';
+            } else {
+                $columns_islink[$i] = true;
+            }
+        }
+
+        echo "\n";
+        while ($row = multiquery_fetch_row($result)) {
+            for ($i = 0; $i < $nfields; $i++) {
+                if (!$columns_islink[$i]) // ignore links
+                {
+                    echo csv_escaping($row[$i]) . ',';
+                }
+            }  // fixme
+            echo "\n";
+        }
+    } else {
+        die(get_lang('UnknownFormat'));
+    }
+}
+
+function csv_escaping($value, $csv_separator = ',')
+{
+    $value = str_replace('"', '""', $value);
+    if (strpos($value, '""') or strpos($value, $csv_separator) or $value != trim($value)) {
+        $value = '"' . $value . '"';
+    }
+    return $value;
 }
+
 ?>

+ 31 - 26
main/reports/templates/courseTime.reports.php

@@ -11,31 +11,36 @@ $reports_template['courseTime'] = array(
 </span>
 ');*/
 
-function reports_template_courseTime_getSQL() {
-	// fetch columns
-	$result = array();
-	$query = 'select r.id as kid, c.title as course '.
-		'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 is null and r.child_id is null'.
-		' order by c.title';
-	$columns = Database::query($query);
-	if (Database::num_rows($columns) == 0)
-		die('<b>'.get_lang('no data found: '.$query).'</b>');
-	$columns = Database::store_result($columns);
+function reports_template_courseTime_getSQL()
+{
+    // fetch columns
+    $result = array();
+    $query = 'select r.id as kid, c.title as course ' .
+        '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 is null and r.child_id is null' .
+        ' order by c.title';
+    $columns = Database::query($query);
+    if (Database::num_rows($columns) == 0) {
+        die('<b>' . get_lang('no data found: ' . $query) . '</b>');
+    }
+    $columns = Database::store_result($columns);
 
-	// fetch data
-	$query = 'select u.lastname Name, u.firstname Firstname';
-	foreach ($columns as $key => $column)
-		$query .= ', sec_to_time(k'.$key.'.report_time) as `'.
-				$column['course'].'` '; 
-	$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 ';
-	return $query;
+    // fetch data
+    $query = 'select u.lastname Name, u.firstname Firstname';
+    foreach ($columns as $key => $column) {
+        $query .= ', sec_to_time(k' . $key . '.report_time) as `' .
+            $column['course'] . '` ';
+    }
+    $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 ';
+    }
+    return $query;
 }

+ 53 - 51
main/reports/templates/generic.reports.php

@@ -1,60 +1,62 @@
 <?php
 
 $reports_template['Generic'] = array(
-	'description' => 'Generic',
-	'getSQL' => 'reports_template_Generic_getSQL',
-	'wizard' =>
-'
+    'description' => 'Generic',
+    'getSQL' => 'reports_template_Generic_getSQL',
+    'wizard' =>
+        '
 <span id="Generic" class="step">
 	<span class="font_normal_07em_black">This report does not need any particular settings</span><br />
 	<input type="hidden" class="link" value="format" />
 </span>
-');
-
-function reports_template_Generic_getSQL() {
-	// settings
-
-
-	// Nom, prenom
-	$query = 'select u.lastname as "Last name", u.firstname as "First name" ';
-	$query .= 'from '.Database::get_main_table(TABLE_MAIN_USER).' u ';
-	$query .= ' where u.user_id in ('.reports_getVisibilitySQL().') ';
-	$query .= ' order by u.user_id ';
-	$queries[0] = $query;
-
-	// Custom Field
-	foreach (array(10 => "description") as $k => $v) {
-		$query = 'select ufv.value  as "'.$v.'" ';
-		$query .= 'from '.Database::get_main_table(TABLE_MAIN_USER).' u ';
-		$query .= 'left outer join '.Database::get_main_table(TABLE_EXTRA_FIELD_VALUES).' ufv ';
-		$query .= ' on ufv.item_id = u.user_id and ufv.field_id = '.$k;
-		$query .= ' where u.user_id in ('.reports_getVisibilitySQL().') ';
-		$query .= ' order by u.user_id ';
-		$queries[] = $query;
-	}
-
-	// Stored Value
-	$sv = array();
-	foreach ($sv as $k => $v) {
-		$query = 'select sec_to_time(sv.sv_value) as "'.$v.'" ';
-		$query .= 'from '.Database::get_main_table(TABLE_MAIN_USER).' u ';
-		$query .= ' left outer join '.Database::get_main_table(TABLE_TRACK_STORED_VALUES).' sv ';
-		$query .= 'on sv.user_id = u.user_id and sv_key = "'.$k.'" ';
-		$query .= ' where u.user_id in ('.reports_getVisibilitySQL().') ';
-		$query .= ' order by u.user_id ';
-		$queries[] = $query;
-	}
-
-	// premiere connexion
-	$query = 'select min(tel.login_date) as "First connection", max(tel.logout_date) as "Latest connection"  ';
-	$query .= 'from '.Database::get_main_table(TABLE_MAIN_USER).' u ';
-	$query .= 'left outer join '.Database::get_main_table(TABLE_STATISTIC_TRACK_E_LOGIN).' tel ';
-	$query .= ' on tel.login_user_id = u.user_id ';
-	$query .= ' where u.user_id in ('.reports_getVisibilitySQL().') ';
-	$query .= ' group by u.user_id ';
-	$query .= ' order by u.user_id ';
-	$queries[] = $query;
-
-	return $queries;
+'
+);
+
+function reports_template_Generic_getSQL()
+{
+    // settings
+
+
+    // Nom, prenom
+    $query = 'select u.lastname as "Last name", u.firstname as "First name" ';
+    $query .= 'from ' . Database::get_main_table(TABLE_MAIN_USER) . ' u ';
+    $query .= ' where u.user_id in (' . reports_getVisibilitySQL() . ') ';
+    $query .= ' order by u.user_id ';
+    $queries[0] = $query;
+
+    // Custom Field
+    foreach (array(10 => "description") as $k => $v) {
+        $query = 'select ufv.value  as "' . $v . '" ';
+        $query .= 'from ' . Database::get_main_table(TABLE_MAIN_USER) . ' u ';
+        $query .= 'left outer join ' . Database::get_main_table(TABLE_EXTRA_FIELD_VALUES) . ' ufv ';
+        $query .= ' on ufv.item_id = u.user_id and ufv.field_id = ' . $k;
+        $query .= ' where u.user_id in (' . reports_getVisibilitySQL() . ') ';
+        $query .= ' order by u.user_id ';
+        $queries[] = $query;
+    }
+
+    // Stored Value
+    $sv = array();
+    foreach ($sv as $k => $v) {
+        $query = 'select sec_to_time(sv.sv_value) as "' . $v . '" ';
+        $query .= 'from ' . Database::get_main_table(TABLE_MAIN_USER) . ' u ';
+        $query .= ' left outer join ' . Database::get_main_table(TABLE_TRACK_STORED_VALUES) . ' sv ';
+        $query .= 'on sv.user_id = u.user_id and sv_key = "' . $k . '" ';
+        $query .= ' where u.user_id in (' . reports_getVisibilitySQL() . ') ';
+        $query .= ' order by u.user_id ';
+        $queries[] = $query;
+    }
+
+    // premiere connexion
+    $query = 'select min(tel.login_date) as "First connection", max(tel.logout_date) as "Latest connection"  ';
+    $query .= 'from ' . Database::get_main_table(TABLE_MAIN_USER) . ' u ';
+    $query .= 'left outer join ' . Database::get_main_table(TABLE_STATISTIC_TRACK_E_LOGIN) . ' tel ';
+    $query .= ' on tel.login_user_id = u.user_id ';
+    $query .= ' where u.user_id in (' . reports_getVisibilitySQL() . ') ';
+    $query .= ' group by u.user_id ';
+    $query .= ' order by u.user_id ';
+    $queries[] = $query;
+
+    return $queries;
 }