Code-cleaning
This commit is contained in:
parent
5ed18444fc
commit
b4d0d3eaf0
|
@ -1482,29 +1482,21 @@ class DataBase{
|
||||||
|
|
||||||
*****************************************************************************************************/
|
*****************************************************************************************************/
|
||||||
|
|
||||||
public static function searchForUsers($nom){
|
public function searchForUsers($keyword){
|
||||||
|
|
||||||
|
$results = groupRepo::search($keyword);
|
||||||
|
|
||||||
|
// si aucun erreur, on retourne FAUX
|
||||||
|
if ( !$results ) return false;
|
||||||
|
|
||||||
$retour = groupRepo::search($nom);
|
|
||||||
if (!$retour || $retour === array()) {
|
|
||||||
return false;
|
|
||||||
}
|
|
||||||
else {
|
|
||||||
//On classe les résultats en fonction de si c'est un étudiant ou bien un professeur
|
//On classe les résultats en fonction de si c'est un étudiant ou bien un professeur
|
||||||
$etudiants = array();
|
foreach ($results as $num=>$user) {
|
||||||
foreach ($retour as $num => $user) {
|
// On supprime tous les non-étudiants
|
||||||
//On supprime tous les administrateurs des résultats
|
if( $user['droits'] != 'student')
|
||||||
if($user['droits'] == 'admin'){
|
unset($results[$num]);
|
||||||
unset($retour[$num]);
|
|
||||||
}
|
|
||||||
//On récupère les étudiants dans un tableau différent et on efface les entrées dans le tableau retour
|
|
||||||
elseif ($user['droits'] == 'student') {
|
|
||||||
$etudiants[] = $user;
|
|
||||||
unset($retour[$num]);
|
|
||||||
}
|
|
||||||
}
|
|
||||||
$retour[] = $etudiants;
|
|
||||||
return array_values($retour);
|
|
||||||
}
|
}
|
||||||
|
|
||||||
|
return $results;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
|
|
|
@ -256,27 +256,20 @@ class groupsManager{
|
||||||
/***********************/
|
/***********************/
|
||||||
case 'search':
|
case 'search':
|
||||||
//On vérifie qu'on a bien les mots clés
|
//On vérifie qu'on a bien les mots clés
|
||||||
if (isset($request->keywords) && $request->keywords != '') {
|
if( isset($request->keywords) ){
|
||||||
//On explode les mots clés
|
//On explode les mots clés
|
||||||
$keys = explode(' ', $request->keywords);
|
$keys = explode(' ', $request->keywords);
|
||||||
|
|
||||||
//Pour chaque mot clé on lance une recherche dans la bdd
|
//Pour chaque mot clé on lance une recherche dans la bdd
|
||||||
foreach ($keys as $mot) {
|
foreach ($keys as $keyword){
|
||||||
$retour = null;
|
|
||||||
//On cherche d'abord en fonction du nom...
|
//On cherche d'abord en fonction du nom...
|
||||||
$retour = DataBase::searchForUsers($mot);
|
$answer->results = DataBase::getInstance()->searchForUsers($keyword);
|
||||||
//Si il y a un résultat de recherche alors on le stock dans résultat
|
|
||||||
if ($retour === false) {
|
$answer->request = (is_bool($answer->results)) ? 'error' : 'success';
|
||||||
$answer->results = null;
|
|
||||||
}
|
|
||||||
else {
|
|
||||||
$answer->results = $retour;
|
|
||||||
}
|
|
||||||
}
|
|
||||||
}
|
|
||||||
else {
|
|
||||||
$answer->request = 'no_keywords';
|
|
||||||
}
|
}
|
||||||
|
}else
|
||||||
|
$answer->request = 'error';
|
||||||
break;
|
break;
|
||||||
|
|
||||||
|
|
||||||
|
|
|
@ -527,20 +527,23 @@ class groupRepo{
|
||||||
* @return le tableau des résultats, ou false en cas d'erreur
|
* @return le tableau des résultats, ou false en cas d'erreur
|
||||||
*==================================================================================================>
|
*==================================================================================================>
|
||||||
*/
|
*/
|
||||||
public static function search($mot){
|
public static function search($keyword){
|
||||||
|
|
||||||
//Vérification du paramètre:
|
//Vérification du paramètre:
|
||||||
if (! checkParam($mot, '<string>')) {
|
if( !checkParam($keyword, '<string>') ) return false;
|
||||||
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 ccurence de "mot"
|
||||||
$statement = DataBase::getPDO()->prepare("SELECT * FROM utilisateur".
|
$statement = DataBase::getPDO()->prepare("SELECT *
|
||||||
" WHERE nom LIKE :nom OR :prenom OR nom = :mot OR prenom = :mot ;");
|
FROM utilisateur
|
||||||
$ret = $statement->execute(array(':nom' => '%'.$mot.'%',
|
WHERE nom LIKE :a
|
||||||
':prenom' => '%'.$mot.'%',
|
OR prenom LIKE :b");
|
||||||
':mot' => $mot));
|
$statement->execute(array(
|
||||||
if($ret)
|
':a' => '%'.$keyword.'%',
|
||||||
return $statement->fetchAll();
|
':b' => '%'.$keyword.'%'
|
||||||
return false;
|
));
|
||||||
|
|
||||||
|
return DataBase::delNumeric( $statement->fetchAll() );
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
|
|
|
@ -203,7 +203,7 @@ if( permission('admin') ){ // si on est admin
|
||||||
|
|
||||||
echo "<section name='search' data-title='recherche'>";
|
echo "<section name='search' data-title='recherche'>";
|
||||||
|
|
||||||
var_dump($keywords);
|
var_dump($answerEtu->results);
|
||||||
|
|
||||||
echo "</section>";
|
echo "</section>";
|
||||||
|
|
||||||
|
|
Loading…
Reference in New Issue