Ejemplo n.º 1
0
/**
 * updateEvaluationsTypes - Vérifie la validité des modules d'évaluation installés et met à jours leurs données d'installation
 *
 * @category : evaluationFunction
 *
 * @Author Ali Bellamine
 */
function updateEvaluationsTypes()
{
    /*
    	Préparation des variables
    */
    global $db;
    // Base de donnée
    $listEvaluationsType = array();
    // Array contenant la liste des évaluations
    // On charge la liste des plugins contenues dans le dossier evaluations
    if ($pluginsEvaluations = scandir($_SERVER['DOCUMENT_ROOT'] . LOCAL_PATH . '/evaluations')) {
        foreach ($pluginsEvaluations as $file) {
            if (is_dir($_SERVER['DOCUMENT_ROOT'] . LOCAL_PATH . '/evaluations/' . $file) && $file != '..' && $file != '.') {
                /**
                						Pour chaque évaluation, on l'enregistre dans la variable $listEvaluationsType et on enregistre ses informations
                					**/
                $listEvaluationsType[$file]['dossier'] = $file;
                // dossier de l'évaluation
                /*
                	Récupèration du nom de l'évaluation dans le fichier XML
                */
                if (is_file($_SERVER['DOCUMENT_ROOT'] . LOCAL_PATH . '/evaluations/' . $file . '/MANIFEST.xml')) {
                    if ($manifest = simplexml_load_file($_SERVER['DOCUMENT_ROOT'] . LOCAL_PATH . '/evaluations/' . $file . '/MANIFEST.xml')) {
                        $listEvaluationsType[$file]['nom'] = $manifest->nom->__toString();
                    }
                } else {
                    $listEvaluationsType[$file]['nom'] = false;
                }
                /*
                	On vérifie que le type d'évaluation contient les fichiers nécessaire à son fonctionnement, si les 2 conditions suivantes sont validées on met la variable "valid" sur 1 :
                		-  Présence des fichiers : displayEvaluation.php, displayEvaluationResult.php
                		- Présence de la variable $listEvaluationsType[$file]['nom']
                */
                if (is_file($_SERVER['DOCUMENT_ROOT'] . LOCAL_PATH . '/evaluations/' . $file . '/displayEvaluation.php') && is_file($_SERVER['DOCUMENT_ROOT'] . LOCAL_PATH . '/evaluations/' . $file . '/displayEvaluationResult.php') && (isset($listEvaluationsType[$file]['nom']) && $listEvaluationsType[$file]['nom'] != false)) {
                    $listEvaluationsType[$file]['valid'] = 1;
                } else {
                    $listEvaluationsType[$file]['valid'] = 0;
                }
            }
        }
    }
    /*
    	On charge la liste des évaluations déjà enregistrées
    */
    $bddEvaluationTypeList = getEvaluationTypeList();
    foreach ($bddEvaluationTypeList as $bddEvaluationType) {
        /*
        	Pour chaque plugin :
        		- Soit elle existe dans le dossiers evaluations :
        			* Elle est identique en tout point: on la supprime de l'array $listEvaluationsType
        			* Elle présente une différence : on met à jour les données de la BDD puis on la supprime de l'array $listEvaluationsType
        		- Soit elle n'existe pas :  on met la variable valid sur 0
        */
        if (isset($bddEvaluationType['dossier']) && isset($listEvaluationsType[$bddEvaluationType['dossier']])) {
            if ($listEvaluationsType[$bddEvaluationType['dossier']]['valid'] == $bddEvaluationType['actif'] && $listEvaluationsType[$bddEvaluationType['dossier']]['nom'] == $bddEvaluationType['nom'] && $listEvaluationsType[$bddEvaluationType['dossier']]['dossier'] == $bddEvaluationType['dossier']) {
                // On supprime le type de l'array $listEvaluationsType
                unset($listEvaluationsType[$bddEvaluationType['dossier']]);
            } else {
                // On met à jour le type d'évaluation dans la BDD
                if ($listEvaluationsType[$bddEvaluationType['dossier']]['nom']) {
                    $sql = 'UPDATE typeevaluation SET nom =  "' . $listEvaluationsType[$bddEvaluationType['dossier']]['nom'] . '", actif = "' . $listEvaluationsType[$bddEvaluationType['dossier']]['valid'] . '" WHERE nomDossier = "' . $listEvaluationsType[$bddEvaluationType['dossier']]['dossier'] . '" LIMIT 1';
                } else {
                    $sql = 'UPDATE typeevaluation SET actif = "' . $listEvaluationsType[$bddEvaluationType['dossier']]['valid'] . '" WHERE nomDossier = "' . $listEvaluationsType[$bddEvaluationType['dossier']]['dossier'] . '" LIMIT 1';
                }
                // On stock la requête dans l'array $listEvaluationsType
                $listEvaluationsType[$bddEvaluationType['dossier']]['sql'] = $sql;
            }
        } else {
            $listEvaluationsType[$bddEvaluationType['dossier']]['dossier'] = $res_f['dossier'];
            $listEvaluationsType[$bddEvaluationType['dossier']]['valid'] = 0;
            $listEvaluationsType[$bddEvaluationType['dossier']]['sql'] = 'UPDATE typeevaluation SET actif = 0 WHERE nomDossier = "' . $bddEvaluationType['dossier'] . '" LIMIT 1';
        }
    }
    // On parcours l'array, si des requêtes sont en attente, on les execute, sinon on réalise des insert
    if (isset($listEvaluationsType) && count($listEvaluationsType) > 0) {
        foreach ($listEvaluationsType as $evaluationType) {
            if (isset($evaluationType['sql'])) {
                $res = $db->query($evaluationType['sql']);
                unset($listEvaluationsType[$evaluationType['dossier']]);
            } else {
                if ($evaluationType['valid'] == 1) {
                    $sql = 'INSERT INTO typeevaluation (nom, nomDossier, actif) VALUES (
								"' . $evaluationType['nom'] . '",
								"' . $evaluationType['dossier'] . '",
								"' . $evaluationType['valid'] . '"
							)';
                    echo $sql;
                    $db->query($sql);
                    unset($listEvaluationsType[$evaluationType['dossier']]);
                }
            }
        }
    }
}
Ejemplo n.º 2
0
	Affiche la liste des modules d'évaluations intallés et permet d'en régler la confidentialité
