/** * registerCCPCformData - Enregistre les données du formulaire d'évaluation dans la base de donnée, et appelle la fonction {@link eval_ccpc_applyFilter} chargée de détecter les filtres s'appliquant au service * * @category : eval_ccpc_functions * @param array $formData Array contenant les données à enregistrer dans la base de données, fournis par la fonction {@link processCCPCformData} * @return boolean TRUE si l'enregistrement a été effectué avec succès, FALSE sinon * * @Author Ali Bellamine * */ function registerCCPCformData($formData) { initTable(); // S'assure de l'existence de la table dans la BDD global $db; // On enregistre le formulaire dans la base de donnée $listeSQL = array(); if (is_file(PLUGIN_PATH . 'formulaire.xml')) { if ($form = simplexml_load_file(PLUGIN_PATH . 'formulaire.xml')) { foreach ($form->categorie as $categorie) { foreach ($categorie->input as $input) { if ($input['type'] == 'select' || $input['type'] == 'radio' || $input['type'] == 'textarea') { $listeSQL[] = $input['nomBDD']; } else { if ($input['type'] == 'checkbox') { foreach ($input->checkbox as $checkbox) { $listeSQL[] = $checkbox['nomBDD']; } } else { if ($input['type'] == 'text') { foreach ($input->text as $text) { $listeSQL[] = $text['nomBDD']; } } } } } } } } /* On crée la requête SQL */ $SQLColumn = '(promotion, service, debutStage, finStage, nbExternesPeriode, date'; $SQLValues = '(:promotion, :service, :debutStage, :finStage, :nbExternesPeriode, :date'; foreach ($listeSQL as $itemSQL) { $SQLColumn .= ', '; $SQLValues .= ', '; $SQLColumn .= $itemSQL; $SQLValues .= ':' . $itemSQL; } $SQLColumn .= ')'; $SQLValues .= ')'; $sql = 'INSERT INTO eval_ccpc_resultats' . $SQLColumn . ' VALUES ' . $SQLValues; $res = $db->prepare($sql); if ($res->execute($formData)) { // On met à jour les filtres pour le stage sur le période donnée eval_ccpc_applyFilter($formData['service'], $formData['promotion'], DatetimeToTimestamp($formData['debutStage']), DatetimeToTimestamp($formData['finStage'])); return true; } else { return false; } }
} if (count($erreur) == 0 && isset($sql)) { $res = $db->prepare($sql); $res->execute($postData); $tempGet = $_GET; unset($tempGet['action']); if ($action == 'edit' && $filtreData['query'] != $postData['query']) { foreach ($filtreData['detected'] as $detected) { foreach ($detected as $servicesDetected) { foreach ($servicesDetected as $serviceDetectedData) { if ($serviceDetectedData['promotion'] != 0) { $promotion = $serviceDetectedData['promotion']; } else { $promotion = FALSE; } eval_ccpc_applyFilter($serviceDetectedData['service']['id'], $serviceDetectedData['promotion'], $serviceDetectedData['date']['debut'], $serviceDetectedData['date']['fin']); } } } } header('Location: ' . ROOT . CURRENT_FILE . '?' . http_build_query($tempGet)); } } } // Téléchargement des fiches PDF if (isset($_GET['dateDebut']) && isset($_GET['dateFin']) && isset($_GET['serviceId']) && ($_GET['serviceId'] == 'all' && isset($filtreData['detected'][$_GET['dateFin']][$_GET['dateDebut']]) || is_numeric($_GET['serviceId']) && isset($filtreData['detected'][$_GET['dateFin']][$_GET['dateDebut']][$_GET['serviceId']]) && count($filtreData['detected'][$_GET['dateFin']][$_GET['dateDebut']][$_GET['serviceId']]) > 0)) { if (isset($_GET['download']) && isset($allowedDownloadAction[$_GET['download']])) { $action = $allowedDownloadAction[$_GET['download']]; $serviceId = $_GET['serviceId']; if (isset($filtreData['promotion']) && count(checkPromotion($filtreData['promotion'], array())) == 0) { $promotion = $filtreData['promotion'];