Code-cleaning

This commit is contained in:
xdrm-brackets 2016-01-09 17:02:54 +01:00
parent 5ed18444fc
commit b4d0d3eaf0
4 changed files with 37 additions and 49 deletions

View File

@ -1482,29 +1482,21 @@ class DataBase{
*****************************************************************************************************/
public static function searchForUsers($nom){
public function searchForUsers($keyword){
$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
$etudiants = array();
foreach ($retour as $num => $user) {
//On supprime tous les administrateurs des résultats
if($user['droits'] == 'admin'){
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);
$results = groupRepo::search($keyword);
// si aucun erreur, on retourne FAUX
if ( !$results ) return false;
//On classe les résultats en fonction de si c'est un étudiant ou bien un professeur
foreach ($results as $num=>$user) {
// On supprime tous les non-étudiants
if( $user['droits'] != 'student')
unset($results[$num]);
}
return $results;
}

View File

@ -256,27 +256,20 @@ class groupsManager{
/***********************/
case 'search':
//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
$keys = explode(' ', $request->keywords);
//Pour chaque mot clé on lance une recherche dans la bdd
foreach ($keys as $mot) {
$retour = null;
foreach ($keys as $keyword){
//On cherche d'abord en fonction du nom...
$retour = DataBase::searchForUsers($mot);
//Si il y a un résultat de recherche alors on le stock dans résultat
if ($retour === false) {
$answer->results = null;
}
else {
$answer->results = $retour;
}
$answer->results = DataBase::getInstance()->searchForUsers($keyword);
$answer->request = (is_bool($answer->results)) ? 'error' : 'success';
}
}
else {
$answer->request = 'no_keywords';
}
}else
$answer->request = 'error';
break;

View File

@ -527,20 +527,23 @@ class groupRepo{
* @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:
if (! checkParam($mot, '<string>')) {
return false;
}
if( !checkParam($keyword, '<string>') ) return false;
//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".
" WHERE nom LIKE :nom OR :prenom OR nom = :mot OR prenom = :mot ;");
$ret = $statement->execute(array(':nom' => '%'.$mot.'%',
':prenom' => '%'.$mot.'%',
':mot' => $mot));
if($ret)
return $statement->fetchAll();
return false;
$statement = DataBase::getPDO()->prepare("SELECT *
FROM utilisateur
WHERE nom LIKE :a
OR prenom LIKE :b");
$statement->execute(array(
':a' => '%'.$keyword.'%',
':b' => '%'.$keyword.'%'
));
return DataBase::delNumeric( $statement->fetchAll() );
}

View File

@ -203,7 +203,7 @@ if( permission('admin') ){ // si on est admin
echo "<section name='search' data-title='recherche'>";
var_dump($keywords);
var_dump($answerEtu->results);
echo "</section>";