/** * getEvalCampaignList - Retourne la liste des campagnes d'évaluations * * @category : evaluationFunction * @return array Array contenant la liste des campagnes d'évaluations * * @Author Ali Bellamine * * Contenu de l'array retourné :<br> * [id de la campagne d'évaluation] => (array) données relative à une évaluation voir {@link getEvalData()} * */ function getEvalCampaignList() { /* Initialisation des variables */ global $db; $evalList = array(); /* On récupère la liste des campagnes d'évaluation */ $sql = 'SELECT e.id evaluationId FROM evaluation e ORDER BY e.dateDebut DESC, e.dateFin DESC, e.nom ASC'; if ($res = $db->query($sql)) { while ($res_f = $res->fetch()) { $evalList[$res_f['evaluationId']] = getEvalData($res_f['evaluationId']); } return $evalList; } else { return FALSE; } }
$listeAnnee = array(); $sql = "SELECT year(dateDebut) dateDebut, year(dateFin) dateFin FROM `evaluation` GROUP BY year(dateDebut), year(dateFin)"; // On récupère la liste des années pour lesquelles il y a des évaluations $res = $db->query($sql); while ($res_f = $res->fetch()) { if (!isset($listeAnnee[$res_f['dateDebut']])) { $listeAnnee[$res_f['dateDebut']] = true; } if (!isset($listeAnnee[$res_f['dateFin']])) { $listeAnnee[$res_f['dateFin']] = true; } } } else { if ($action == 'view' || $action == 'edit' || $action == 'delete' || $action == 'userList' || $action == 'settings' || $action == 'mail') { if (isset($_GET['id']) && count(checkEvaluation($_GET['id'], array())) == 0) { $evaluation = getEvalData($_GET['id']); } else { header('Location: ' . ROOT . CURRENT_FILE . '?action=liste&erreur=' . serialize(checkEvaluation($_GET['id'], array()))); // on renvoie vers la liste des évaluations si celle sélectionnée n'existe pas } } } /** 2. Traitement des formulaires **/ if (isset($_POST) && count($_POST) > 0) { // Pour les ajout, edit, suppression -> traitement habituel des données if ($action == 'edit' || $action == 'delete' || $action == 'add') { /* Préparation des données : on crée un array contenant toutes les données, ce dernier sera ensuite parcouru pour créer la requête SQL qui sera préparée */
} } } header('Content-Type: application/json'); echo json_encode($users); } } } // Action : insertNewUserEvaluation : ajoute de nouveaux utilisateurs dans l'évaluation à partir d'un array fournit if ($action == 'insertNewUserEvaluation') { if (isset($_POST['id']) && count(checkEvaluation($_POST['id'], array())) == 0 && isset($_POST['users']) && count($_POST['users']) > 0) { $evaluationId = $_POST['id']; // ID de l'évaluation // Liste des utilisateurs déjà enregistré pour évaluation if (isset($_POST['id']) && count(checkEvaluation($_POST['id'], array())) == 0) { $evaluationData = getEvalData($evaluationId); $userList = $evaluationData['users']; } // On ajoute les utilisateurs un par un foreach ($_POST['users'] as $userId) { if (count(checkUser($userId, array())) == 0 && !isset($userList[$userId])) { $sql = 'INSERT INTO evaluationregister (evaluationId, userId, evaluationStatut) VALUES (:evaluationId, :userId, 0)'; $res = $db->prepare($sql); $res_f = $res->execute(array('evaluationId' => $evaluationId, 'userId' => $userId)); } } } echo 'ok'; } // Action : deleteEvaluation : ne marche que si l'évaluation est non remplis if ($action == 'deleteEvaluation') {
4. : Chargement du script **/ /** 1. Vérification de l'existence du formulaire **/ if (isset($_GET['id']) && is_numeric($_GET['id'])) { $erreur = checkRegisterEvaluation($_GET['id'], $erreur); } else { $erreur[4] = true; } /** 2. Verification de l'installation du plugin **/ if (count($erreur) == 0) { $evaluationRegisterData = getEvalRegisterData($_GET['id']); $evaluationData = getEvalData($evaluationRegisterData['evaluation']['id']); $evaluationData['register'] = $evaluationRegisterData; $erreur = checkEvaluationType($evaluationData['type']['id'], $erreur); } /** 3. Verification que le formulaire n'a pas déjà été complété **/ // Récupération des informations sur les évaluations de l'utilisateur $evaluationList = getEvalList($_SESSION['id']); // On enregistre une erreur si l'utilisateur a déjà remplis le formulaire if (isset($evaluationList[$evaluationData['id']]['remplissage']['valeur']) && $evaluationList[$evaluationData['id']]['remplissage']['valeur'] == true) { $erreur[6] = true; } // On enregistre une erreur si la période de remplissage du script ne correspond pas if (time() < $evaluationList[$evaluationData['id']]['date']['debut'] || time() > $evaluationList[$evaluationData['id']]['date']['fin']) { $erreur[24] = true;