function exporter_test() { global $page; global $resultat; global $message; $page['gabarit'] = "administration"; if (isset($_SESSION['role_user']) && droit_acces($resultat['exporter_test'], $_SESSION['role_user'])) { $page['vue'] = "resultats/exporter_test.vue.php"; $page['colonne'] = "tests/sidebar_test.vue.php"; $page['tests'] = liste_test(); $page['motifs'] = liste_motif(); $page['lieux'] = liste_lieux(); if (isset($_GET['id'])) { $id = $_GET['id']; } if (isset($_POST['id_test'])) { $id = $_POST['id_test']; } $page['id_test'] = $id; $page['test'] = get_test($id); $page['test'] = $page['test'][0]; if (isset($_POST['exporter'])) { if (isset($_POST['type_export'])) { $test = get_contenu_test_actif($id); $i = 0; foreach ($test as $key => $content) { if ($content['type'] == 'item') { $item = get_item($content['id_element']); $test[$i] = $item[0]; $i++; } else { $items = get_item_by_section($content['id_element']); foreach ($items as $it) { $test[$i] = $it; $i++; } } } if ($_POST['type_export'] == 'valeur') { $column = array(); foreach ($_POST["critere"] as $c) { if ($c == 'distinct(candidat.nid_candidat)') { $c = 'nid_candidat'; } $column[] = $c; } foreach ($test as $item) { $column[] = $item['libelle_item']; $column[] = $item['libelle_item'] . ' position'; } // output headers so that the file is downloaded rather than displayed // create a file pointer connected to the output stream $output = fopen('php://output', 'w'); // output the column headings fputcsv($output, $column, ';'); // fetch the data $candidats = get_candidats_filtre_reponse($_POST['id_test'], $_POST['crea1'], $_POST['crea1'], $_POST['id_motif'], $_POST['id_organisme'], $_POST['critere']); // loop over the rows, outputting them foreach ($candidats as $c) { foreach ($test as $item) { $rep = get_reponse_item_candidat($item['id_item'], $c['nid_candidat'], $id); $reponse = ""; $reponsep = ""; foreach ($rep as $r) { $reponse .= $r['libelle_reponse'] . '|'; } $c[] = $reponse; foreach ($rep as $r) { $reponsep .= $r['position_reponse'] . '|'; } $c[] = $reponsep; } fputcsv($output, $c, ';'); } fclose($output); header("Cache-Control: must-revalidate, post-check=0, pre-check=0"); header('Content-Description: File Transfer'); header("Content-type: text/csv"); header("Content-Disposition: attachment; filename=data.csv"); header("Expires: 0"); header("Pragma: public"); exit; } if ($_POST['type_export'] == 'score') { // output headers so that the file is downloaded rather than displayed header("Cache-Control: must-revalidate, post-check=0, pre-check=0"); header('Content-Description: File Transfer'); header("Content-type: text/csv"); header("Content-Disposition: attachment; filename=data.csv"); header("Expires: 0"); header("Pragma: public"); // create a file pointer connected to the output stream $output = fopen('php://output', 'w'); $column = array(); foreach ($_POST["critere"] as $c) { $column[] = $c; } foreach ($test as $item) { $dims = get_dim_item($item['id_item']); foreach ($dims as $dim) { $column[] = $item['libelle_item'] . "_" . $dim['libelle_court_dimension']; } } // output the column headings fputcsv($output, $column, ';'); // fetch the data $candidats = get_candidats_filtre_reponse($_POST['id_test'], $_POST['crea1'], $_POST['crea1'], $_POST['id_motif'], $_POST['id_organisme'], $_POST['critere']); foreach ($candidats as $c) { foreach ($test as $item) { $dims = get_dim_item($item['id_item']); foreach ($dims as $dim) { $rep = get_score_dim_item_candidat($item['id_item'], $c['nid_candidat'], $id, $dim['id_dimension']); $reponse = ""; foreach ($rep as $r) { $reponse .= $r['score_brut'] . ' | '; } $c[] = $reponse; } } fputcsv($output, $c, ';'); } fclose($output); exit; } } else { $page['message'] = $message['champs_obligatoire_2']; } } } else { $page['vue'] = "erreur_droit.vue.php"; } }
function editer_batterie() { global $page; global $test; global $message; //layout principal du site $page['gabarit'] = "administration"; //verification des droits d'acces if (isset($_SESSION['role_user']) && droit_acces($test['editer_test'], $_SESSION['role_user'])) { //recuperer la variable $id dans la barre url en get ou post if (isset($_GET['id'])) { $id = $_GET['id']; } if (isset($_POST['id_batterie'])) { $id = $_POST['id_batterie']; } //chargement de la batterie concernée $page['batterie'] = get_batterie($id); $page['batterie'] = $page['batterie'][0]; //recuperation du motif de la batterie $page['id_motif'] = get_motif_batterie($id); //*recuperation de la liste des motifs, et des tests pour la sidebar batterie $page['motif'] = liste_motif(); $page['etat'] = liste_etat(); $page['tests'] = liste_des_tests($page['batterie']['libelle_projet']); $page['projet'] = liste_projet(); $page['lieu'] = liste_lieux_auteur(); //organismes auteurs //--création des vues $page['vue'] = "batteries/edit_batterie.vue.php"; $page['colonne'] = "batteries/sidebar_edit_batterie.vue.php"; if (isset($_POST['edit_batterie'])) { if (is_current_version_test($_POST['id_batterie'], $_POST['revision'])) { update_revision_test($_POST['id_batterie']); // on supprime les anciens tests de la batterie avant de procéder à l'enregistrement de nouveaux delete_contenu_batterie($id); foreach ($_POST['tests'] as $key => $test) { // ajout de nouveaux tests dans la batterie (auto increment de l'ordre) add_batterie_test($id, $test, $key + 1); } //La batterie passe automatiquement en experimentation si elle a été éditée if ($page['batterie']['id_etat'] == 1) { set_batterie_to_experimentation($id); } //redirection sur la page d'accueil du controleur header("Location: index.php?controleur=batterie_test&tache=base"); } else { $page['message'] = $message['batterie_outdated']; } } else { $page['batterie'] = get_batterie($id); //on recupere la liste des batteries $page['batterie'] = $page['batterie'][0]; //on prend la premiere valeur du tableau recuperé //Affichage du message d'erreur si l'etat de la batterie ne permet pas la modification if (get_etat_batterie($id) >= 3) { $page['message'] = $message['batterie_edition_disabled']; } //recuperation du contenu de la batterie $page['batterie']['batterie_test'] = get_contenu_batterie($id); foreach ($page['batterie']['batterie_test'] as $key => $content) { $tests = get_test($content['id_test']); foreach ($tests[0] as $k => $val) { $page['batterie']['batterie_test'][$key][$k] = $val; } } } } else { $page['vue'] = "erreur_droit.vue.php"; } }
function production_test() { global $message; global $page; //passage en prod si etat 2 + popup + item en prod $page['vue'] = "tests/test.vue.php"; $page['colonne'] = "tests/sidebar_test.vue.php"; $page['tests'] = liste_test(); $page['sphere'] = liste_sphere(); $page['facteur'] = liste_facteur(); $page['lieu'] = liste_lieux_auteur(); $page['projet'] = liste_projet(); if (isset($_GET['id'])) { $id = $_GET['id']; } if (isset($_POST['id_test'])) { $id = $_POST['id_test']; } $page['gabarit'] = "administration"; $page['test'] = get_test($id); $page['test'] = $page['test'][0]; $page['test']['id_test'] = $id; $page['etat'] = liste_etat(); if (has_reponse_test($id)) { $page['message_info'] = $message['info_test_prod']; } if (isset($_POST['prod'])) { $page['test'] = get_test($id); $page['test'] = $page['test'][0]; if (is_current_version_test($id, $_POST['revision'])) { if ($_POST['code_test'] != "" && $_POST['libelle_long_test'] != "" && $_POST['version_test'] != "") { if ($page['test']['id_etat'] == 2) { if (has_reponse_test($id)) { /*duplication: la source passe en archive et le nouveau passe en production*/ $new_id = dupliquation_test_prod($_POST['id_test'], $_POST['code_test'], $_POST['libelle_long_test'], $_POST['version_test']); if ($new_id != false) { $page['test']['contenu_test'] = get_contenu_test($_POST['id_test']); foreach ($page['test']['contenu_test'] as $key => $content) { if ($content['type'] == 'item') { set_item_to_archive($content['id_element']); } else { $section = get_section($content['id_element']); foreach ($section[0] as $k => $v) { $items = get_item_by_section($content['id_element']); foreach ($items as $it) { set_item_to_archive($it['id_item']); } } } } set_test_to_archive($id); header("Location: index.php?controleur=test&tache=visualiser_test&id=" . $new_id); } else { $page['message'] = $message['test_existe'] . "<br/> Merci de les modifier pour le passage en production"; } } else { $mprod = set_test_to_production($id, $_POST['code_test'], $_POST['libelle_long_test'], $_POST['version_test']); if (mprod) { $page['test']['contenu_test'] = get_contenu_test($_POST['id_test']); foreach ($page['test']['contenu_test'] as $key => $content) { if ($content['type'] == 'item') { set_item_to_production($content['id_element']); } else { $section = get_section($content['id_element']); foreach ($section[0] as $k => $v) { $items = get_item_by_section($content['id_element']); foreach ($items as $it) { set_item_to_production($it['id_item']); } } } } header("Location: index.php?controleur=test&tache=visualiser_test&id=" . $id); } else { $page['message'] = $message['test_existe'] . "<br/> Merci de les modifier pour le passage en production"; } } } } else { $page['message'] = $message['champs_obligatoire_2']; } } else { header("Location: index.php?controleur=test&tache=visualiser_test&id=" . $id . "&message=outdated_test"); } } }