55 lines
1.5 KiB
PHP
55 lines
1.5 KiB
PHP
<?php require_once __ROOT__.'/manager/security.php';
|
|
|
|
|
|
class searchManager {
|
|
|
|
|
|
function search($request, $answer) {
|
|
//On vérifie les paramètres
|
|
if (!isset($request->keywords) || $request->keywords == '' || !checkParam($request->keywords, '<string>') {
|
|
$answer->request = 'error_keyword';
|
|
return null;
|
|
}
|
|
|
|
//Récupération des mots clés envoyés
|
|
$key = explode(' ', $request->keywords);
|
|
|
|
//Cas d'utilisation 1 : ADMINISTRATEUR
|
|
if (permission('admin') || permission('master')) {
|
|
//Préparation de la variable contenant les résultats
|
|
$resultats = array('prof' => array(), 'etudiant' => array(),'module' => array(), 'groupe' => array());
|
|
|
|
//Recherche du nom de l'étudiant - prénom de l'étudiant (dans les deux ordres)
|
|
$etudiants = Database::
|
|
|
|
//Recherche du nom de l'enseignant - prénom de l'enseignant
|
|
$profs = Database::listeUtilisateursRole();
|
|
foreach ($profs as $prof) {
|
|
foreach ($key as $mot) {
|
|
//On regarde s'il y a correspondance avec les différents paramètres de recherche
|
|
if (strpos(strtolower($prof['prenom']), strtolower($mot)) !== false
|
|
|| strpos(strtolower($prof['nom']), strtolower($mot)) !== false ) {
|
|
$resultats['prof'][] = $prof;
|
|
}
|
|
}
|
|
}
|
|
|
|
//Recherche dans le nom du module - numéro module
|
|
$modules = Database::getExhaustiveModuleList();
|
|
foreach ($mud as $mod) {
|
|
if (strpos(strtolower($mod['prenom']), strtolower($mot)) !== false) {
|
|
$resultats['prof'][] = $prof;
|
|
}
|
|
}
|
|
|
|
//Recherche dans le nom du groupe
|
|
$groupes
|
|
}
|
|
|
|
|
|
}
|
|
}
|
|
|
|
|
|
|
|
?>
|