예제 #1
0
                 $erreur = checkService($value, $erreur);
             }
         } else {
             if ($key == 'dateDebut' || $key == 'dateFin') {
                 // On convertit les dates si elle sont valides
                 $temp = explode('/', $value);
                 if (isset($value) && count($temp) > 3 && checkdate($temp[1], $temp[0], $temp[2])) {
                     $convertedDate = DatetimeToTimestamp(FrenchdateToDatetime($value));
                     // Date au format timestamp
                     $validDate = TRUE;
                     // Si dateDebut : on refuse le cas où la date est supérieure à la marge sup
                     if ($key == 'dateDebut' && (isset($_POST['dateFin']) && $convertedDate >= DatetimeToTimestamp(FrenchdateToDatetime($_POST['dateFin'])) || $action2 == 'edit' && $convertedDate >= $affectationData['service']['date']['fin'])) {
                         $erreur[13] = TRUE;
                         $validDate = FALSE;
                     } else {
                         if ($key == 'dateFin' && (isset($_POST['dateDebut']) && $convertedDate <= DatetimeToTimestamp(FrenchdateToDatetime($_POST['dateDebut'])) || $action2 == 'edit' && $convertedDate <= $affectationData['service']['date']['debut'])) {
                             $erreur[13] = TRUE;
                             $validDate = FALSE;
                         }
                     }
                     if ($validDate) {
                         $sqlData[$key] = TimestampToDatetime($convertedDate);
                     }
                 }
             }
         }
     }
 }
 /*
 	On enregistre les données dans la BDD
 */
예제 #2
0
파일: liste.php 프로젝트: alibell/PAS
         $erreur[17] = true;
     }
 } else {
     if ($key == 'dateDebut' || $key == 'dateFin') {
         // On convertit les dates si elle sont valides
         $temp = explode('/', $value);
         if (isset($value) && count($temp) >= 3 && checkdate($temp[1], $temp[0], $temp[2])) {
             $convertedDate = DatetimeToTimestamp(FrenchdateToDatetime($value)) + 86399;
             // Date au format timestamp
             $validDate = TRUE;
             // Si dateDebut : on refuse le cas où la date est supérieure à la marge sup
             if ($key == 'dateDebut' && (isset($_POST['dateFin']) && $convertedDate >= DatetimeToTimestamp(FrenchdateToDatetime($_POST['dateFin'])) || $action == 'edit' && $convertedDate >= $evaluation['date']['fin'])) {
                 $erreur[18] = TRUE;
                 $validDate = FALSE;
             } else {
                 if ($key == 'dateFin' && (isset($_POST['dateDebut']) && $convertedDate <= DatetimeToTimestamp(FrenchdateToDatetime($_POST['dateDebut'])) || $action == 'edit' && $convertedDate <= $evaluation['date']['debut'])) {
                     $erreur[18] = TRUE;
                     $validDate = FALSE;
                 }
             }
             if ($validDate) {
                 $sqlData[$key] = TimestampToDatetime($convertedDate);
             }
         }
     } else {
         if ($key == 'type') {
             if (count(checkEvaluationType($value, array())) == 0) {
                 $sqlData[$key] = $value;
             } else {
                 $erreur = checkEvaluationType($value, $erreur);
             }
예제 #3
0
// Fonctions propres à l'affichage des formulaires d'évaluation
/*
	0. Initialisation des variables
*/
$erreur = array();
/*
	1. Récupération des données
*/
$evaluationSettingsData = eval_ccpc_getSettings($evaluationData['id']);
/*
	2. Traitement du formulaire
*/
if (isset($_POST) && count($_POST) > 0) {
    if (isset($_POST['dateDebut']) && isset($_POST['dateFin'])) {
        $TimeStampDateDebut = DatetimeToTimestamp(FrenchdateToDatetime($_POST['dateDebut']));
        $TimeStampDateFin = DatetimeToTimestamp(FrenchdateToDatetime($_POST['dateFin']));
        if ($TimeStampDateDebut <= $TimeStampDateFin) {
            // On convertit les dates
            $evaluationSettingsData['dateDebut'] = $TimeStampDateDebut;
            $evaluationSettingsData['dateFin'] = $TimeStampDateFin;
            // On essaie d'enregistrer les réglages
            if (eval_ccpc_setSettings($evaluationSettingsData)) {
                // On valide le réglage
                validateEvaluationSettings();
            } else {
                $erreur['LANG_ERROR_CCPC_UNKNOWN'] = TRUE;
            }
        } else {
            $erreur['LANG_ERROR_CCPC_INVALIDDATE'] = TRUE;
        }
    } else {
예제 #4
0
파일: fnChecker.php 프로젝트: alibell/PAS
/**
 * checkAffectation - Vérifie la validité des données d'affectation d'un étudiant et leurs concordance avant de les ajouter dans la base de donnée
 *
 * @category : checkFunction
 * @param int $etudiant Identifiant de l'étudiant
 * @param int $service Identifiant du service
 * @param frenchdate $dateDebut Date du début de l'affectation
 * @param frenchdate $dateFin Date de fin de l'affectation
 * @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
 */
function checkAffectationInsertData($etudiant, $service, $dateDebut, $dateFin, $erreur)
{
    $serviceCheck = FALSE;
    // On récupère les données sur l'étudiant si il existe
    if (count(checkUser($etudiant, array())) == 0) {
        $userData = getUserData($etudiant);
    } else {
        $erreur = checkUser($etudiant, $erreur);
    }
    // On récupère les infos sur le service
    if (count(checkService($service, array())) == 0) {
        $serviceCheck = TRUE;
    } else {
        $erreur = checkService($service, $erreur);
    }
    // Si le service et l'étudiant sont disponibles, on vérifie que l'étudiant n'est pas déjà inscrit dans le service
    if (isset($userData) && $serviceCheck) {
        if (isset($userData['service'])) {
            foreach ($userData['service'] as $affectationId => $affectationData) {
                if (isset($affectationData['id']) && DatetimeToTimestamp(FrenchdateToDatetime($dateDebut)) == $affectationData['dateDebut'] && DatetimeToTimestamp(FrenchdateToDatetime($dateFin)) == $affectationData['dateFin']) {
                    $erreur[10] = TRUE;
                }
            }
        }
    }
    // On vérifie les dates
    if (isset($dateDebut) && (preg_match('#^([0-9]{2})([/-])([0-9]{2})\\2([0-9]{4})$#', $dateDebut, $m) == 1 && checkdate($m[3], $m[1], $m[4]))) {
        $dateDebutTimestamp = DatetimeToTimestamp($m[4] . '-' . $m[3] . '-' . $m[1]);
    } else {
        $erreur[11] = TRUE;
    }
    if (isset($dateFin) && (preg_match('#^([0-9]{2})([/-])([0-9]{2})\\2([0-9]{4})$#', $dateFin, $m) == 1 && checkdate($m[3], $m[1], $m[4]))) {
        $dateFinTimestamp = DatetimeToTimestamp($m[4] . '-' . $m[3] . '-' . $m[1]);
    } else {
        $erreur[12] = TRUE;
    }
    if (isset($dateDebutTimestamp) && isset($dateFinTimestamp) && $dateDebutTimestamp > $dateFinTimestamp) {
        $erreur[13] = TRUE;
    }
    return $erreur;
}