[ ] Recherche instantanée (admin/ref)

+ étudiants
		+ lien vers dossier étudiant
	+ contraintes (si connecté et admin/master)
This commit is contained in:
xdrm-brackets 2016-01-09 17:41:42 +01:00
parent 0cfbaf31cf
commit 13ed327f4a
3 changed files with 26 additions and 15 deletions

View File

@ -43,7 +43,7 @@ $notifNotifNum = 5;
<?php
if( $_SESSION['identifiant'] != null ) // si $_SESSION['identifiant'] est défini
echo "<div class='userdata ".$_SESSION['sexe']."'>".$_SESSION['identifiant']."</div>";
echo "<div class='userdata ".$_SESSION['sexe']."' data-droits='".implode(',', $_SESSION['droits'])."'>".$_SESSION['identifiant']."</div>";
else
echo "<div class='userdata'>Connexion</div>";
?>

View File

@ -55,8 +55,15 @@ var DOM = {
};
/* VRAI = utilisateur connecté */
var connected = !( DOM.AUTH.children[0].innerHTML == 'Connexion' );
function connected(){
var udata = document.querySelector('.userdata');
if( udata == null ) return false;
if( udata.innerHTML == 'Connexion' ) return false;
// si on est connecté, on retourne les droits
return udata.dataset.droits.split(',');
}
/* [1] GESTIONNAIRES DE NAVIGATION
==============================================================*/
@ -249,7 +256,7 @@ DOM.WRAPPER.addEventListener('mousedown', function(e){ remClass(DOM.WRAPPER, 'bl
// ouvre l'interface d'authentification quand click sur bouton prévu à cet effet
DOM.LOGOUT.addEventListener('mouseup', function(e){ addClass(DOM.WRAPPER, 'blurred'); DOM.AUTH.children[1].focus(); }, false);
if( !connected ) // sur zone verte si pas connecté
if( !connected() ) // sur zone verte si pas connecté
DOM.MENU.children[0].addEventListener('mouseup', function(e){ addClass(DOM.WRAPPER, 'blurred'); DOM.AUTH.children[1].focus(); }, false);
else // sinon amène sur le profil
@ -345,7 +352,7 @@ initForm( // initialisation du formulaire de connection
function(request){ // handler
// ajout d'informations à la requête
request.level_0 = 'user';
request.level_1 = (connected) ? 'exit' : 'authentification';
request.level_1 = (connected()) ? 'exit' : 'authentification';
API.send(request, function(response){
if( response.request == 'success' )// si connection ok
@ -474,9 +481,12 @@ if( searchbar != null ){
searchbar.addEventListener('keyup', function(e){
pageM.page = 'home';
pageM.vars = ['search', e.target.value];
reload();
// admin/référent
if( connected() && ( connected().indexOf('admin') > -1 || connected().indexOf('master') < -1 ) ){
pageM.page = 'home';
pageM.vars = ['search', e.target.value];
reload();
}
}, false);

View File

@ -519,20 +519,21 @@ class groupRepo{
/**
* Fonction search : recherche dans la bae de données un utilisateur
* Pour se faire on recherche un mot clé contenu dans le nom ou le prénom de l'utilisateur
/* Recherche des étudiants avec un mot clé
*
* @keyword<String> Mot clé en question
*
*
* @return results<Array> Tableau contenant les étudiants matchant le mot clé
* FALSE si une erreur occure
*
* @param $mot: le mot clé de la recherche associée
* @return le tableau des résultats, ou false en cas d'erreur
*==================================================================================================>
*/
public static function search($keyword){
//Vérification du paramètre:
// Vérification du paramètre
if( !checkParam($keyword, '<string>') ) return false;
//On recherche dans la table utilisateur dans les noms et prénoms qui contiendraient une ccurence de "mot"
// On recherche dans la table utilisateur dans les noms et prénoms qui contiendraient une occurence de "keyword"
$statement = DataBase::getPDO()->prepare("SELECT *
FROM utilisateur
WHERE nom LIKE :a