Example #1
0
/**
 * 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;
    }
}
Example #2
0
        }
        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'];