*/
/**
	Routage selon la variable action
**/
$allowedAction = array('list', 'set');
if (isset($_GET['action']) && in_array($_GET['action'], $allowedAction)) {
    $action = $_GET['action'];
} else {
    $action = 'list';
}
/**
		1. Récupération des données
	**/
$pageUtilisateurs = getPageUrl('adminUtilisateurs');
$listeModules = getEvaluationTypeList();
if ($action == 'set') {
    if (isset($listeModules[$_GET['id']])) {
        $moduleData = $listeModules[$_GET['id']];
    } else {
        header('Location: ' . ROOT . CURRENT_FILE . '?page=' . $_GET['page']);
    }
}
/**
		2. Traitement du formulaire
	**/
if (isset($_POST) && count($_POST) && $action == 'set') {
    $allowedValue = array(0, 1);
    $update = array();
    for ($n = 1; $n <= 4; $n++) {
        if (isset($_POST['result_access_' . $n]) && in_array($_POST['result_access_' . $n], $allowedValue) && $_SESSION['rang'] >= $n) {
Ejemplo n.º 3
0
	GNU General Public License for more details.

	You should have received a copy of the GNU General Public License along
	with this program; if not, write to the Free Software Foundation, Inc.,
	51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA.
**/
/*
	26/02/15 - viewResult.php - Ali Bellamine
	Page chargé d'afficher les résultats des formulaires d'évaluation
*/
require '../../core/main.php';
require '../../core/header.php';
/*
	Récupération de la liste des type d'évaluation installés
*/
$evaluationTypeList = getEvaluationTypeList();
if (count($evaluationTypeList) != 0 && !isset($_GET['evaluationType'])) {
    ?>
		<div id = "selecteurEvaluation">
		<form method = "GET" action = "<?php 
    echo ROOT . 'content/evaluation/viewResult.php';
    ?>
">
			<label for ="evaluationType" style = "float: inherit; margin: auto;"><?php 
    echo LANG_INTERFACE_SELECTEVALUATIONTYPE;
    ?>
			<select name = "evaluationType" id = "evaluationType">
				<?php 
    foreach ($evaluationTypeList as $evaluationType) {
        if ($evaluationType['actif'] == 1 && isset($evaluationType['resultRight'][$_SESSION['rang']]) && $evaluationType['resultRight'][$_SESSION['rang']] == 1) {
            ?>
Ejemplo n.º 4
0
	You should have received a copy of the GNU General Public License along
	with this program; if not, write to the Free Software Foundation, Inc.,
	51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA.
**/
/*
	16/02/15 - index.php - Ali Bellamine
	Page d'accueil des évaluations - Affiche la liste des évaluations
*/
require '../../core/main.php';
require '../../core/header.php';
/*
	1. Récupération des données
*/
// On récupère la liste des évaluations
$evals = getEvalList($_SESSION['id']);
$evalTypes = getEvaluationTypeList();
// On récupère le filtre
$defaultFilter = 'now';
$allowedFilter = array('next', 'now', 'old');
if (isset($_GET['selectTypeEvaluation']) && in_array($_GET['selectTypeEvaluation'], $allowedFilter)) {
    $filter = $_GET['selectTypeEvaluation'];
} else {
    $filter = $defaultFilter;
}
/*
	2. Affichage des données
*/
?>
	<h1><?php 
echo LANG_EVAL_LIST;
?>