Example #1
0
 if (isset($_POST['upload']) && isset($_FILES['csv']) && $_POST['upload'] == 'ok') {
     $fileName = explode('.', $_FILES['csv']['name']);
     if (is_file($_FILES['csv']['tmp_name']) && ($csv = fopen($_FILES['csv']['tmp_name'], 'r') && $fileName[count($fileName) - 1] == 'csv')) {
         // Récupération de la liste à partir du CSV
         $affectations = readCSV($_FILES['csv']['tmp_name'], ';', FALSE);
         /* On parcours le fichier $affectations et :
          *	   - On enregistre dans l'array $affectationsOk['insert'] les valeurs  prêtes à être insérées
          *    - On enregistre dans l'array $affectationsOk['erreur'] les valeurs qui posent probleme et qui ne doivent pas être insérées
          */
         $affectationOk['insert'] = array();
         $affectationOk['erreur'] = array();
         foreach ($affectations as $affectationId => $affectationData) {
             if (count($affectationData) >= 4) {
                 $erreurAffectation = checkAffectationInsertData(getUserIdFromNbEtudiant($affectationData[0]), $affectationData[1], $affectationData[2], $affectationData[3], array());
                 if (count($erreurAffectation) == 0) {
                     $affectationOk['insert'][$affectationId] = array('etudiant' => getUserIdFromNbEtudiant($affectationData[0]), 'service' => $affectationData[1], 'dateDebut' => $affectationData[2], 'dateFin' => $affectationData[3]);
                 } else {
                     $affectationOk['erreur'][$affectationId] = $erreurAffectation;
                 }
             }
         }
         // On stocke les données dans un $_SESSION afin de les rendre ré-utilisable dans le page de traitement
         $_SESSION['affectations'] = array();
         $_SESSION['affectations']['data'] = $affectationOk;
         $_SESSION['affectations']['rawdata'] = $affectations;
     } else {
         $erreur[8] = TRUE;
     }
 } else {
     if (isset($_POST['valid']) && $_POST['valid'] == 1) {
         // Liste les erreurs qui ont eu lieu
Example #2
0
 // On parcours l'array $_SESSION['users']['insert'] et on les insert
 if (isset($_SESSION['users']['update'])) {
     foreach ($_SESSION['users']['update'] as $userDataId => $userData) {
         $tempErreur = array();
         $tempErreur = checkUserInsertData($userData, $tempErreur);
         // On verifie la validité des données
         // On ajoute les données manquantes
         if (!isset($userData['prenom'])) {
             $userData['prenom'] = '';
         }
         if (!isset($userData['promotion'])) {
             $userData['promotion'] = 'NULL';
         }
         if (count($tempErreur) == 1 && isset($tempErreur['exist'])) {
             // On récupère l'id de l'utilisateur
             $userId = getUserIdFromNbEtudiant($userData['nbEtu']);
             if (isset($userId) && is_numeric($userId) && count(checkUser($userId, array())) == 0) {
                 $sql = 'UPDATE user SET nbEtudiant = ?, nom = ?, prenom = ?, mail = ?, promotion = ?, rang = ? WHERE id = ?';
                 $res = $db->prepare($sql);
                 $resT = $res->execute(array($userData['nbEtu'], strtoupper($userData['nom']), $userData['prenom'], serialize($userData['mail']), $userData['promotion'], $userData['rang'], $userId));
                 if (!$resT) {
                     $affectationsErreur[$affectationInsertId][14] = TRUE;
                     // On enregistre l'erreur
                 }
             } else {
                 $affectationsErreur[$affectationInsertId][14] = TRUE;
                 // On enregistre l'erreur
             }
         } else {
             // On enregistre les erreurs
             if (isset($tempErreur['exist'])) {
Example #3
0
/**
 * checkUserInsertData - Vérifie la validité des données d'ajout d'un profil utilisateur
 *
 * @category : checkFunction
 * @param array $userData( Données utilisateur à tester
 * @param array $erreur Array contenant la liste des erreurs rencontrées avant execution de la fonction.
 * @return array Array contenant la liste des erreurs rencontrées après execution de la fonction
 *
 * @Author Ali Bellamine
 *	 
 *  $userData : <br>
 *		"nom" => (string) nom de l'utilisateur<br>
 *		"mail" => (array) liste des adresses email de l'utilisateur<br>
 *		"nbEtu" => (string) numéro d'étudiant de l'utilisateur<br>
 *		"rang" => (int) rang de l'utilisateur, compris entre 1 (étudiant) et 2 (invités)
 */
function checkUserInsertData($userData, $erreur)
{
    // On vérifie que les champs obligatoires ont été remplis
    $required = array('nom', 'mail', 'nbEtu', 'rang');
    foreach ($required as $requiredName) {
        if (!isset($userData[$requiredName]) || $userData[$requiredName] == '') {
            $erreur[26] = TRUE;
        }
    }
    // On vérifie si l'utilisateur existe déjà
    if (count(checkUser(getUserIdFromNbEtudiant($userData['nbEtu']), array())) == 0) {
        $erreur['exist'] = TRUE;
    }
    // On récupère les infos sur la promotion
    if (isset($userData['promotion']) && count(checkPromotion($userData['promotion'], array())) != 0) {
        $erreur = checkPromotion($userData['promotion'], $erreur);
    }
    // On vérifie les mails
    if (isset($userData['mail']) && is_array($userData['mail'])) {
        foreach ($userData['mail'] as $email) {
            if (!filter_var($email, FILTER_VALIDATE_EMAIL)) {
                $erreur[19] = TRUE;
            }
        }
    } else {
        $erreur[19] = TRUE;
    }
    // On vérifie le rang
    if (isset($userData['rang']) && $userData['rang'] != 1 && $userData['rang'] != 2) {
        $erreur[28] = TRUE;
    }
    return $erreur;
}