Exemple #1
0
/**
 * eval_ccpc_getFilterDetails - Retourne les informations relatives à un filtre à partir de son identifiant
 *
 * @category : eval_ccpc_functions
 * @param int $id Identifiant du filtre
 * @return array Array contenant les informations relatives au filtre
 * 
 * @Author Ali Bellamine
 *
 * Contenu de l'array retourné :<br>
 *	['id'] => (int) Identifiant du filtre<br>
 *	['nom'] => (string) Nom du filtre<br>
 *	['query'] => (string) Requête relative au filtre<br>
 *	['promotion'] => (int) 1 si le filtre prend en compte la promotion de l'utilisateur, 0 si il ne le prend pas en compte<br>
 *	['mail']['titre'] => (string) Objet des mails automatiques envoyés à partir du filtre<br>
 *	['mail']['objet'] => (string) Contenu des mails automatiques envoyés à partir du filtre<br>
 *	['icone'] (optionnel) => (string) Chemin vers l'icone du filtre
 *	['detected'][timestamp de la borne supérieure de l'intervalle temporel de la période détectée][timestamp de la borne inférieure de l'intervalle temporel de la période détectée][id du service][] (optionnel) => (array) informations relatives au service détecté
 *
 */
function eval_ccpc_getFilterDetails($id)
{
    if (count(eval_ccpc_checkFiltre($id, array())) == 0) {
        global $db;
        $filtre = array();
        /**
        						Informations relative aux réglages du filtre
        					**/
        $sql = 'SELECT id filtreId,nom filtreNom, query filtreQuery, promotion promotion, mail_titre filtreMailTitre, mail_objet filtreMailObjet, icone icone FROM eval_ccpc_filtres WHERE id = ? LIMIT 1';
        $res = $db->prepare($sql);
        $res->execute(array($id));
        if ($res_f = $res->fetch()) {
            $filtre['id'] = $res_f['filtreId'];
            $filtre['nom'] = $res_f['filtreNom'];
            $filtre['query'] = $res_f['filtreQuery'];
            $filtre['promotion'] = $res_f['promotion'];
            $filtre['mail']['titre'] = $res_f['filtreMailTitre'];
            $filtre['mail']['objet'] = $res_f['filtreMailObjet'];
            if (isset($res_f['icone'])) {
                $filtre['icone'] = $res_f['icone'];
            } else {
                $filtre['icone'] = '';
            }
        }
        /**
        						Liste des stages détectés par le filtre
        					**/
        $sql = 'SELECT id, id_service serviceId, debutStage dateDebut, finStage dateFin, promotion promotion FROM eval_ccpc_filtres_detected WHERE id_filtre = ?';
        $res = $db->prepare($sql);
        $res->execute(array($filtre['id']));
        // De la forme : $filtre['detected'][timestamp supérieur de l'intervale][timestamp inférieur de l'intervale][id du service]
        while ($res_f = $res->fetch()) {
            $filtre['detected'][DatetimeToTimestamp($res_f['dateFin'])][DatetimeToTimestamp($res_f['dateDebut'])][$res_f['serviceId']]['id'] = $res_f['id'];
            $filtre['detected'][DatetimeToTimestamp($res_f['dateFin'])][DatetimeToTimestamp($res_f['dateDebut'])][$res_f['serviceId']]['filtre']['id'] = $filtre['id'];
            $filtre['detected'][DatetimeToTimestamp($res_f['dateFin'])][DatetimeToTimestamp($res_f['dateDebut'])][$res_f['serviceId']]['service']['id'] = $res_f['serviceId'];
            $filtre['detected'][DatetimeToTimestamp($res_f['dateFin'])][DatetimeToTimestamp($res_f['dateDebut'])][$res_f['serviceId']]['date']['debut'] = DatetimeToTimestamp($res_f['dateDebut']);
            $filtre['detected'][DatetimeToTimestamp($res_f['dateFin'])][DatetimeToTimestamp($res_f['dateDebut'])][$res_f['serviceId']]['date']['fin'] = DatetimeToTimestamp($res_f['dateFin']);
            $filtre['detected'][DatetimeToTimestamp($res_f['dateFin'])][DatetimeToTimestamp($res_f['dateDebut'])][$res_f['serviceId']]['promotion'] = $res_f['promotion'];
        }
        // On trie les services par ordre décroissant
        if (isset($filtre['detected'])) {
            krsort($filtre['detected']);
            foreach ($filtre['detected'] as $key => $value) {
                krsort($filtre['detected'][$key]);
            }
        }
        return $filtre;
    } else {
        return FALSE;
    }
}
Exemple #2
0
// On récupère les donnée propre au filtre sélectionnée
if (isset($_GET['filtreId']) && count(eval_ccpc_checkFiltre($_GET['filtreId'], array())) == 0) {
    $filtreData = eval_ccpc_getFilterDetails($_GET['filtreId']);
}
/**
		2. Traitement des données de formulaire
	**/
$error = array();
// Suppression d'un filtre
if ($action == 'delete') {
    // URL où rediriger à la fin
    $tempGET = $_GET;
    unset($tempGET['filtreId']);
    unset($tempGET['action']);
    $redirectURL = ROOT . CURRENT_FILE . '?' . http_build_query($tempGET);
    if (isset($_GET['filtreId']) && count(eval_ccpc_checkFiltre($_GET['filtreId'])) == 0) {
        $sql = 'DELETE FROM eval_ccpc_filtres WHERE id = ?';
        $res = $db->prepare($sql);
        $res->execute(array($_GET['filtreId']));
        header('Location: ' . $redirectURL);
    } else {
        header('Location: ' . $redirectURL);
    }
}
// Ajout et edition des filtres
if (isset($_POST) && count($_POST) > 0) {
    $postData = array();
    if ($action == 'add' || $action == 'edit') {
        // On récupère l'image uploadée
        if (isset($_FILES['icone']) && $_FILES['icone']['error'] == UPLOAD_ERR_OK) {
            $imgName = uniqid() . '_' . $_FILES['icone']['name'];