// ensure the files area exists for this course
// Inutile car pas de sauvegarde dans les donn�es du cours.
// make_upload_directory( "$course->id/$CFG->moddata/referentiel" );
if (empty($exportfilename)) {
    $exportfilename = "outcomes_" . referentiel_default_export_filename($referentiel_referentiel->code_referentiel) . '.csv';
}
$systemcontext = context_system::instance();
header("Content-Type: text/csv; charset=utf-8");
header("Content-Disposition: attachment; filename={$exportfilename}");
// sending header with clear names, to make 'what is what' as easy as possible to understand
$header = array('outcome_name', 'outcome_shortname', 'outcome_description', 'scale_name', 'scale_items', 'scale_description');
echo format_csv($header, ';', '"');
$outcomes = array();
$outcomes = referentiel_get_outcomes($referentiel_referentiel);
// scale used with these outcomes
$scale_info = referentiel_get_scale_info($referentiel_referentiel->id);
/*
outcome_name;outcome_shortname;outcome_description;scale_name;scale_items;scale_description;
C2i2e A.1.1;A.1.1;A.1.1 : Identifier les personnes ressources TIC et leurs rôles respectifs dans l'école ou l'établissement, et en dehors (circonscription, bassin, Académie, niveau national...) ;Item référentiel;Non acquis,En cours d'acquisition,Acquis;Ce barème est destiné à évaluer (noter) les items de compétences du module référentiel. 
C2i2e A.1.2 	A.1.2 	A.1.2 S'approprier les différentes composantes informatiques (lieux, outils...) de son environnement professionnel 	Item référentiel	Non acquis,En cours d'acquisition,Acquis	Ce barème est destiné à évaluer (noter) les items de compétences du module référentiel.   
*/
foreach ($outcomes as $outcome) {
    $line = array();
    // purger les caracteres separateurs
    $line[] = str_replace(';', ',', $outcome->name);
    $line[] = str_replace(';', ',', $outcome->shortname);
    $line[] = str_replace(';', ',', $outcome->description);
    $line[] = $scale_info->name;
    $line[] = $scale_info->grades;
    $line[] = str_replace(';', ' ', $scale_info->description);
    echo format_csv($line, ';', '"');
require_login($course);
$params = array("blockid" => $blockid, "courseid" => $courseid, "occurrenceid" => $occurrenceid);
$occurrence_object = new occurrence($params);
require_capability('mod/referentiel:export', $context);
if (empty($exportfilename)) {
    $exportfilename = "compfrwrk_" . referentiel_default_export_filename($occurrence_object->referentiel->code_referentiel) . '-comma_separated.csv';
}
// $systemcontext = get_context_instance(CONTEXT_SYSTEM);
header("Content-Type: text/csv; charset=utf-8");
header("Content-Disposition: attachment; filename={$exportfilename}");
// sending header with clear names, to make 'what is what' as easy as possible to understand
//$header = array('outcome_name', 'outcome_shortname', 'outcome_description', 'scale_name', 'scale_items', 'scale_description');
$header = array("Parent id number", "Id number", 'Shortname', 'Description', "Description format", "Scale values", "Scale configuration", "Rule type (optional)", "Rule outcome (optional)", "Rule config (optional)", "Cross referenced competency id numbers", "Exported id (optional)", "Is framework", 'Taxonomy');
echo format_csv($header, ',', '"');
// scale used with these outcomes
$scale_info = referentiel_get_scale_info($occurrence_object->referentiel->id);
$outcomes = array();
$outcomes = referentiel_get_outcomes($occurrence_object->referentiel, $scale_info);
/*
"Parent id number","Id number",Shortname,Description,"Description format","Scale values","Scale configuration","Rule type (optional)","Rule outcome (optional)","Rule config (optional)","Cross referenced competency id numbers","Exported id (optional)","Is framework",Taxonomy
,C2i0,C2i,"<p>Certification Internet<br></p>",1,"Non pertinent,Non validé,Validé","[{""scaleid"":""1""},{""id"":2,""scaledefault"":1,""proficient"":0},{""id"":3,""scaledefault"":0,""proficient"":1}]",,,,,,1,"domain,competency,skill,value"
,C2i0ET,"Environnement de travail","<p>Maîtrise de l'environnement de travail personnel<br /></p>",1,"Non pertinent,Non validé,Validé","[{""scaleid"":""1""},{""id"":2,""scaledefault"":1,""proficient"":0},{""id"":3,""scaledefault"":0,""proficient"":1}]","core_competency\competency_rule_points",2,"{""base"":{""points"":2},""competencies"":[{""id"":2,""points"":2,""required"":1}]}",,1,,
C2i0ET,C2i0ETPoste,"Gestion du poste de travail","<p>Je sais allumer, éteindre et entretenir mon poste de travail<br /></p>",1,,,"core_competency\competency_rule_points",2,"{""base"":{""points"":2},""competencies"":[{""id"":3,""points"":1,""required"":1},{""id"":4,""points"":1,""required"":1}]}",,2,,
C2i0ETPoste,C2i0ETPosteFichiers,"Gestion des fichiers","<p>Je sais organiser , déposer et retrouver mes données et fichiers<br></p>",1,,,,0,null,,3,,
C2i0ETPoste,C2i0ETGestionReseau,"Travail en réseau","<p>Je sais me connecter au réseau et échanger des fichiers<br></p>",1,,,,0,null,,4,,
*/
foreach ($outcomes as $outcome) {
    $line = array();
    // purger les caracteres separateurs qui seraint dans les textes
    $line[] = $outcome->parentid;
    // 1