reports: i18n + link based on jk's work

skala
arnaud 14 years ago
parent aab627b084
commit 3f6833f940
  1. 35
      main/lang/english/reportlib.inc.php
  2. 35
      main/lang/french/reportlib.inc.php
  3. 29
      main/reports/index.php
  4. 48
      main/reports/reports.php

@ -0,0 +1,35 @@
<?php
$Reports = 'Rapports';
$DownloadFile = 'T&eacute;l&eacute;charger le fichier.';
$ErrorWhileBuildingReport = 'Une erreur est survenue pendant la pr&eacute;paration de ce rapport.';
$UnknownFormat = 'Format inconnu.';
$PleaseFillFormToBuildReport = 'Veuillez remplir le formulaire suivant pour construire votre rapport :';
$PleaseChooseReportType = 'Veuillez choisir le type de rapport :';
$ReportType = 'Type de rapport';
$ReportFormat = 'Format de rapport';
$ShowWizard = 'Afficher l\'assistant';
$ReportsRequiresNoSetting = 'Ce type de rapport ne n&eacute;cessite pas de configuration.';
$Firstname = 'Pr&eacute;nom';
$Lastname = 'Nom';
$Published = 'Publi&eacute;';
$NotPublished = 'Non publi&eacute;';
$AutoEvaluation = 'Auto-&eacute;valuation';
$TimeSpentByStudentsInCourses = 'Temps pass&eacute; par les apprenants dans chaque cours';
$TimeSpentByStudentsInCoursesGroupedByCode = 'Temps pass&eacute; par les apprenants dans chaque cours, group&eacute;s par code';
$TestResultsByStudentsGroupesByCode = 'R&eacute;sultats de tests pour chaque apprenant, group&eacute;s par code';
$TestResultsByStudents = 'R&eacute;sultats de tests pour chaque apprenant';
$HowToTreatAttempts = 'Traitement des tentatives multiples';
$PickOnlyFirstOne = 'Ne prendre la premi&egrave;re';
$PickOnlyLastOne = 'Ne prendre que la derni&eagrave;re';
$PickAverageValue = 'Prendre la valeur moyenne';
$PickMinimumValue = 'Prendre la valeur minimale';
$PickMaximumValue = 'Prendre la valeur maximale';
$QuestionGroupQuizByCourses = 'Voulez-vous grouper les tests par cours ?';
$DoNotGroup = 'Ne pas grouper';
$GroupAndShowAverage = 'Grouper et afficher la valeur moyenne';
$GroupAndShowMinimum = 'Grouper et afficher la valeur minimale';
$GroupAndShowMaximum = 'Grouper et afficher la valeur maximale';
$Back = 'Retour';
$Next = 'Suivant';
$ReportTypeLink = 'Lien';
?>

@ -0,0 +1,35 @@
<?php
$Reports = 'Rapports';
$DownloadFile = 'T&eacute;l&eacute;charger le fichier.';
$ErrorWhileBuildingReport = 'Une erreur est survenue pendant la pr&eacute;paration de ce rapport.';
$UnknownFormat = 'Format inconnu.';
$PleaseFillFormToBuildReport = 'Veuillez remplir le formulaire suivant pour construire votre rapport :';
$PleaseChooseReportType = 'Veuillez choisir le type de rapport :';
$ReportType = 'Type de rapport';
$ReportFormat = 'Format de rapport';
$ShowWizard = 'Afficher l\'assistant';
$ReportsRequiresNoSetting = 'Ce type de rapport ne n&eacute;cessite pas de configuration.';
$Firstname = 'Pr&eacute;nom';
$Lastname = 'Nom';
$Published = 'Publi&eacute;';
$NotPublished = 'Non publi&eacute;';
$AutoEvaluation = 'Auto-&eacute;valuation';
$TimeSpentByStudentsInCourses = 'Temps pass&eacute; par les apprenants dans chaque cours';
$TimeSpentByStudentsInCoursesGroupedByCode = 'Temps pass&eacute; par les apprenants dans chaque cours, group&eacute;s par code';
$TestResultsByStudentsGroupesByCode = 'R&eacute;sultats de tests pour chaque apprenant, group&eacute;s par code';
$TestResultsByStudents = 'R&eacute;sultats de tests pour chaque apprenant';
$HowToTreatAttempts = 'Traitement des tentatives multiples';
$PickOnlyFirstOne = 'Ne prendre la premi&egrave;re';
$PickOnlyLastOne = 'Ne prendre que la derni&eagrave;re';
$PickAverageValue = 'Prendre la valeur moyenne';
$PickMinimumValue = 'Prendre la valeur minimale';
$PickMaximumValue = 'Prendre la valeur maximale';
$QuestionGroupQuizByCourses = 'Voulez-vous grouper les tests par cours ?';
$DoNotGroup = 'Ne pas grouper';
$GroupAndShowAverage = 'Grouper et afficher la valeur moyenne';
$GroupAndShowMinimum = 'Grouper et afficher la valeur minimale';
$GroupAndShowMaximum = 'Grouper et afficher la valeur maximale';
$Back = 'Retour';
$Next = 'Suivant';
$ReportTypeLink = 'Lien';
?>

@ -9,7 +9,7 @@
*/
// name of the language file that needs to be included
$language_file = array ('index', 'tracking', 'userInfo', 'admin', 'gradebook'); // FIXME
$language_file = array('reportlib');
$cidReset = true;
@ -105,6 +105,9 @@ $htmlHeadXtra[] = ' <style type="text/css">
#result {
padding-top: 15px;
}
select.link, select.link:hover {
color: black;
}
</style>';
$htmlCSSXtra[] = 'dataTable.css';
@ -115,16 +118,15 @@ Display::display_header($tool_name);
?>
<div id="reportsBuilderWizard">
<h3>Reports Builder</h3>
<h3><?php get_lang('Reports'); ?></h3>
<div id='wizardContent'>
<p>Please fill the following from to build your report.
<hr />
<p><?php echo get_lang('PleaseFillFormToBuildReport'); ?></p>
<h5 id="status"></h5>
<form id="reportsBuilderWizardForm" method="post" action="reports.php" class="bbq">
<div id="fieldWrapper">
<span class="step" id="first">
<span class="font_normal_07em_black">Please choose between the different type of reports</span><br />
<label for="type">Report Type</label><br />
<span class="font_normal_07em_black"><?php echo get_lang('PleaseChooseReportType'); ?></span><br />
<label for="type"><?php echo get_lang('ReportType'); ?></label><br />
<select class="input_field_12em link required" name="type" id="type">
<?php
foreach($reports_template as $key => $value)
@ -137,24 +139,25 @@ foreach($reports_template as $key => $value)
echo $value['wizard'];
?>
<span id="format" class="step submit_step">
<span class="font_normal_07em_black">Format</span><br />
<span class="font_normal_07em_black"><?php echo get_lang('ReportFormat'); ?></span><br />
<select name="format" id="format">
<option value="html">html</option>
<option value="csv">csv</option>
<option value="sql">sql</option>
<option value="html">HTML</option>
<option value="csv">CSV</option>
<option value="sql">SQL</option>
<option value="link"><?php echo get_lang('ReportTypeLink'); ?></option>
</select><br />
</span>
</div>
<div id="wizardNavigation">
<input class="navigation_button" id="back" value="Back" type="reset" />
<input class="navigation_button" id="next" value="Next" type="submit" />
<input class="navigation_button" id="back" value="<?php echo get_lang('Back'); ?>" type="reset" />
<input class="navigation_button" id="next" value="<?php echo get_lang('Next'); ?>" type="submit" />
</div>
</form>
<hr />
</div>
<div id="wizardShowButton">
Show Wizard
<?php echo get_lang('ShowWizard'); ?>
</div>
<p id="data"></p>

@ -9,7 +9,7 @@
*/
// name of the language file that needs to be included
$language_file = array ('index', 'tracking', 'userInfo', 'admin', 'gradebook'); // FIXME
$language_file = array('reportlib');
$cidReset = true;
// including files
@ -30,6 +30,26 @@ $tool_name=get_lang('Reports');
// loading templates
reports_loadTemplates();
// "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>');
}
if ($_REQUEST['format'] == 'directlink') {
foreach (array('jquery.js', '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';
Display::display_header($tool_name);
}
// outputing a link to csv file instead of outputing csv data directly
if ($_REQUEST['format'] == 'csv') {
// converting post vars to get uri
@ -39,9 +59,19 @@ if ($_REQUEST['format'] == 'csv') {
if ($key != 'format')
$kv[] = $key.'='.urlencode($value);
$query_string = join("&", $kv);
die('<a href="reports.php?format=downloadcsv&'.$query_string.'">download file</a>');
die('<a href="reports.php?format=downloadcsv&'.$query_string.'">'.get_lang('DownloadFile').'</a>');
} else if ($_REQUEST['format'] == 'downloadcsv') {
header('content-type: application/csv'); // fixme
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';
}
@ -53,10 +83,10 @@ if (is_array($reports_template[$_REQUEST['type']])) {
die($query);
$result = Database::query($query);
} else {
die('<b>'.get_lang('error while building your report').'</b>');
die('<b>'.get_lang('ErrorWhileBuildingReport').'</b>');
}
if ($_REQUEST['format'] == 'html') {
if ($_REQUEST['format'] == 'html' || $_REQUEST['format'] == 'directlink') {
echo '<script type="text/javascript" charset="utf-8">
$(document).ready(function() {
$("#reportsData").dataTable();
@ -64,6 +94,9 @@ if ($_REQUEST['format'] == 'html') {
</script>';
echo '<table id="reportsData" class="display">'; // FIXME style
$nfields = mysql_num_fields($result);
if (mysql_num_rows($result) == 0) {
die(get_lang('NoDataAvailable'));
}
$columns = array();
$columns_islink = array();
echo '<thead><tr>';
@ -98,6 +131,9 @@ if ($_REQUEST['format'] == 'html') {
echo "</tr>\n";
}
echo '</tbody></table>';
if ($_REQUEST['format'] == 'directlink') {
Display::display_footer();
}
} else if ($_REQUEST['format'] == 'csv') {
$nfields = mysql_num_fields($result);
$columns = array();
@ -118,6 +154,6 @@ if ($_REQUEST['format'] == 'html') {
echo $row[$i].','; // fixme
echo "\n";
}
} else die('format unknown');
} else die(get_lang('UnknownFormat'));
?>

Loading…
Cancel
Save